Страница 4 из 9
[3.2] IMG to Attachment
Добавлено: 07.02.2019 0:52
Sheer
Название расширения: IMG to Attachment
Автор: Sheer
Описание расширения: Преобразование изображений, находящихся на сторонних ресурсах, во вложения.
Расширение позволяет преобразовать стороннее изображение, ссылка на которое обрамлена bb-кодом
[img]
во вложение при размещении или редактировании сообщения. Возможность устанавливается глобальным правом доступа
Разное -- Может конвертировать изображения IMG во вложения
Скачать: https://github.com/AlexSheer/phpBB3.1-3 ... ttachments
Язык: Ru
img_to_att.jpg
Результат
Screenshot_2019-02-06 qsxscsc - ваш_домен ru.png
===========================
Версия с последними исправлениями:
Re: [3.2] IMG to Attachment
Re: [3.2] IMG to Attachment
Добавлено: 11.02.2019 0:46
Sheer
Щас понел...
Отправлено спустя 11 минут 50 секунд:
Не проверял, но вроде должно работать
https://github.com/AlexSheer/phpBB3.1-3 ... 02adfda34b
Re: [3.2] IMG to Attachment
Добавлено: 11.02.2019 1:08
Vlad__
И еще - при конвертации png-jpg не меняется расширение png на jpg между тегами attachment. И поменяй местами код проверки и вызова image_convert (он должен идти первым) с editor_of_attachments, чтобы водяной знак накладывался на конвертированную картинку.
Sheer писал(а): ↑11.02.2019 0:58
Не проверял, но вроде должно работать
Очепятка в коде
- sheer
Но все равно не сжимает даже при отключенном image_rotator
Видимо еще где-то ошибка в основном коде изменения размеров... уже поздно разбираться...
Re: [3.2] IMG to Attachment
Добавлено: 11.02.2019 13:45
Sheer
Vlad__ писал(а): ↑11.02.2019 1:28
И поменяй местами
Done!
Vlad__ писал(а): ↑11.02.2019 1:28
не меняется расширение png на jpg между тегами attachment
Я в курсе, но еще не придумал.
Vlad__ писал(а): ↑11.02.2019 1:28
Но все равно не сжимает даже при отключенном image_rotator
У меня сжимает. Дело в том, что включение image_rotator сбрасывает
img_max_width
и
img_max_height
в 0,
Код: Выделить всё
array('config.update', array('img_max_width', 0)),
array('config.update', array('img_max_height', 0)),
а его отключение не возвращает ранее установленные значения - проверь в админке настройки
Максимальные размеры рисунков
Re: [3.2] IMG to Attachment
Добавлено: 11.02.2019 14:25
Vlad__
Sheer писал(а): ↑11.02.2019 13:45Дело в том
Я знаю. Вчера ночью выставлял в админке обратно - не сжимало. Доберусь вечером до компа с тестовым форумом - проверю, может я что-то не так сделал. У меня стояло 1280 х 1280, не может ли равенство сторон вызвать такой проблем-с ?
Re: [3.2] IMG to Attachment
Добавлено: 11.02.2019 20:39
TrekRed
TrekRed писал(а): ↑11.02.2019 0:46
есть расширение загрузки картинок на Яндекс диск от PPK. Там ссылка при загрузке такая с тегом img:
планируется или такие типы ссылок не поддерживаются?
Re: [3.2] IMG to Attachment
Добавлено: 11.02.2019 20:45
Vlad__
Vlad__ писал(а): ↑11.02.2019 14:25
не может ли равенство сторон вызвать такой проблем-с ?
Дело не в этом. У меня не срабатывает в функции resize_image
В частности здесь:
Код: Выделить всё
switch ($ext)
{
case 'image/jpg':
$read_function = 'imagecreatefromjpeg';
break;
case 'image/png':
$read_function = 'imagecreatefrompng';
break;
case 'image/gif':
$read_function = 'imagecreatefromgif';
break;
default:
return;
}
при значении $ext jpg срабатывает default:
для его прохода подставил вместо return
Дальше споткнулось на следующем switch:
Код: Выделить всё
switch ($ext)
{
case 'image/jpg':
@imagejpeg($dest, $destination_file_name, 85);
break;
case 'image/png':
@imagepng($dest, $destination_file_name);
break;
case 'image/gif':
@imagegif($dest, $destination_file_name);
break;
}
этот участок кода вообще не работает.
Если вместо него прописать просто:
Код: Выделить всё
@imagejpeg($dest, $destination_file_name, 85);
То сжимает нормально.
С переменной $ext все в порядке. Проверял и передается как и с другими переменными.
Почему-то проблема в switch-ах.
Отправлено спустя 18 минут 33 секунды:
Vlad__ писал(а): ↑11.02.2019 20:45
С переменной $ext все в порядке.
Семен Семеныч!!!
Sheer, у тебя ошибка (очепятка) в коде, из-за которой не работает. Не image/jpg, а image/jpеg
Отправлено спустя 24 минуты 36 секунд:
И еще - расширение срабатывает при нажатии кнопки "предпросмотр". Как бы избавиться от этого?
Re: [3.2] IMG to Attachment
Добавлено: 12.02.2019 1:08
Vlad__
Sheer писал(а): ↑11.02.2019 13:45
Я в курсе, но еще не придумал.
Например так в listener.php, естественно добавив phpbb_extension_manager:
Код: Выделить всё
function ($matches) use (&$img_number)
{
$str = substr($matches[1], strrpos($matches[1], '/') + 1);
$path_parts = pathinfo($matches[1]);
$file_ext = $path_parts['extension'];
// Extension "Attached PNG Image Convert" by vlad enabled?
// https://www.phpbbguru.net/community/viewtopic.php?f=59&t=47951#p533248
if ($this->phpbb_extension_manager->is_enabled('vlad/image_convert') && $file_ext === 'png')
{
$str = substr_replace($str , 'jpg', strrpos($str , '.') +1);
}
return "[attachment=" . --$img_number . "]" . $str . "[/attachment]";
},
Отправлено спустя 26 минут 57 секунд:
И еще найден глюк. Например в сообщении уже были вложения, конвертируем строку между img:
Код: Выделить всё
[attachment=0]Photographer_Barnstar1.jpg[/attachment]
[attachment=1]Photographer_Barnstar2.jpg[/attachment]
[attachment=2]Photographer_Barnstar3.jpg[/attachment]
[img]https://Site/Photographer_Barnstar4.jpg[/img]
Получаем:
Код: Выделить всё
[attachment=0]Photographer_Barnstar1.jpg[/attachment]
[attachment=1]Photographer_Barnstar2.jpg[/attachment]
[attachment=2]Photographer_Barnstar3.jpg[/attachment]
[attachment=0]Photographer_Barnstar4.jpg[/attachment]
Т.е. добавленный attachment = 0
Re: [3.2] IMG to Attachment
Добавлено: 12.02.2019 21:47
Sheer
Vlad__ писал(а): ↑11.02.2019 21:28
Не image/jpg, а image/jpеg
Fixed!
Vlad__ писал(а): ↑12.02.2019 1:34
И еще найден глюк
Fixed!
Vlad__ писал(а): ↑11.02.2019 1:28
не меняется расширение png на jpg между тегами attachment
Fixed!
Vlad__ писал(а): ↑11.02.2019 21:28
расширение срабатывает при нажатии кнопки "предпросмотр". Как бы избавиться от этого?
Не уверен, что всем это надо.
Открыть listener.php
Найти
Код: Выделить всё
$event['preview'] = ($upload) ? $upload : $preview;
Заменить на
Код: Выделить всё
// $event['preview'] = ($upload) ? $upload : $preview;
Найти
Заменить на
Код: Выделить всё
if ($this->auth->acl_get('u_convert_img') && !$event['preview'])
Re: [3.2] IMG to Attachment
Добавлено: 12.02.2019 22:11
Vlad__
Sheer писал(а): ↑12.02.2019 21:47Fixed!
Во втором switch пропустил.
Re: [3.2] IMG to Attachment
Добавлено: 12.02.2019 23:17
Sheer
Re: [3.2] IMG to Attachment
Добавлено: 13.02.2019 22:14
AABur
Хорошее полезное расширение. Но с Lightshot оно не справится.
Возможно вам известно какое-то другое решение для Lightshot? (на phpbb я не нашёл)
Re: [3.2] IMG to Attachment
Добавлено: 14.02.2019 3:14
Vlad__
Sheer, посмотри на кусок кода в listener.php
Код: Выделить всё
if ($upload)
{
$message_parser = $event['message_parser'];
$attachments = array();
$attachment_data = $message_parser->attachment_data;
Имхо последняя строка должна быть
Код: Выделить всё
attachments = $message_parser->attachment_data;
Re: [3.2] IMG to Attachment
Добавлено: 14.02.2019 10:01
Pazh
AABur писал(а): ↑13.02.2019 22:14Lightshot
они возвращают не ссылку на изо, а ссылку на страницу свою
Re: [3.2] IMG to Attachment
Добавлено: 14.02.2019 10:04
Vlad__
И ещё нужно поправить глючек. Например я создаю новое сообщение и стандартно загружаю вложение, затем вставляю ссылку в текст [attachment=0..., затем помещаю следующую ccылку между [img и ставлю галочку конвертировать её. В итоге получаем первый [attachment= не 0, а = 1. Если стандартно загружено два вложения, то 3 и т.д. В общем, все сбивается. Повторюсь, это если новое сообщение, когда редактировать уже сохраненное с прикрепленными атачами, то все нормально.
Re: [3.2] IMG to Attachment
Добавлено: 14.02.2019 13:03
Sheer