Почему плагин? Ну его удобнее втыкать куда-нибудь - в альбом например.
Класс традиционно был стырен из свободных источников. Хелп оформлен на английском.
Зачем оно надо? К примеру у вас есть люди которые умеют добавлять картинки в альбом но не умеют нашлепнуть копирайт на них, я решил немного "автоматизировать" процесс нашлепки водного знака. Причем делать это будут те кто будет смотреть картинки

Метод: плагин подхватывает урл или полный путь картинки (см. хелп к плагину), нашлепывает водный знак в указанном месте, сохраняет "проштампованный" рисунок и в отдельном файле его путь (чтобы не обрабатывать повторно). Если путь рисунка есть в списке то плагин его пропускает - код обработки идет после кода сравнения. Сам плагин никаких сообщений (кроме ошибок) не выводит. Также сделан минимальный размер для предотвращения обработки мелких изображений типа thumb_big-image
Нужны замечания, предложения и конструктив.
Я сделал некий файловый БД, хорошо ли это или плохо хранить в файле список "проштампованных" картинок? С одной стороны не хотелось плодить запросы на точный поиск, с другой я боюсь если счет записей будет большим то начнутся тормоза. (хотя путь этого файла настраивается wmlist и можно "разбить" на несколько файлов - типа для каждого шаблона отдельный файл путь прописывать.
Теоретически какой то watermark есть в "Calguys Module Extensions" но как оно работает я так и не понял и не нашел, хотя использовать его было бы (наверное) предпочтительнее (да, истинно проще написать код чем разбираться в чужом).
Ну и тестинг. Я нашел время только в шаблон Альбома спробовать, вот так примерно
Code: Select all
{* Big Picture *}
<div style="text-align:center">
{watermark watermarkedimg=`$picture->picture` wmposition='BL'}
<p class="bigpicturecaption"><strong>{$picture->name}</strong><br />
{$picture->comment}<br />
<span class="bigpicturenav">
{if $link.picture.previous}<a href="{$link.picture.previous}" title="Previous picture">< Previous</a>{/if}
<span class= "albumpicturecount">( Picture {$picturenumber}/{$picturecount} )</span>
{if $link.picture.next}<a href="{$link.picture.next}" title="Next picture">Next ></a></span>{/if}
</p>
<a href="" onmouseover="SMR_setLink(this);" target="_blank"><img src="{$picture->picture}" alt="{$picture->name|escape:'html'} - {$picture->comment|escape:'html'}" onload="SMR_resize(this, {$max_image_size});" title="{$picture->name|escape:'html'} - {$picture->comment|escape:'html'}" /></a>
</div>
{/if}
Так что забирайте (нужно убрать txt и положить в папку plugins) но как обычно - никаких гарантий и претензий по работе плагина (особенно за испорченные картинки

UPD добавлена другая версия, также плагин есть в Downloads->Tags