[Beta] Водяной знак на вложенные изображения

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Romnik
phpBB 2.0.3
Сообщения: 387
Стаж: 15 лет 7 месяцев
Откуда: Москва/Выдропужск
Благодарил (а): 44 раза
Поблагодарили: 76 раз

Re: [Beta] Водяной знак на вложенные изображения

Сообщение Romnik »

Обновил. Спасибо. Уже лучше ...
Аватара пользователя
Slash
phpBB 2.0.10
Сообщения: 794
Стаж: 15 лет 7 месяцев
Благодарил (а): 101 раз
Поблагодарили: 79 раз

Re: [Beta] Водяной знак на вложенные изображения

Сообщение Slash »

Sheer, теперь ошибки не засыпают!
А как можно отключить наложение водного знака на расширение .gif? А то при добавленном знаке картинка перестает быть анимацией...
Пробовал так:

Код: Выделить всё

$img = imagecreatefromgif($this->destination_file) !== false;
imagegif($im, $this->destination_file) !== false;
Знак не наклеивается, картинка анимирует, но получаю кучу сообщений от дебага:

Код: Выделить всё

 ► Источник
Язык: ru	Страница: posting.php?mode=reply&f=34&t=673
Файл: [ROOT]/includes/functions_upload.php
Строка: 541	[PHP Warning]

imagesx() expects parameter 1 to be resource, boolean given	
► Источник
Язык: ru	Страница: posting.php?mode=reply&f=34&t=673
Файл: [ROOT]/includes/functions_upload.php
Строка: 542	[PHP Warning]

imagesy() expects parameter 1 to be resource, boolean given	
► Источник
Язык: ru	Страница: posting.php?mode=reply&f=34&t=673
Файл: [ROOT]/includes/functions_upload.php
Строка: 600	[PHP Warning]

imagecopy() expects parameter 1 to be resource, boolean given	
► Источник
Язык: ru	Страница: posting.php?mode=reply&f=34&t=673
Файл: [ROOT]/includes/functions_upload.php
Строка: 450	[PHP Warning]

imagegif() expects parameter 1 to be resource, boolean given	
► Источник
Язык: ru	Страница: posting.php?mode=reply&f=34&t=673
Файл: [ROOT]/includes/functions_upload.php
Строка: 506	[PHP Warning]

imagesx() expects parameter 1 to be resource, boolean given	
► Источник
Язык: ru	Страница: posting.php?mode=reply&f=34&t=673
Файл: [ROOT]/includes/functions_upload.php
Строка: 507	[PHP Warning]

imagesy() expects parameter 1 to be resource, boolean given
Спасибо.
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: [Beta] Водяной знак на вложенные изображения

Сообщение Shredder »

Raisin писал(а):А как можно отключить наложение водного знака на расширение .gif? А то при добавленном знаке картинка перестает быть анимацией...
Это можно сделать только при наличии imagemagick. Если на сервере только GD - можно сушить вёсла.

Добавлено спустя 5 минут 24 секунды:
Watermark on animated gif with php
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: [Beta] Водяной знак на вложенные изображения

Сообщение Sheer »

bumbr писал(а):дать возможность Пользователю
Done! Обновить мод [Beta] Водяной знак на вложенные изображения

Добавлено спустя 2 минуты 21 секунду:
Raisin писал(а):как можно отключить наложение водного знака на расширение .gif?
Обновить мод. Или
./includes/functions_upload.php
Найти и удалить

Код: Выделить всё

				case 'gif':
					$img = imagecreatefromgif($this->destination_file);
				break;
Найти и удалить

Код: Выделить всё

					case 'gif':
						imagegif($im, $this->destination_file);
					break;
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
bumbr
phpBB 1.4.4
Сообщения: 129
Стаж: 15 лет 3 месяца
Откуда: Беларусь
Благодарил (а): 44 раза
Поблагодарили: 24 раза

Re: [Beta] Водяной знак на вложенные изображения

Сообщение bumbr »

Чудесно, пойду избавляться от Advanced_Attach_Watermark, а то мне только водяной знак надо был. Большое спасибо.

Добавлено спустя 19 минут 36 секунд:
Только надо наверно это

Код: Выделить всё

'S_WM_ENABLE'			=> (isset($config['img_create_watermark']) && isset($config['img_create_watermark']) && $config['img_create_watermark'] && $config['user_confirm_watermark']) ? true : false,
заменить на это

Код: Выделить всё

'S_WM_ENABLE'			=> (isset($config['img_create_watermark']) && isset($config['user_confirm_watermark']) && $config['img_create_watermark'] && $config['user_confirm_watermark']) ? true : false,
и по инструкции вот это Open: styles/adm/style/acp_attachments.html на это Open: adm/style/acp_attachments.htm
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: [Beta] Водяной знак на вложенные изображения

Сообщение Sheer »

Да, верно. Исправил, архив перезалит.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
bumbr
phpBB 1.4.4
Сообщения: 129
Стаж: 15 лет 3 месяца
Откуда: Беларусь
Благодарил (а): 44 раза
Поблагодарили: 24 раза

Re: [Beta] Водяной знак на вложенные изображения

