Сообщества

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

как избавиться от watermark при работе в компоненте?

#1 21 июня 2014 в 14:20
В настройках компонента деактивирована галочка "Наносить водяной знак".
Однако все изображения, подгружаемые в блоги сообщества, в фотогалерею сообщества, получают watermark.

Как починить опцию, чтобы она влияла на результат?
В других компонентах аналогичные опции работают (влияют на результат).
#2 22 июня 2014 в 20:32
Jack Sowyer, Решили перейти на вторую версию?
#3 22 июня 2014 в 21:25

Решили перейти на вторую версию?

Lora
во второй пока нет вотермарков )
#4 22 июня 2014 в 21:35
А в первой вроде нет такого компонента-Сообщества, по крайней мере у меня.
#5 22 июня 2014 в 22:05
Поставьте вместо вотермарка маленькую прозрачную картинку, или удалите его вообще.
#6 22 июня 2014 в 22:07
Lora, наверное имелось ввиду "Клубы пользователей", там есть настройка вотермарков
#7 22 июня 2014 в 23:13

наверное имелось ввиду "Клубы пользователей", там есть настройка вотермарков

Матроскин
Благодарю.Буду знать.
#8 23 июня 2014 в 01:21
Да! Речь про компонент "Клубы пользователей v1.10.3"

Поставьте вместо вотермарка маленькую прозрачную картинку, или удалите его вообще.

Джехутимери
Это не решение вопроса. Я положим хочу, чтобы для одних компонентов вотермарки накладывались, а для других — нет.

Да и конечный результат данной темы должен заключаться в поиске и исправлении самого источника проблемы, а не изобретении костылей.
Судя по логике данный параметр компонента по какой-то причине не передается в функцию загрузки изображения...
хотя в коде присутствуют:
  1. $this->config = cmsCore::getInstance()->loadComponentConfig('clubs');
  2. ...
  3. public function initUploadClass() {
  4. cmsCore::loadClass('upload_photo');
  5. ...
  6. $inUploadPhoto->is_watermark = $this->config['photo_watermark'];
  7. ...
  8. if($this->is_watermark) { @img_add_watermark($uploadthumb['medium']); }
Для проверки заменил $inUploadPhoto->is_watermark = $this->config['photo_watermark']; на $inUploadPhoto->is_watermark = 0;
Это помогло. Вотермарк не накладывается. Как же сделать так, чтобы значение подставлялось из конфига?
#9 25 июня 2014 в 01:00
Ау, я так и не понял, кто-нить из разработчиков может прокомментировать ситуацию или нет?
Это проблема только у меня или подтвержденный баг компонента/шаблона?
#10 1 июля 2014 в 05:01
АП! Жду ответа как соловей лета!
#11 1 июля 2014 в 06:14
Jack Sowyer, видать только у Вас, у меня только что проверил, все ок. Обновитесь на 10,4 и не заморачивайтесь joke
#12 1 июля 2014 в 06:29

Как же сделать так, чтобы значение подставлялось из конфига?

Jack Sowyer
Если мне память не изменяет (лениво лезть в код проверять) следует заменить строчку
  1. $inUploadPhoto->is_watermark = $this->config['photo_watermark'];
на
  1. $inUploadPhoto->is_watermark = $this->config['watermark'];
Так это или нет — загляните в таблицу cms_clubs и посмотрите в поле конфигов, какой ключ у ватермарка.
Если все так, как вы говорите, это явный баг. Впрочем, его уже пофиксили в 10.4
#13 1 июля 2014 в 06:50
Странник, в том то и дело, что в таблице cms_components присутствует параметр именно с названием "photo_watermark".
Когда я меню параметр "Наносить водяной знак" соответствующим образом обновляется как раз этот параметр.
#14 1 июля 2014 в 07:16
Не знаю от чего зависит, но работает в общем. И так:

1. components/clubs/model.php строка 696, как писал Странник, заменить на
  1. $inUploadPhoto->is_watermark = $this->config['watermark'];
2. \admin\components\clubs\backend.php строку 64
  1. $cfg['photo_watermark'] = cmsCore::request('photo_watermark', 'int', 0);
заменить на
  1. $cfg['watermark'] = cmsCore::request('watermark', 'int', 0);
Строки 487-488
  1. <label><input name="photo_watermark" type="radio" value="1" <?php if ($cfg['photo_watermark']) { echo 'checked="checked"'; } ?>> <?php echo $_LANG['YES']; ?></label>
  2. <label><input name="photo_watermark" type="radio" value="0" <?php if (!$cfg['photo_watermark']) { echo 'checked="checked"'; } ?>> <?php echo $_LANG['NO']; ?></label>
заменить на
  1. <label><input name="watermark" type="radio" value="1" <?php if ($cfg['watermark']) { echo 'checked="checked"'; } ?>> <?php echo $_LANG['YES']; ?></label>
  2. <label><input name="watermark" type="radio" value="0" <?php if (!$cfg['watermark']) { echo 'checked="checked"'; } ?>> <?php echo $_LANG['NO']; ?></label>
#15 1 июля 2014 в 09:32
scanread, после вышеуказанных изменений настройки через адмику вообще перестали сохраняться.
Ставлю опцию ДА, сохраняю, проверяю снова — стоит НЕТ.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.