Бесплатный плагин "Use Watermark"

Предыстория

На Кукораме мы столкнулись с тем, что люди копируя контент:
а) не ставят ссылку на источник
б) вобще выдают контент и/или фото за свои
Я противник водяных знаков, но в данной ситуации мы решили, что их использование позволит решить обе проблемы.

А что делать если пользователи не хотят видеть на своих фото наши водяные знаки? Читайте ниже.

Возможности плагина

Плагин дает пользователю возможность выбора накладывать на загружаемое изображение водяной знак или нет. Также плагин может делать бекап оригиналов закачиваемых изображений до накладывания водяного знака (на случай если вы захотите отказаться от водяных знаков или использовать оригналы изображений для других целей).

Настройки

Основные параметры прописаны в конфиге плагина. Это возможность включить/отключить создание бекапа оригинального изображения и путь к директории с бекапами:
$config = array (
    'backup_original' => 1,     //делаеть ли бекап оригинала картинки 0/1
    'path_image_original' => '___path.uploads.root___/images_original'  //путь к оригиналу
);

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

Пример работы

Он один :)


Установка

  1. Скачать архив c плагином и распаковать его в директории plugins вашего сайта (в результате должен получиться путь /plugins/usewatermark/)
  2. Создать в директории uploads папку images_original. В ней будут храниться файлы оригиналы изображений, поэтому нужно выставить права на запись. Можно задать свое название в конфиге плагина.
  3. После чего перейти на страницу example.com/admin/plugins (вместо example.com указывайте адрес своего сайта) и активировать плагин Use Watermark.

Во избежание проблем и недоразумений

  • После активации советую перезапустить memcache или очистить файловый кеш.

PS. Есть ещё shell скрипт, который накладывает водяные знаки на все существующие изображения из топиков. На cookorama.net он нормально обработал 8538 фоток. Поделюсь за небольшие деньги — пишите в личку.

114 комментариев

avatar
оО )) как раз вчера такойже начал делать ) спс +1
avatar
+ нужная вещь
avatar
Большое спасибо за отличный и очень востребованный Плагин..:)
avatar
пожалуйста. рад, что плагин будет использоваться ;)
avatar
Еще в версии 0.3 мечтал о таком) спасибо!
  • Mmka
  • 0
avatar
пожалуйста ;)
avatar
Спасибо, давно такого не хватало!
З.І. Отписал в ЛС по поводу shell скрипта!
avatar
Казалось бы, насколько простые вещи делают людей счастливее — спасибо Стёпа!
avatar
пожалуйста ;)
avatar
Здравствуйте. У меня появилась ошибка: Файл не является изображением (на самом деле является), сделал все, кроме пункта очистить кэш. Подскажите, как это сделать? Думаю, дело в этом.
avatar
В админке aceAdminpanel выбрать пункт Сброс кеша:
Очистка кеша данных
Сброс кеш-хранилища данных
Очистка кеша js- и css-файлов
Сброс кеш-хранилища js- и css-файлов
Очистка кеша Smarty
Сброс кеш-хранилища компилированных файлов Smarty

