• 281 Attach Watermark - непотопляемый водяной знак на атачах • 
Добавляет "неотлепляемый" водяной знак на ИЗО
При создании темы о модах для двигателя форумов phpBB ветки 3.0.Х название темы должно начинаться с названия мода на английском, без указания версии, затем тире, затем короткое название мода на русском с маленькой буквы. Создание тем не о модах в данном подфоруме запрещено. Посторонние темы о двиге и посторонних проблемах для ветки 3.0.Х в соседнем подфоруме. И помните - Вам тут никто ничего не должен. При малейшем "приказном" тоне в сообщениях - бан на вечно.

    281 Attach Watermark - непотопляемый водяной знак на атачах

Сообщение Разместил Pthelovod 28 ноя 2020, 11:42

От автора -

Title: Attach Watermark
Description: Добавляет "неотлепляемый" водяной знак к вложенным изображениям.
Version: 1.0.2b
Author Username: Sheer

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  281 Attach Watermark - непотопляемый водяной знак на атачах

Сообщение Разместил Pthelovod 28 ноя 2020, 11:45

Attach Watermark

"Неотлепляемый" водяной знак.
Включается/выключается в ACP-->СООБЩЕНИЯ-->ВЛОЖЕНИЯ-->Настройки вложений
Там же регулируется местоположение водяного знака.


В новой версии добавлена возможность выбора пользователем создавать/не создавать водяной знак (устанавливается в ACP), а так же выбор типов изображений, для которых допускается создание водяного знака.

Водяной знак хранится в ./images/watermark.png (вложен в архив - замените своей картинкой)

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  281 Attach Watermark - непотопляемый водяной знак на атачах

Сообщение Разместил Pthelovod 28 ноя 2020, 11:52

Архив мода от автора -

Русификация на борту.

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  281 Attach Watermark - непотопляемый водяной знак на атачах

Сообщение Разместил Pthelovod 28 ноя 2020, 11:57

Небольшая добавочка от Анвара -
Небольшие изменения для инструкции. includes/functions_upload.php
Устраняем всякое возможное влияние на загрузку аватар
//Правка includes/functions_user.php (в инструкции) в дальнейшем уже не потребуется.

Найти
Код: выделить все
// Image Watermark Mod Start -->
      if (!isset($config['user_confirm_watermark']) || !$config['user_confirm_watermark'])
      {
         $wm_lock = true;
      }
      if ($this->is_image() && isset($config['img_create_watermark']) && $config['img_create_watermark'] && $wm_lock)
      {
         $this->watermark_images($this->extension);
      }
// <-- Image Watermark Mod End

Заменить на
Код: выделить все
// Image Watermark Mod Start -->
      if (!isset($config['user_confirm_watermark']) || !$config['user_confirm_watermark'])
      {
         $wm_lock = true;
      }
      if ($this->is_image() && isset($config['img_create_watermark']) && $config['img_create_watermark'] && $wm_lock && $_GET['mode'] != "avatar")
      {
         $this->watermark_images($this->extension);
      }
// <-- Image Watermark Mod End

Исключаем проблему с загрузкой анимации gif
Анимация всё равно будет загружена, пусть даже без наложения изображения.
Найти
Код: выделить все
      if ($this->is_ani($this->destination_file))
      {
         $this->error[] = sprintf($user->lang[$this->upload->error_prefix . 'ANIMATE_GIF_WM_INWALID'], $this->destination_file);
      }

Заменить на
Код: выделить все
      if ($this->is_ani($this->destination_file))
      {
         $wn_types = false;
         $type = false;
      }

Ну и конечно в language/язык/common.php правку ANIMATE_GIF_WM_INWALID уже тоже не придётся делать.
На изображения будет наложен разный watermark, из расчёта размера изображений
spacer.gif- Можно изменить на другое изображение в gif.
Найти
Код: выделить все
         $water = imagecreatefrompng('images/watermark.png');

Вставить после
Код: выделить все
         if (imagesx($img) < imagesx($water)*3)
         {
            $water = imagecreatefrompng('images/watermark_med.png');
            if (imagesx($img) < imagesx($water)*3)
            {
               $water = imagecreatefrompng('images/watermark_mini.png');
               if (imagesx($img) < imagesx($water)*3)
               {
                  $water = imagecreatefrompng('images/watermark_zero.png');
                  if (imagesx($img) < imagesx($water)*3)
                  {
                     $water = imagecreatefromgif('images/spacer.gif');
                  }
               }
            }
         }

В случае если не возможно наложить изображение, то загрузить как есть, а не выдавать ошибку.
Найти и удалить
Код: выделить все
      else
      {
         $this->error[] = sprintf($user->lang['IMAGE_TYPE_WM_INWALID'], $type);
      }

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

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  281 Attach Watermark - непотопляемый водяной знак на атачах

Сообщение Разместил Pthelovod 28 ноя 2020, 11:58

Watermark с разными размерами
images.zip
(9.74 КБ) Скачиваний: 25

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

Вернуться в Коды и модификации для движка phpBB версий до 3.0.Х