Внимание!
Не все расширения для phpBB 3.2 совместимы с phpBB 3.3, главным образом из-за неверного синтаксиса в определениях сервисов (отсутствия обрамляющих кавычек - '...').
Перед обновлением необходимо убедиться в совместимости всех расширений.
Рекомендуется предварительно тестировать обновление на копии конференции (локально или на сервере).

[3.2] IMG to Attachment

Все расширения, созданные нашим сообществом для phpBB, как находящиеся в разработке, так и прошедшие валидацию на официальном сайте phpbb.com, будут анонсированы тут. Вся техническая поддержка по этим расширениям оказывается в этом форуме.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Vlad__
phpBB 2.0.6
Сообщения: 510
Стаж: 3 года 6 месяцев
Благодарил (а): 258 раз
Поблагодарили: 47 раз

Re: [3.2] IMG to Attachment

Сообщение Vlad__ »

Sheer писал(а):
14.02.2019 13:03
Вроде пофиксил
Теперь вылез другой глюк. Атачи после конвертации отображаются наоборот.

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11569
Стаж: 13 лет 4 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2611 раз

Re: [3.2] IMG to Attachment

Сообщение Sheer »

Проверял на локалке, вроде все ок. Очисти кеш браузера.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

TrekRed
phpBB 2.0.3
Сообщения: 391
Стаж: 1 год 10 месяцев
Благодарил (а): 55 раз
Поблагодарили: 13 раз

Re: [3.2] IMG to Attachment

Сообщение TrekRed »

Sheer,
TrekRed писал(а):
11.02.2019 20:39
планируется или такие типы ссылок не поддерживаются?

Vlad__
phpBB 2.0.6
Сообщения: 510
Стаж: 3 года 6 месяцев
Благодарил (а): 258 раз
Поблагодарили: 47 раз

Re: [3.2] IMG to Attachment

Сообщение Vlad__ »

Sheer, очистил. То же самое. В тексте:

Код: Выделить всё

[img]https://site/cXBs7ivB-Fk.jpg[/img]
[img]https://site/]vo_CDk5HvOg.jpg[/img]
конвертируем, получаем вроде правильно:

Код: Выделить всё

[attachment=1]cXBs7ivB-Fk.jpg[/attachment]
[attachment=0]vo_CDk5HvOg.jpg[/attachment]
но вложение cXBs7ivB-Fk.jpg почему-то привязано к

Код: Выделить всё

 [attachment=0]vo_CDk5HvOg.jpg[/attachment]
т.к. оно реально attachment=0 и идет первым снизу списка вложений.
а vo_CDk5HvOg.jpg привязывается к

Код: Выделить всё

[attachment=1]cXBs7ivB-Fk.jpg[/attachment]
если их удалять - удаляется строка наоборот. И почему вложения маленькими буквами vo_cdk5hvog.jpg а между атачами получается vo_CDk5HvOg.jpg как в ссылке?

Отправлено спустя 55 минут 43 секунды:
Vlad__ писал(а):
14.02.2019 14:12
очистил. То же самое. В тексте:
Поправка. Такое происходит при нажатии на кнопку "предпросмотр" (я ей проверяю конвертацию), после сохранения поста все становится в нужном порядке.

Аватара пользователя
igorbond
phpBB 3.0.9
Сообщения: 2689
Стаж: 8 лет 5 месяцев
Благодарил (а): 625 раз
Поблагодарили: 126 раз

Re: [3.2] IMG to Attachment

Сообщение igorbond »

В общем если часть картинок в теме есть, а части нет, то тех которых нет отображаются вот так при замене [attachment=-1]85.jpg[/attachment]
Изображение

Vlad__
phpBB 2.0.6
Сообщения: 510
Стаж: 3 года 6 месяцев
Благодарил (а): 258 раз
Поблагодарили: 47 раз

Re: [3.2] IMG to Attachment

Сообщение Vlad__ »

