Miniposter PRO v2 by Sander

03 апрель 2020, Пятница
1 723
0
Miniposter PRO v2 by Sander

Автоматическое создание уменьшенных копий изображений. Автор модуля - Sander. Добавляю его сюда, потому что он уже давно был слит в паблик. Но с маленьким исключением - он оформлен под плагин DLE.

После загрузки плагина запустите файл site.ru/keygen.php для генерации ключа, который надо будет прописать в файл - \engine\mods\miniposter\config.php.

Пример использования:
{poster src='{image-1}' default='/uploads/mini/noimage.jpg' width='170' height='250' q='80' zoom='no' jpg='yes'}

Все параметры кроме src не обязательны, так же все параметры по умолчанию можно заменить в config.php этого модуля.

В комментарии архива добавлен текст по установке модуля, но всё это прописано в в самом плагине.

miniposter_v2_plugin.zip [34,26 Kb] (cкачиваний: 24)


Хак адаптирующий значение доп.поля если в нем прописана картинка с 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]"}


////////////////////////
Правка для того что бы имя было как у картинки а не генерировалось числами.
Открываем /engine/mods/miniposter/index.php находим
$type = explode(".",$src);

Выше вставляем:
$nameimg_end = explode("/", $src);
$nameimg_end = end($nameimg_end);
$nameimg_end = explode(".", $nameimg_end);
unset($nameimg_end[count($nameimg_end)-1]);
$nameimg_end = implode($nameimg_end);

Далее ищем:
$image_name = substr($image_name,2,50);

Меняем на:
$image_name = $nameimg_end . "." . $type;

miniposter_v2_plugin_original_file_name.zip [34,29 Kb] (cкачиваний: 6)

////////////////////////
Правка для повышения четкости картинки. Эта правка требует библиотеку GD 2.1.0 или выше.
Открываем /engine/mods/miniposter/index.php находим
imagedestroy($image);

Ниже вставляем:
$sharpenMatrix = array
(array(-1.2, -1, -1.2),array(-1, 20, -1),array(-1.2, -1, -1.2)
);
$divisor = array_sum(array_map('array_sum', $sharpenMatrix));$offset = 0;
imageconvolution($poster, $sharpenMatrix, $divisor, $offset);

miniposter_v2_plugin_original_file_name__gd.zip [34,39 Kb] (cкачиваний: 6)

Источник

Внимание! У Вас нет прав для просмотра скрытого текста.
Комментарии:
Прокомментировать
Модули для создания киносайта и не только на базе DataLife Engine, и многое другое...
Просто блог Евгения Попова, он же - byroot © 2020