Miniposter PRO v2 by Sander для DLE

Miniposter PRO v2 by Sander

Miniposter PRO v2 by Sander

Автоматическое создание уменьшенных копий изображений.
Этот модуль является продолжением модуля Miniposter PRO.
У них немного разная реализация, но цель они выполняют одну.

Одной из основополагающих различий является принцип обработки. В прошлой версии существование файла на сервере выполнялось через апачем через htaccess. Но у кого стоял чистый ngnix мне так и не удалось ничего придумать, чтобы с ним справиться.
В этой версии подобной проблемы нету. Обработка изображений выполняется в основном исполнительном файле index.php (main.php).

Так же изменен формат подключения. Обработчик картинки работает по принципу тега cutom.
Например, у вас в шаблоне выводится картинка тегом {image-1}:
<img src="{image-1}" alt="" style="width:150px;height:90px;" />

Но картинки разных размеров или вообще с разрешением 1024х768 пикселей.
С помощью модуля можно подогнать все картинки в единый размер.

Примеры использования модуля, рекомендую внимательно ознакомиться:
1. Выравнивать картинки по ширине, высоту подгонять пропорционально:
<img src="{poster src='{image-1}' width='150'}" alt="" />

2. Выравнивать по высоте, ширину - пропорционально:
<img src="{poster src='{image-1}' height='90'}" alt="" />

3. Уменьшать и обрезать в строго заданный размер:
<img src="{poster src='{image-1}' width='150' height='90'}" alt="" />

4. Просто пересохранить картинку в том же размере, но с учетом остальных параметров (не знаю зачем, но пусть будет):
<img src="{poster src='{image-1}'}" alt="" />

5. По умолчанию качество создаваемых картинок 85, но можно задать свой параметр:
<img src="{poster src='{image-1}' width='150' height='90' q='50'}" alt="" />

6. По умолчанию, если картинка меньше заданных размеров, то она не будет увеличена, а просто обрезана по большей стороне при необходимости.
Т.е. например стоят размеры 150x90px, а картинка размером 160x70px. Уже будет не красиво, для таких случаев можно использовать параметр zoom:
<img src="{poster src='{image-1}' width='150' height='90' zoom='yes'}" alt="" />

7. По умолчанию все картинки сохраняются строго в jpg формате. Это можно отключить параметром jpg:
<img src="{poster src='{image-1}' width='150' height='90' jpg='no'}" alt="" />

8. Если параметр src не задан или картинка по каким-либо причинам не доступна будет выводиться изображение заглушка. Этот параметр так же можно настроить:
<img src="{poster src='{image-1}' width='150' height='90' default='/uploads/noimage_15090.jpg'}" alt="" />


Примечание по доп.полям.
Можно использовать и значение доп. поля:
<img src="{poster src='[xfvalue_poster]' width='150' height='90'}" alt="" />

где poster - имя поля.
Но только в том случае, если в доп. поле записан чистый адрес изображения без тегов.


[UPD] от 27.09.2016
Хак адаптирующий значение доп.поля если в нем прописана картинка с BB тегом img или thumb
В папке /engine/mods/ создать файл get_src.php с содержимым:
<?PHP
if(!defined('DATALIFEENGINE'))die("Hacking attempt!");
preg_match("#src=['\"](.+?)['\"]#i",$f,$img);
echo $img[1]?str_replace("/thumbs/","/",$img[1]):$f;
?>

В шаблоне выводить вместо просто [xfvalue_poster] кодом
{include file="engine/mods/get_src.php?f=[xfvalue_poster]"}



Все параметры не являются обязательными, кроме src (пример 4).
Все значения "по умолчанию" можно изменить в самом модуле:
'max_width' => 800,		//максимальная ширина минипостера
'max_height' => 800,	//максимальная высота минипостера
'quality' => 85,		//качество по умолчанию
'default' => '/uploads/mini/noimage.jpg',	//картинка по умолчанию
'allow_remote' => 1,	//разрешить обработку изображений со сторонних серверов
'zoom' => 0,	//1 - увеличивать маленькие изображения до заданных размеров. 0 - просто обрезать большую сторону при необходимости
'force_jpg' => 1,	//1 - по умолчанию сохранять только в jpg. 0 - сохранять в исходном типе


В целях профилактической безопасности добавлены параметры максимальной ширины и высоты создаваемых постеров.

Все картинки сохраняются по адресу:
/uploads/mini/{ширина}x{высота}/{системный делитель}/{кодовое имя картинки}.{расширение}