Это оно?
avatar
очень даже может быть. я не использую админку
avatar
Не помогает. В любом случае, спасибо вам за плагин, у других он работает, значит дело в моих кривых руках :)
avatar
другие могли его просто скачать и не устанавливать. попробуйте на чистом LS. если проблема имеет место быть, тогда будем разбираться.
avatar
Пробовал отключать все установленные плагины, в зависимости от способа загрузки файла появляется 3 вида ошибки:
1. Ошибка: Файл не является изображением (при указании прямой ссылки с http://)
2. Ошибка: Невозможно обработать внешний файл (при указании прямой ссылки с http://)
3. Ошибка: Невозможно обработать файл, проверьте тип и размер файла (при загрузке с жесткого диска)

Когда убираю галочку напротив «Накладывать водяной знак на картинку», те же файлы загружает без ошибки, что вполне логично :).
avatar
В общем, не бейте меня сильно, у меня не поставились права доступа к файлу. Сейчас исправил-все работает. Спасибо!
avatar
к какому файлу?
avatar
К папке images_original, извините, ошибся на радостях. :)
avatar
У меня полгода тоже не было проблем с изображениями. Но после этого плагина стал чаще видеть ошибку
Ошибка: Файл не является изображением (при указании прямой ссылки с http://)
Просьба все таки проверить это. Кэш не причем ессно.
avatar
А как без админки очистить кеш?
Директория /tmp и templates/cache это все?
Или есть еще что-то?
avatar
Черт знает, но мне достаточно стандартного вотермарка — мне не нужно выбирать, накладывать его или нет. Но за работу спасибо.
avatar
Стоит шаблон Social, поставил плагин — при нажатии на кнопку -никаких реакций(
avatar
на какую кнопку?
avatar
кнопка добавление изображения в топик
avatar
не использую шаблон Social. хз, что там может быть
avatar
Тоже использую Social и только поэтому смог разгадать задачку на проверку телепатии.
Плагин использует шаблон лиалогового окошка выгрузки картинки, добавляя в него один чекбокс.
Для шаблона Social вестимо такого файлика нет и при попытке создать окно не находится нужный шаблон — не работает кнопка выгрузки изображения («ничего не происходит»).
Лечится просто. В папке plugins/usewatermark/templates/skin создается папочка social, внутри которой создается файл window_load_img.tpl следующего содержания:
<form method="POST" action="" enctype="multipart/form-data" class="upload-form" id="form_upload_img">
	<h2>{$aLang.uploadimg}</h2>

	<p><label>{$aLang.uploadimg_file}:<br />
	<input type="file" name="img_file" value="" /></label></p>

	<p><label>{$aLang.uploadimg_url}:
	<input type="text" name="img_url" value="http://" class="input-wide" /></label></p>

	<p><label for="align">{$aLang.uploadimg_align}:</label>
	<select name="align" style="width: 100%;">
		<option value="">{$aLang.uploadimg_align_no}</option>
		<option value="left">{$aLang.uploadimg_align_left}</option>
		<option value="right">{$aLang.uploadimg_align_right}</option>
	</select></p>
	
	<p>
	<input type="checkbox" name="add_watermark" checked><label for="add_watermark">{$aLang.usewatermark_add_label}</label>
	</p>

	<p><label>{$aLang.uploadimg_title}:<br />
	<input type="text" class="input-wide" name="title" value="" /></label></p>

	<input type="button" class="submit" value="{$aLang.uploadimg_submit}" onclick="ajaxUploadImg(document.getElementById('form_upload_img'),'{$sToLoad}');" />
	<input type="button" class="submit" value="{$aLang.uploadimg_cancel}" onclick="hideImgUploadForm(); return false;" />
</form>


И всё работает. ;) Кстати, рекомендую добавить файлик в следующий релиз, заодно и в теме про шаблон Social заявив о поддержке — шаблон хорош.
avatar
Логично развить идею до ещё одного чекбокса: «Скруглять углы у картинки».
avatar
Доработал маленько, если автор разрешит, выложу версию с чекбоксом для скругления углов (пока без возможности сохранения оригинала)

Пишите в личку, если нужно
avatar
Если хотите добавить свой функционал в плагин — делайте пул реквест сюда:
github.com/stfalcon-studio/ls-plugin_usewatermark
avatar
Я в этом не разбираюсь — можно поподробнее?
avatar
посмотрите help.github.com/send-pull-requests/
тут все расписано
avatar
вроде все сделал — проверяйте =)
avatar
отписал несколько замечаний.

вобще я думаю вам лучше сделать свой плагин на базе usewatermark, с той же лицензией и с упоминанием этого факта в описании плагина.

они вполне могут независимо существовать и люди могут их устанавливать по отдельности. как вы считаете?
avatar
ок
avatar
done!

спасибо за содействие
avatar
Тоже самое на шаблоне NEW при нажатии на кнопку добавить изображения скрипт не срабатывает меню не появляется. В чем может быть причина?
avatar
Только для шаблона New вообще достаточно перекопировать файл из папки default
avatar
не помогло, создал папку new по тому пути что указано выше, скопировал туда файл что лежит в папке defaul. нет изменений.
avatar
Вот это в файл window_load_img.tpl, который в папке new:

<div style="display: none;">
<div class="login-popup upload-image" id="window_load_img">
	<div class="login-popup-top"><a href="#" class="close-block" onclick="return false;"></a></div>
	<div class="content">
		<form method="POST" action="" enctype="multipart/form-data" id="form_upload_img" >
			<h3>{$aLang.uploadimg}</h3>
			<p><label for="img_file">{$aLang.uploadimg_file}:</label><br /><input type="file" name="img_file" value="" class="w100p" /></p>
			<p><label for="img_url">{$aLang.uploadimg_url}:</label><br /><input  type="text" name="img_url" value="http://" class="w100p"/></p>
			<p><label for="align">{$aLang.uploadimg_align}:</label><br />				
				<select name="align" class="w100p">
					<option value="">{$aLang.uploadimg_align_no}</option>
					<option value="left">{$aLang.uploadimg_align_left}</option>
					<option value="right">{$aLang.uploadimg_align_right}</option>
				</select>
			</p>
			<p>
			<input type="checkbox" name="add_watermark" checked><label for="add_watermark">{$aLang.usewatermark_add_label}</label>
			</p>
			<p style="margin-bottom: 20px;"><label for="title">{$aLang.uploadimg_title}:</label><br /><input type="text" class="w100p" name="title" value="" /></p>
			<input type="button" value="{$aLang.uploadimg_submit}" onclick="ajaxUploadImg(document.getElementById('form_upload_img'),'{$sToLoad}');">
			<input type="button" value="{$aLang.uploadimg_cancel}" onclick="hideImgUploadForm(); return false;">
		</form>
	</div>
	<div class="login-popup-bottom"></div>