У меня если картинки нет:

Код: Выделить всё

[img]https://site/PNgefuaDT_4.jpg[/img]
[img]https://site/cXBs7ivB-Fk.jpg[/img] - здесь битая например ссылка
[img]https://site/vo_CDk5HvOg.jpg[/img]
получается вот так:

Код: Выделить всё

[attachment=2]PNgefuaDT_4.jpg[/attachment]
[attachment=1]cXBs7ivBFk.jpg[/attachment]
[attachment=0]vo_CDk5HvOg.jpg[/attachment]
Все вроде нормально, но в [attachment=1 конвертируется и битая ссылка, а так как вложений загружается не три, а два, то они съезжают: первая сверху картинка PNgefuaDT_4.jpg, которая становится не третьим, а вторым вложением, прикрепляется к [attachment=1 (второй битой ссылке) и если ссылки по ходу текста получается каша.

Отправлено спустя 15 минут 50 секунд:
igorbond писал(а):
14.02.2019 18:52
отображаются вот так при замене
Ты наверное еще не изменил расширение согласно сегодняшних последних правок. Но все равно будет другая проблема, которую я описал выше.

Отправлено спустя 1 час 24 минуты 10 секунд:
Vlad__ писал(а):
14.02.2019 15:08
Такое происходит при нажатии на кнопку "предпросмотр" (я ей проверяю конвертацию), после сохранения поста все становится в нужном порядке.
При нажатии кнопки "предпросмотр" ссылки конвертируются, но атачи распологаются так - первая картинка в тексте становится атачем 0, последняя - номером например 3, верхней в списке атачей. После сохранения поста они меняются - первая становится 3, а последняя самой нижней в списке атачей - 0 и распологаются нормально согласно [attachment= в теле сообщения.

Аватара пользователя
ronim
phpBB 2.0.4
Сообщения: 433
Стаж: 2 года 5 месяцев
Откуда: Таллин ,Эстония
Благодарил (а): 109 раз
Поблагодарили: 68 раз

Re: [3.2] IMG to Attachment

Сообщение ronim »

Еще включение этого расширения меняет ( у меня )с безопасного на вот такое
sh.png
sh.png (11.29 КБ) 403 просмотра
Если ты не видишь проблем на форуме , но это не значить что их там нет

Vlad__
phpBB 2.0.6
Сообщения: 510
Стаж: 3 года 6 месяцев
Благодарил (а): 258 раз
Поблагодарили: 47 раз

Re: [3.2] IMG to Attachment

Сообщение Vlad__ »

Vlad__ писал(а):
14.02.2019 21:17
При нажатии кнопки "предпросмотр" ссылки конвертируются, но атачи распологаются так - первая картинка в тексте становится атачем 0, последняя - номером например 3, верхней в списке атачей. После сохранения поста они меняются - первая становится 3, а последняя самой нижней в списке атачей - 0 и распологаются нормально согласно [attachment= в теле сообщения.
Пофиксил. Может это и костыль, т.к. не понял - дело в расширении или в самом движке?, но все-таки... Меняем в listener.php:

Код: Выделить всё

$attachments = $attachments = $message_parser->attachment_data;
на

Код: Выделить всё

$attachments = array_reverse($message_parser->attachment_data);
и

Код: Выделить всё

$event['message_parser']->attachment_data = $attachments;
на

Код: Выделить всё

$event['message_parser']->attachment_data = array_reverse($attachments);
Отправлено спустя 1 час 59 минут 49 секунд:
И еще глюкофича - если поставить галочку Загрузить IMG, то можно сохранить совершенно пустое сообщение. Не ругнется на "ваше сообщение слишком короткое" ;)

Vlad__
phpBB 2.0.6
Сообщения: 510
Стаж: 3 года 6 месяцев
Благодарил (а): 258 раз
Поблагодарили: 47 раз

Re: [3.2] IMG to Attachment

Сообщение Vlad__ »

Vlad__ писал(а):
14.02.2019 21:17
Все вроде нормально, но в [attachment=1 конвертируется и битая ссылка, а так как вложений загружается не три, а два, то они съезжают: первая сверху картинка PNgefuaDT_4.jpg, которая становится не третьим, а вторым вложением, прикрепляется к [attachment=1 (второй битой ссылке) и если ссылки по ходу текста получается каша.
Вроде пофиксил логику работы. Проверяйте. Должно быть нормально и с битыми ссылками. Меняем в listener.php:

Код: Выделить всё

$attachments = array();
$attachments = $message_parser->attachment_data;

$text = $message_parser->message;;
на:

Код: Выделить всё

$attachments = array();
$attachments = array_reverse($message_parser->attachment_data);
$att_number_before = sizeof($attachments);

$text = $message_parser->message;
Удаляем этот кусок кода:

Код: Выделить всё

$img_number = sizeof($current_posted_img[1]);
					$text = preg_replace_callback ('#\[attachment=(.*?)\]#',
						function ($matches) use (&$img_number)
						{
							return "[attachment=" . ($matches[1] + $img_number) . "]";
						},
						$text
					);
Меняем:

Код: Выделить всё

if (!empty($attachments))
					{
						$text = preg_replace_callback('#\[img\]((.*?)|(.*?).jpg|(.*?).jpeg|(.*?).png|(.*?).gif)\[\/img\]#',
							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]";
							},
							$text
						);
На:

Код: Выделить всё

if (!empty($attachments))					
					{		    
				    	$att_number_after = (sizeof($attachments) - $att_number_before);						

                		$text = preg_replace_callback ('#\[attachment=(.*?)\]#',
						function ($matches) use (&$att_number_after)
						{
							return "[attachment=" . ($matches[1] + $att_number_after) . "]";
						},
						$text
					);

						$text = preg_replace_callback('#\[img\]((.*?)|(.*?).jpg|(.*?).jpeg|(.*?).png|(.*?).gif)\[\/img\]#',
							function ($matches) use (&$att_number_before,&$att_number_after,$attachments)
							{
								$str = substr($matches[1], strrpos($matches[1], '/') + 1);
								$str = mb_strtolower($str);
								$path_parts = pathinfo($matches[1]);
								$file_ext = $path_parts['extension']; 							                              						
                                if ($str == $attachments[$att_number_before]['real_filename'])
                                {	 
                                                              
                                    // 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);				
								    }
								++$att_number_before;    							    	
								return "[attachment=" . --$att_number_after . "]" . $str . "[/attachment]";						    
							    }
							    else 
							    {
                                return "[img]" . $matches[1] . "[/img]";	
							    }
							},						
							$text
						);

Vlad__
phpBB 2.0.6
Сообщения: 510
Стаж: 3 года 6 месяцев
Благодарил (а): 258 раз
Поблагодарили: 47 раз

Re: [3.2] IMG to Attachment

Сообщение Vlad__ »

Vlad__ писал(а):
16.02.2019 13:14
На:
Небольшая корректировка - так будет правильней:

Код: Выделить всё

if (!empty($attachments))					
					{		    
				    	$att_number_after = (sizeof($attachments) - $att_number_before);						

                		$text = preg_replace_callback ('#\[attachment=(.*?)\]#',
						function ($matches) use (&$att_number_after)
						{
							return "[attachment=" . ($matches[1] + $att_number_after) . "]";
						},
						$text
					);

						$text = preg_replace_callback('#\[img\]((.*?)|(.*?).jpg|(.*?).jpeg|(.*?).png|(.*?).gif)\[\/img\]#',
							function ($matches) use (&$att_number_before,&$att_number_after,$attachments)
							{
								$str = substr($matches[1], strrpos($matches[1], '/') + 1);
								$str = mb_strtolower($str);
								$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);			
								} 										                              						
                                if ($str == @$attachments[$att_number_before]['real_filename'])
                                {	                                                                                               
								    ++$att_number_before;    							    	
								    return "[attachment=" . --$att_number_after . "]" . $str . "[/attachment]";						    
							    }
							    else 
							    {
                                    return "[img]" . $matches[1] . "[/img]";	
							    }
							},						
							$text
						);

Vlad__
phpBB 2.0.6
Сообщения: 510
Стаж: 3 года 6 месяцев
Благодарил (а): 258 раз
Поблагодарили: 47 раз

Re: [3.2] IMG to Attachment

Сообщение Vlad__ »

Vlad__ писал(а):
15.02.2019 1:24
И еще глюкофича - если поставить галочку Загрузить IMG, то можно сохранить совершенно пустое сообщение. Не ругнется на "ваше сообщение слишком короткое"
Разбираться глубоко не стал, просто добавил в функцию modify_message этот код:

Код: Выделить всё

$post_data = $event['post_data']; 
                $error = $event['error'];
                if (empty($post_data['post_subject'])) {
                	$error[] = $this->user->lang['EMPTY_SUBJECT'];
                }
                if (empty($text)) {
                    $error[] = $this->user->lang['TOO_FEW_CHARS'];
                }
                $event['error'] = $error;
Все, теперь работой расширения лично я удовлетворен! ;)

TrekRed
phpBB 2.0.3
Сообщения: 391
Стаж: 1 год 10 месяцев
Благодарил (а): 55 раз
Поблагодарили: 13 раз

Re: [3.2] IMG to Attachment

Сообщение TrekRed »

Ну что же, ждем обновления со всеми исправлениями!

Vlad__
phpBB 2.0.6
Сообщения: 510
Стаж: 3 года 6 месяцев
Благодарил (а): 258 раз
Поблагодарили: 47 раз

Re: [3.2] IMG to Attachment

Сообщение Vlad__ »

Еще можно поменять, так как спотыкается на файлах с пробелами в ссылках:

Код: Выделить всё

$str = mb_strtolower($str);
На:

Код: Выделить всё

$str = strtolower(preg_replace('#[^a-zA-Z0-9_+.-]#', '', $str));
TrekRed писал(а):
17.02.2019 1:35
Ну что же, ждем обновления со всеми исправлениями!
Выше мои правки. Топикстартер как профессионал и автор напишет возможно по-другому. Во всяком случае, вечер тестирования с этими правками особых проблем не выявил.

TrekRed
phpBB 2.0.3
Сообщения: 391
Стаж: 1 год 10 месяцев
Благодарил (а): 55 раз
Поблагодарили: 13 раз

Re: [3.2] IMG to Attachment

Сообщение TrekRed »

Sheer, изменения с исправлениями от Влада планируются или нет? Включая типы ссылок, что выше указывал в посте?

Аватара пользователя
maco8024
phpBB 1.4.4
Сообщения: 154
Стаж: 7 лет 7 месяцев
Откуда: Алтай
Благодарил (а): 62 раза
Поблагодарили: 17 раз

Re: [3.2] IMG to Attachment

Сообщение maco8024 »

Как бы еще типы таких ссылок (с Яндекс-Диск) перевести во вложение:
[img]/image_preview?url=https://downloader.disk.yandex.ru/preview/76a1c2c725f6e1a8d408b88e352a490a7bc1a6314ef2c3e8e7ecad63d43037f4/inf/aZycyru0SDBC2NDbhRnAtmZn2P3XIUJ12e2iCWjDBI8sg70xBhtnCeFkNd1yGeIRq2NzditJNKfV_XG2tLBbRw%3D%3D?uid=108590677&filename=9a505a5fe78a2f9f668deb68ed0b2cb1.jpg&disposition=inline&hash=&limit=0&content_type=image%2Fjpeg&tknv=v2&size=XL&crop=0&modified=1521876962[/img]

Вернуться в «Анонсы и поддержка расширений для phpBB»