Пример:
http://kino.sandev.pro/uploads/mini/174x250/ee/e1513aa2898245f444b4e404810672.jpg
http://kino.sandev.pro/uploads/mini/290x0/6a/bfb695ad445599d18b53984e347d3b.jpg
Miniposter PRO v2 by Sander


Добавлен "чистильщик". Скрипт, который по крону удаляет старые не используемые изображения. А так же простенький интерфейс для ручного управления.
Miniposter PRO v2 by Sander

На странице выводятся все используемые размеры, размер папок и количество изображений в них.
По умолчанию "старыми" картинками считаются картинки старше 7 дней (можно изменить в самом файле).

Демо: kino.sandev.pro

Информация
Стоимость модуля 7wmz
Лицензия выдается под 3 сайта.
Стоимость дополнительной лицензии: 2wmz
Для работы модуля - требуется ionCube Loader.
Версия DLE: любая
Версия PHP: 5.3 - 5.6

Купить модуль: http://shop.sandev.pro/post/23.html

Контакты
ICQ: 404-037-556
Skype: Sander8804
E-Mail: olalod@mail.ru

С уважением,
Олег Александрович a.k.a. Sander
Купить модуль
  • Стоимость модуля: $7
  • В комплекте: 3 лицензии
  • Стоимость дополнительной лицензии: $2
