Изменение размера изображений при загрузке в Mediawiki - PullRequest
0 голосов
/ 12 февраля 2019

Я в идеале после изменения размера и установки maxWidth и maxHeight для всех моих загрузок изображений в mediawiki.

Просматривая документацию различных страниц в mediawiki, я не могу найтивсе, что говорит, что вы можете редактировать в любом случае изображения, загруженные на сайт, созданный на mediaWiki

У меня нет проблем с написанием какого-то пользовательского PHP, но на самом деле я понятия не имею, с чего начать искать в mediaWiki.

Мои мысли: imagemagick аналогично this :

I think you need the > flag on the resize:

convert -size 300x200 xc:red   small.png
convert -size 1000x500 xc:blue large.png
Now convert them both to 800x600 with no flags:

convert small.png -resize 800x600 a.png   # 800x533
convert large.png -resize 800x600 b.png   # 800x400
Now with flags:

convert small.png -resize 800x600\> a.png # 300x200
convert large.png -resize 800x600\> b.png # 800x400

Но, опять же, я не вижу, где вы можете запустить это после загрузки изображения, чтобы изменить файлыразмеры.

Любая помощь будет фантастической.

1 Ответ

0 голосов
/ 27 февраля 2019

Вы можете попробовать с правильно подключенным расширением: https://www.mediawiki.org/wiki/Manual:Hooks/UploadForm:BeforeProcessing или https://www.mediawiki.org/wiki/Manual:Hooks/UploadVerifyFile

Редактировать:

этот пример, чтобы поместить в конец LocalSettings.php добавить логотипв правом верхнем углу загружаемых файлов:

$wgHooks['UploadForm:BeforeProcessing'][]=function(&$upload) { 
    $fictmp = $upload->mUpload->getTempPath();
    $newtmp = tempnam("/tmp", "tmp");
    $mylogo = "/path/to/my/logo/220px-SNice.svg.png";
    exec("composite -gravity NorthEast $mylogo $fictmp $newtmp" );
    copy($newtmp, $fictmp);
    unlink($newtmp);
    return true;
};
...