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
Добавлен "чистильщик". Скрипт, который по крону удаляет старые не используемые изображения. А так же простенький интерфейс для ручного управления.
На странице выводятся все используемые размеры, размер папок и количество изображений в них.
По умолчанию "старыми" картинками считаются картинки старше 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