Комментарии: (40)
  1. foto
    Клиент 2 июня 2016 11:40 #
    будет ли модуль работать с доп полями типа изображение в DLE11
    +1
    1. foto
      Администратор 2 июня 2016 11:58 #
      Без вмешательства в код DLE - нет.
      Этот тип поля выводит сразу сформированный код с html тегами.
      Модуль же работает только непосредственно с адресом изображения.

      Как вариант, может подойти этот хак
      0
      1. foto
        Клиент 2 июня 2016 12:25 #
        Спасибо за ответ.
        Модель выводит только ссылку на ум. картинку или в т.ч. с возможностью увеличения?)
        0
        1. foto
          Администратор 2 июня 2016 12:27 #
          Только адрес уменьшенной картинки. Увеличение делается на JS с помощью любой галереи. Хоть и стандартной dle-шной.
          0
  2. foto
    Клиент 27 сентября 2016 10:41 #
    Купил, модуль а на 11 Dle, работать отказывается ... помогите плиз, сделал всё как в инструкции
    0
    1. foto
      Администратор 27 сентября 2016 20:52 #
      Разобрались в скайпе.
      Не полностью была выполнена установка.
      +1
  3. foto
    VIP 22 ноября 2016 14:05 #
    Очень не хватает одной фишки. http://joxi.ru/brRabapHQ0MRxA
    Если бы модуль брал название исходной картинки, было бы прям очень круто.
    Как известно это в какой то мере влияет на seo ;)
    0
  4. foto
    VIP 22 ноября 2016 14:15 #
    А так же хотел задать вопрос по поводу кэширования.
    Минипостеры создаються кажый раз при обращении стр или достаточно загрузить страницу один раз? (т.е единожды сделать перестроение публ)
    0
    1. foto
      Администратор 22 ноября 2016 15:19 #
      Имя файла пока не буду переделывать.
      Файл создается один раз и он физически существует по указанному адресу.
      Пересоздан файл будет только тогда, когда будет удалена его копия.
      Удалением копии занимается крон. Крон DLE-шный, запускается раз в сутки. Удаляются картинки старше недели, настраивается в php файле.
      $too_old = 7; // days num
      +1
  5. foto
    VIP 22 ноября 2016 16:57 #
    А когда можно ожидать обновление с именем картинок?
    0
    1. foto
      Администратор 22 ноября 2016 17:00 #
      Пока не ожидается ввиду отсутствия объективной необходимости.
      0
  6. foto
    Посетитель 24 января 2017 17:20 #
    Господа, объясните мне по простому, что делает данный модуль. Из описания я не понял совершенно ничего ни как он устанавливается, ни как будет работать.

    Сейчас у меня все ссылки на сайтах (DLE) созданы с использованием конструкции
    [url=http://imgchili.net/show/98833/988335.jpg][img]http://t11.imgchili.net/98833/988335.jpg[/img][/url]


    При переходе на HTTPS все ссылки на превю стали смешанным содержимым. Можно ли с помощью этого модуля подхватить данные превю, то есть то что в тегах [img][/img] и транслировать уже как с самого сайта через HTTPS? Не перекодировать ни переформатировать ничего не требуется.
    0
    1. foto
      Администратор 24 января 2017 17:39 #
      Для решения вашей задачи модуль однозначно не годится.
      Его можно использовать только в файлах шаблона, если у вас картинка выводится отдельным тегом доп.полем или {image-1}.
      0
  7. foto
    Клиент 14 марта 2017 14:20 #
    Добрый день. Такой вопрос. Если я вывожу картинку инклудом вот так:
    {include file="engine/mods/get_src.php?f=[xfvalue_poster]"}


    То как мне прописать ширину и высоту картинки? (width='150' height='90')
    0
    1. foto
      Администратор 14 марта 2017 16:16 #
      Данный тег предназначен для вырезания адреса картинки из сформированного html кода.
      В вашем случае следует использовать такую запись:
      {poster src='{include file="engine/mods/get_src.php?f=[xfvalue_poster]"}' width='150' height='90'}


      Полный вид:
      <img src="{poster src='{include file="engine/mods/get_src.php?f=[xfvalue_poster]"}' width='150' height='90'}" alt="" />
      0
  8. foto
    Посетитель 16 марта 2017 08:33 #
    Здравствуйте. Искал хак, позволяющий выводить url картинки из доп. поля типа "несколько строк". Попал к вам на сайт. С файлом get_src.php всё работает, но есть один момент. Он выводит полный url с адресом сайта: http://сайт.ru/путь_к_картинке/ Нельзя ли вывести вот так? /путь_к_картинке/ то есть убрав в начале адрес сайта. Если возможно подскажите пожалуйста решение.
    0
    1. foto
      Администратор 16 марта 2017 13:55 #
      echo $img[1]?str_replace("/thumbs/","/",$img[1]):$f;

      Заменить на
      $src = $img[1]?str_replace("/thumbs/","/",$img[1]):$f;
      echo str_replace( $config['http_home_url'], '/' ,$src );
      0
  9. foto
    Клиент 30 марта 2017 13:25 #
    Скажите а как можно использовать этот модуль применимо к Css хочу уменьшить размер шаблонного фона?
    0
    1. foto
      Администратор 30 марта 2017 15:01 #
      Не рекомендую.
      Для фона используйте стили background-size
      0
  10. foto
    Клиент 3 апреля 2017 22:28 #
    А можно как то сделать чтобы {кодовое имя картинки} было в виде транскрипции новости?
    0
    1. foto
      Администратор 4 апреля 2017 00:24 #
      Нет. И в этом нет необходимости, кроме сомнительно-визуально-эстетической.
      0
      1. foto
        Клиент 15 мая 2017 22:56 #
        А можно ли сделать чтобы этот модуль не менял имя картинки а оставлял его прежним а к названию дописывал размер. Пример {название картинки}_200x300.jpg
        Можно так?
        0
  11. foto
    VIP 25 мая 2017 08:52 #
    В настройках качество картинки установлено значение 85, вопрос, настройки установленные по умолчанию помогут чтобы Google Speed не ругался на картинки и не пришлось их заново перезаливать?
    0
  12. foto
    Посетитель 21 сентября 2017 21:19 #
    Здравствуйте! Объясните пожалуйста, каким образом формируются каталоги для изображений? У меня есть блок на сайте, в нем выводятся рандомно 5 постов из категории, и я посмотрел, при каждой перезагрузки страницы создаётся отдельная папка для одного изображения, в некоторых по 2-3, но в основном создаётся отдельная папка для одного фото, получается этих папок может быть тысячи? Не понятно по какому принципу это происходит.
    0
  13. foto
    VIP 2 ноября 2017 22:52 #
    А можно сделать поддержку php 7 (7.1.10)
    0
    1. foto
      Администратор 6 ноября 2017 15:46 #
      Если у вас ionCube Loader версии 6.x то просто переименуйте файл лицензии с 5.6 на 7.1
      +1
      1. foto
        VIP 8 ноября 2017 07:34 #
        Спасибо
        0
      2. foto
        Посетитель 21 декабря 2017 00:29 #
        Ленивая задница не хочет перекодировать на 7ку?
        У меня куб 10ый, где я ниже найду?
        0
  14. foto
    Посетитель 6 ноября 2017 15:43 #
    Будет ли обновление модуля в ближайшее время?
    0
    1. foto
      Администратор 6 ноября 2017 15:45 #
      Я думал об этом, но не придумал, что можно в него добавить/улучшить и отказался от этой затеи.
      0
      1. foto
        Посетитель 10 ноября 2017 13:43 #
        - Наложение капчи с тонким конфигурированием прямо в строке вызова.
        - Наконец то вынести "долбанное" подключение конфига прямо в зашифрованном коде класса, во второй (не зашифрованный) файл модуля.
        - Возможность включать анимацию gif'а в параметре вызова на свой страх и риск.
        - Оптимизировать нагрузку (писал вам в скайпе о неэффективном методе работы модуля без кеширования), попутно перейти две-три иерархии директорий файлов, и перейти на sha-256 / sha-512, ибо с md5 вполне могут быть коллизии.
        - (!!!) Добавить префикс в параметры вызова (prefix="short_story_poster_150x150"), и использовать первую директорию с префиксом из параметров вызова, если не заданно, то используем дефолт из конфига. Данная штука позволяет более эффективно чистить старые изображения, при этом растягивать это на какое то время, а не всё скопом, что бы сервер не взвыл от нагрузки, а посетители не ждали генерации страницы по 5-10 секунд. Заодно видно какие тубмы сколько места занимают. И если меняешь формат вывода например постера, его размеры, качество, можно задать это в имени префикса, и отделить данный тим тумбов от остальных.
        И убрать уже из скрипта при каждом вызове изображения изменение времени последнего редактирования файла изображения, бесполезная нагрузка для бесполезного скрипта очистки "типо бесполезных изображений".
        0
        1. foto
          Посетитель 10 ноября 2017 13:44 #
          Не капчи, а вотермарка ;)
          0
  15. foto
    Клиент 15 ноября 2017 15:07 #
    Здравствуйте! Не могу оплатить модуль через интеркассу, пробовал и через карту Сбербанка и Беларусбанка, ничего. Причем ранее этим способом оплачивал другие модули. Подскажите, как можно решить эту проблему?
    PS: webmoney у меня нет, но Я могу оплачивать R кошелек через интернет/мобильный банкинг. Еще есть PayPal у меня.
    0
    1. foto
      Администратор 15 ноября 2017 18:17 #
      Затрудняюсь что-либо подсказать.
      Возможно у интеркассы какие-то неполадки.
      Попробуйте позже, лучше завтра.
      0
      1. foto
        Клиент 22 ноября 2017 15:03 #
        Интеркасса так и не заработала, в итоге оплатил через WebMoney. Установил на сайт, но вместо постеров появляется картинка 'NO IMAGE AVAILABLE'. Возможно на сервере что-то выключено ли PHP расширения не хватает.. Использую VPS хостинг. Можете глянуть, в чем дело, буду счастлив, если заработает.
        0
  16. foto
    Клиент 8 декабря 2017 11:34 #
    Как подружить Field Search v6 и Miniposter PRO v2?
    0
    1. foto
      Администратор 12 декабря 2017 20:09 #
      Обратитесь к автору модуля, чтобы он подключил эти строки в нужном месте ajax файла. Подключать нужно внизу, перед строкой echo ...
      require_once ENGINE_DIR."/mods/miniposter/index.php";
      $tpl->result['content'] = preg_replace_callback("#\\{poster(.+?)\\}#i","mpic",$tpl->result['content']); 

      где $tpl->result['content'] - переменная с контентом, заменить на свою при необходимости.
      0
  17. foto
    Гость 25 июня 2018 09:24 #
    Добрый день, подскажите пож-ста как решить проблему

    /engine/mods/miniposter/index.php:73 Stack trace: #0 [internal function]: mpic(Array) #1
    /engine/mods/miniposter/index.php(89): preg_replace_callback('#\\{poster(.+?)\\...', 'mpic', '...') #2
    /engine/modules/main.php(609): require_once('/var/www/www-ro...') #3
    /engine/init.php(1016): require_once('/var/www/www-ro...') #4
    /index.php(36): require_once('/var/www/www-ro...') #5 {main} thrown in /engine/mods/miniposter/index.php on line 73
    0
    1. foto
      Администратор 25 июня 2018 10:45 #
      Техподдержка только клиентам модуля.
      0
  18. foto
    Гость 15 октября 2019 11:48 #
    Здравствуйте подскажите как решить проблему я купилу васм модуль
    /engine/mods/miniposter/index.php:73 Stack trace: #0 [internal function]: mpic(Array) #1
    /engine/mods/miniposter/index.php(89): preg_replace_callback('#\\{poster(.+?)\\...', 'mpic', '...') #2
    /engine/modules/main.php(609): require_once('/var/www/www-ro...') #3
    /engine/init.php(1016): require_once('/var/www/www-ro...') #4
    /index.php(36): require_once('/var/www/www-ro...') #5 {main} thrown in /engine/mods/miniposter/index.php on line 73
    0
Добавить комментарий

Внимание! Все сообщения касающиеся техподдержки будут удалены или проигнорированы

Attention! All messages asking for technical support will be removed or ignored

  • Логин
  • E-mail (не обязательно)
Повторите рисунок:
antibot
© Sander-Development. 2009-2024.
При копировании, ссылка на источник обязательна.