</div>
</div>
avatar
не помогло ( всплывающее меню так и не появилось. Отключаешь плагин — все ОК. Видимо не все учтено.
avatar
На шаблоне new все должно работать по дефолту
avatar
удивительно но как факт — не работает.
avatar
значит меняли шаблон
avatar
скорее конфликт с другим плагином, вот только выяснить с каким именно. завтра разберусь.
avatar
А как выровнять ватермарк-картинку по правому нижнему краю? Не догнал. :)
avatar
В конфиге
avatar
Спасиб кеп. А как именно?
avatar
в общем конфиге. там все написано.
avatar
В общем конфиге есть координаты от верхнего левого угла в пикселях, через запятую.
Как выровнять ватермарке относительно правого нижнего угла?

Где это в конфиге написано? В какой строке? Какими словами/значениями?
По логике это одна строчка в конфиге — так сложно её процитировать?
avatar
$config['module']['image']['default']['watermark_position']   = '-0,-0';
avatar
Спасибо. Сработало.
avatar
Сработало, но не до конца — у меня половина изображения в ширину за кадром при двух нулях с минусами.

У меня картинка 200x200px, похоже накладывается на оригинал, а потом оригинал уменьшается — так как на итоговой картинке ватермарк всего 61х61px, при этом нижний край в стык с границей картинки, а половина ватермарка по-ширине за правой границей картинки. Пробую вместо '-0,-0' задать '-120,-0' — так ватермкар отступает все указанные 120 пикселей от правого края, при том что у самого изображения ватермарка размер 61x61px :(

Пробую задать малое значени, вроде '-2,-0' — опять половина изображения ватермарка за пределами картинки.

Что за глюк? Как поюедить? Вот на кукораме ватермарк как раз снизу справа — можно на примере конкретных значений размеров картинки?
avatar
Я так и не понял природу и логику глюка, но при значении '-37,-0' квадратная картинка с ватермарком больше не вылезает за правую сторону изображения.

А есть ли способ добиться фиксированного размера ватермарка? Так как сейчас действует немного странная логика — на более квадратных изображениях (900x900px) ватермкар в итоге больше, чем на прямоугольных (1400x900px). При это при нанесении на картинки с меньшим разрешением он в итоге становится больше, чем при нанесении на картинки с большим.

Реально изменить последовательность действий при нанесениия ватермарка? Сначало ресайз, а уж потом наложение?
avatar
Решение нашлось тут trac.lsdev.ru/livestreet/changeset/1030

Чтобы сначало происходил ресайз загружаемого изображения, а уж потом накладывался ватермарк — достаточно в файле engine/modules/image/Image.class.php в 184 строке поменять true на false. 184 строчка должна выглядеть так:
false, explode(',',$aParams['watermark_position'],2)
avatar
Хочу чтобы плагин сохранял резервные копии картинок без нанесённого водяного знака в папку uploads/images_nowatermark

В конфиге оставил значение 'backup_original' => 1
Поменял путь к бэкапу картинок без ватермарка на ___path.uploads.root___/uploads/images_nowatermark
Соответствующую папку внутри uploads создал, права на запись выдал.

Картинки выгружаются, у них изменяется размер, наносится водяной знак — ошибок никаких не виндно, но в папке images_nowatermark файлов нет.
avatar
Возможно что то не так сделали, так как сейчас попробовал сделать на денвере тоже самое, точнее сменил только путь на /images_nowatermark и всё отлично загрузилось, размер не сменился.
avatar
А оригинальные изображения в отдельную папку выгрузились?
avatar
Оригинал вставляется без проблем в папку images_nowatermark без каких либо изменений (сравнивал с файлом который загружал), не одного глюка не заметил.
Тестирую на Denver.
avatar
Перепроверил всё — правильность указания пути в конфиге, права на папку, проверил значение и 0, и 1. Оригинальные изображения не сохраняются. Да, ресайзятся, ватермакрк накладывается, но вот оригинальных изображений на сервере нет.
avatar
chown -R www-data /.../images_nowatermark
и попробуй снова, должно сработать
avatar
Даже так не помогло. Принял решение, что значит мне просто не нужно хранить оригиналы выгружаемых изображений без водяного знака. :) Сама функция нанесения работает исправно — на этом пока и успокоюсь.
avatar
значит папку не создал.
смотри логи
avatar
Реально ли подружить плагин с превью картинок?
avatar
просто они оба переопределяют окно загрузки картинок
avatar
Я вот даже предложил оплатить такой труд — livestreet.ru/blog/paidorders/6790.html
avatar
А у меня не работает… Все делал по инструкции, но ничего не вышло.
avatar
Решите пожалуйста проблемы конфликтности плагина с Xtext:
livestreet.ru/blog/xtext/7321.html#comment106715
  • Mmka
  • 0