Сообщение bumbr »

У меня получилось что если:
Включить функцию «водяного знака» -> Да
Разрешить выбор пользователя -> Нет
То $wm_lock не установлен вот тут

Код: Выделить всё

// Image Watermark Mod Start -->
		if ($this->is_image() && $config['img_create_watermark'] && $wm_lock)
		{
			$this->watermark_images($this->extension);
		}
// <-- Image Watermark Mod End

т.к. он только через POST определяется

Код: Выделить всё

// Image Watermark Mod Start -->
	global $wm_lock;
	$wm_lock			= (isset($_POST['wm_chk'])) ? true : false;
// <-- Image Watermark Mod End
Аватара пользователя
Slash
phpBB 2.0.10
Сообщения: 794
Стаж: 15 лет 7 месяцев
Благодарил (а): 101 раз
Поблагодарили: 79 раз

Re: [Beta] Водяной знак на вложенные изображения

Сообщение Slash »

Sheer писал(а):Найти и удалить
Если удалить, то загрузка вообще будет не доступна для этого формата. Так же и с новой версией - если в админке не выбирать его для наложения водного знака, то картинку нельзя будет закачать.
Я имел введу, чтоб можно было закачать, а знак для этого формата не накладывался или накладывался, но что анимация оставалась анимацией. Спасибо.
Я не много хочу?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: [Beta] Водяной знак на вложенные изображения

Сообщение Sheer »

bumbr писал(а):т.к. он только через POST определяется
Бр.... чё-то перемудрил. Ща гляну....
Raisin
В новой версии осуществляется проверка на "анимированность." GIF -закачать можно, если разрешено, а анимированный - никогда.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
bumbr
phpBB 1.4.4
Сообщения: 129
Стаж: 15 лет 3 месяца
Откуда: Беларусь
Благодарил (а): 44 раза
Поблагодарили: 24 раза

Re: [Beta] Водяной знак на вложенные изображения

Сообщение bumbr »

Блин, криво я написал.
$wm_lock будет false, если опция Разрешить выбор пользователя установлена в Нет, т.к через POST ничего не передалось.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: [Beta] Водяной знак на вложенные изображения

Сообщение Sheer »

Да я понял... ща исправлю.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
bumbr
phpBB 1.4.4
Сообщения: 129
Стаж: 15 лет 3 месяца
Откуда: Беларусь
Благодарил (а): 44 раза
Поблагодарили: 24 раза

Re: [Beta] Водяной знак на вложенные изображения

Сообщение bumbr »

Сделал пока так, это:

Код: Выделить всё

// Image Watermark Mod Start -->
		if ($this->is_image() && $config['img_create_watermark'] && $wm_lock)
		{
			$this->watermark_images($this->extension);
		}
// <-- Image Watermark Mod End
поменял на это:

Код: Выделить всё

// Image Watermark Mod Start -->
		if ($this->is_image() && isset($config['img_create_watermark']) && $config['img_create_watermark'] && ((isset($config['user_confirm_watermark']) && $config['user_confirm_watermark']) ? $wm_lock : $config['img_create_watermark']))
		{
			$this->watermark_images($this->extension);
		}
// <-- Image Watermark Mod End
всё вроде бы нормально, но как-то некрасиво — колбаса в колбасе.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: [Beta] Водяной знак на вложенные изображения

Сообщение Sheer »

Найти

Код: Выделить всё

		if ($this->is_image() && $config['img_create_watermark'] && $wm_lock)
Добавить перед

Код: Выделить всё

		if (!isset($config['user_confirm_watermark']) || !$config['user_confirm_watermark'])
		{
			$wm_lock = true;
		}
В posting.php должно быть так

Код: Выделить всё

// Image Watermark Mod Start -->
	'S_WM_ENABLE'			=> (isset($config['img_create_watermark']) && isset($config['img_create_watermark']) && isset($config['user_confirm_watermark']) && $config['user_confirm_watermark']) ? true : false,
	'S_WM_CREATE_CHECKED'   => ($wm_post_checked) ? ' checked="checked"' : '',
// <-- Image Watermark Mod End
Архив с модом перезалит.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Romnik
phpBB 2.0.3
Сообщения: 387
Стаж: 15 лет 7 месяцев
Откуда: Москва/Выдропужск
Благодарил (а): 44 раза
Поблагодарили: 76 раз

Re: [Beta] Водяной знак на вложенные изображения

Сообщение Romnik »

На аватары накладывается водяной знак.
Как исправить?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: [Beta] Водяной знак на вложенные изображения

Сообщение Sheer »

Bug fix!

Открыть ./includes/functions_user.php
Найти

Код: Выделить всё

	global $phpbb_root_path, $config, $db, $user, $phpEx;
В строке найти После в строке вставить

Код: Выделить всё

, $wm_lock
Найти

Код: Выделить всё

	// Init upload class
Перед вставить

Код: Выделить всё

	$wm_lock = false;
	$config['user_confirm_watermark'] = true;
Добавлено спустя 25 минут 1 секунду:
Архив перезалит.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Вернуться в «Бета-версии модов для phpBB 3.0.x»