avatar
а как сделать чтоб черный прямоугольник в котором находится надпись стал более прозрачней?
avatar
совместно с шаблоном Halley перестают вообще загружаться фотографии ( можно как нибудь решить проблему?
avatar
А он поддерживается в версии 0.5.1? Заранее спасибо за ответ!
avatar
Скоро будет версия для LS 0.5.1
avatar
Ещё не появилась?
avatar
avatar
никак не могу понять, где можно изменить надпись для watermark?
обыскал все файлы, не понять.
с LiveStreet пользуюсь первый раз.
avatar
в конфиге LiveStreet. заюзайте поиск. тут обсуждалось это неоднократно
avatar
а как сделать чтоб когда через фотосессию фотки загружешь, работало?
avatar
сделайте новую задачу в репо плагина github.com/stfalcon-studio/ls-usewatermark/issues
avatar
сделал новую задачу
avatar
при создании фотосета водяной знак не накладывается
в конфиге не пробывали выставлять?
avatar
где именно? ненашел
avatar
в config.php

$config['module']['image']['default']['watermark_use']        = true;
$config['module']['image']['default']['watermark_image']      = true;
$config['module']['image']['topic']['watermark_use']  = true;
avatar
Вы не могли подробнее написать что и где делать, я только начинаю пользоваться livestreet`om/ Спасибо
avatar
stfalcon Расскажите пожалуйста как и где этом нужно делать? «сделайте новую задачу в репо плагина»
avatar
Когда вставляю картинку через обычный редактор, там есть чекбокс «Накладывать водяной знак на картинку». Водяной знак в картинку вставляется.
Однако, включаю «Использовать визуальный редактор TinyMCE» в админке, в редакторе при вставке картинки такого чекбокса нет, и, соответственно, водяной знак на картинку не накладывается…
Что делать?
avatar
допиливать плагин
или спонсировать его допиливание
avatar
А как сделать чтобы watermark накладывался в обязательном порядке без выбора накладывать или нет?
avatar
допиливать плагин
avatar
Выбираю — накладывать, а накладывается не то, что нужно(( А нужно название сайта вместо слова LiveStreet
avatar
В /config/config.php 204 строрка
$config['module']['image']['default']['watermark_text']       = 'блаблабла ©';
avatar
В 1.0 версии LS все прекрасно работает, только строка «Накладывать водяной знак ...» не отображается, но сама галочка стоит.
avatar
как в этом плагине наложить изображение? где в конфиге задается путь до ватермарка?
avatar
После установки и редактирования настроек плагина в конфиге, каким то не понятным образом появилось вот что:
<ul class="dropdown-nav-main dropdown-menu" id="dropdown-mainmenu-menu"></ul>

В файле: header_top.tpl тем самым сделал все мои менюшки в одной кнопки и при наведении выпадет меню с моими менбшками, никакой плагин для этого не ставил. Такое появилось, только после установки водяного знака и после включении округления марки!!! Так же произошел съезд верхнего меню чуток вниз в шаблоне, на моем сайте все видно, кроме выпадающего меню, убрал уже это:

speedclub.pro/
avatar
Что-то я не понял этот долбанный гугл Хром (( В нем криво, В Опере все ровно что-то бред какой-то!!!

Вот скрины
Это в ХРОМЕ


Так же в Форуме стали слишком большие буквы


Вот в Опере



Поставил в настройках Марки снова фолс, но не помогает, такое только в хроме как сами видите (((
avatar
Ой сори по стандарту эта строка и так есть там ))) Но вот сранный ХРОМ!!! Будь он проклят!
avatar
забыл так же сказать, пытался убрать лишние ссылки деактивировав форум, галерею и о нас не помогло
avatar
Неужеди это снова у меня одного такое ???
Может Вам дать еще список плагинов, которые у меня стоят?
avatar
Вот что у меня стоит:
Livestreet Profiler Plugin
Профилирование работы движка LiveStreet-движка. 1.2.0 LiveStreet Developers Team Настройки Деактивировать
LsGallery
Позволяет пользователям создавать галереи. Разработку плагина спонсировал
владелец проектов paintstrike.ru/ и airsoft.paintstrike.ru 0.3.0 Web studio stfalcon.com Деактивировать
NiceURL
Красивые урлы для топиков 2.7 LiveStreet Developers Team Деактивировать
SEO
Оптимизация сайта для поисковых систем 0.2.0 Web studio stfalcon.com Деактивировать
Sitemap
Sitemap генератор 0.3.0 Дмитрий Гадеев, Степан Танасийчук Деактивировать
Static page
Управление статическими страницами. 1.3.2 LiveStreet Developers Team Настройки Деактивировать
Use Watermark
Пользователь может использовать ватермарк по желанию 0.3.0 Web-studio stfalcon.com Деактивировать
Usertop
Блок «TOP пользователей» 1.0 vOFFka Деактивировать
Viewcount
Показывает кол-во просмотров топика. 1.0.0 NS Деактивировать
Форум
Форум для Livestreet CMS 1.0.2 Чиффа Настройки Деактивировать
avatar
Такая же хрень во всех браузерах:
IE, Mozilla, Google Chrome, Дельфин, Стандартный браузер андройид и другии.
Толька пилять в Опере все нормально (((
Ребят жду Вашей помощи, как можно это решить ???
avatar
Ну и?
Чего снова только я такой один теперь ???
avatar
Мда уж молчание ))\\

Видимо внатури я один с такой проблемой ) Как еее нахер решить со всеми другими браузерами, кто знает?
avatar
хватит флудить.
avatar
Все таки это именно из-за этого плагина (((

Только что скачал еще пару браузеров, отключил этот плагин и о чудо ) Меню снова стало ровным во всех браузерах ))) Ребят может кто решил эту проблему ???
Вот скрины старые:
livestreet.ru/blog/addons/6628.html#comment196611
avatar
Прописал такую конструкци в теле плагина:
{if $oUserCurrent and $oUserCurrent->isAdministrator()} 
<input type="checkbox" name="add_watermark" id="add_watermark" checked="checked"/><label for="add_watermark">{$aLang.plugin.usewatermark.usewatermark_add_label}</label>
{/if}

Идея в том, чтобы чекбокс видел только администратор. Обычный пользователь его не видит, но и на изображения водяной знак с такой конструкцией не накладывается. Вопрос как сделать чекбокс всегда активным и для админа и для обычного пользователя? Чтобы водяной знак накладывался всегда.
avatar
Может быть тебе сделать еще проще. Просто при создании убрать вообще эту функцию, чтобы нельзя было выбирать ставить марку или нет, чтобы она всегда накладывалась. Вот и все
avatar
попробуйте{if $oUserCurrent and $oUserCurrent->isAdministrator()}
/>{$aLang.plugin.usewatermark.usewatermark_add_label}
{else}
{/if}
avatar
попробуйте
{if $oUserCurrent and $oUserCurrent->isAdministrator()} 
<input type="checkbox" name="add_watermark" id="add_watermark" checked="checked"/><label for="add_watermark">{$aLang.plugin.usewatermark.usewatermark_add_label}</label>
{else}
<input type="hidden" value="1">
{/if}
avatar
а. к скрытому полю ещё name=«add_watermark» нужно добавить
avatar
{if $oUserCurrent and $oUserCurrent->isAdministrator()} 
<input type="checkbox" name="add_watermark" id="add_watermark" checked="checked"/><label for="add_watermark">{$aLang.plugin.usewatermark.usewatermark_add_label}</label>
{else}
<input type="hidden" value="1" name="add_watermark">
{/if}

Вот такой вариант заработал вроде. Спасибо))
avatar
Решил эту проблему проще)
В админке отключил плагин, но в настройках оставил работать. И теперь вот как у меня получилось )))

При создании топика у меня не спрашивает ставить марку или нет, а сразу при загрузки и написании молча ставится марка )

Спасибо автору за плагин и мои руки родителям )
avatar
Можете попробывать у меня на сайте как это теперь выглядит:
speedclub.pro
avatar
этот плагин будет работать вместе с плагином интеграции с amazon S3?
avatar
Что нужно в настройках вписать, что бы был ватермарк из png?
avatar
как сделать так чтоб галочка была при создании топика фотосет ??? Ну очень надо
то есть если есть галочка (то будет накладываться на фото в фотосете, если нет то нет)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.