|
Поделиться

hook_urlname : Преобразование ссылок в их имена

Автоматически преобразует внутренние ссылки в сообщениях форума в ссылки с именами соответствующих страниц. Поддерживает преобразование ссылок с ресурсов wiki.

Здесь вы можете скачать и получить поддержку по модам, созданным командой нашего сайта. Пожалуйста, не пишите и не задавайте вопросов, связанных с чужими разработками, используйте для этого форум ниже.

Сообщение c61 » 10.03.14 16:19

phpBB hook_urlname
v.0.1.8-20140316
copyright (c) 2014 c61 http://c61.no-ip.org <c61@yandex.ru>
license http://opensource.org/licenses/gpl-license.php GNU Public License


Если в сообщениях публикуются внутренние ссылки на форумы, темы, сообщения и профили пользователей без использования ББ-кода url с текстовой подсказкой, то часто не ясно, куда же они ведут. Такие внутренние ссылки автоматически преобразуются аналогично тэгу url, в результате ссылка (пример)
Код: Выделить всё
http://c61.no-ip.org/forum/viewtopic.php?f=11&t=91&p=199#p199
превратится в такой url
Код: Выделить всё
[url=http://c61.no-ip.org/forum/viewtopic.php?f=11&t=91&p=199#p199]viewtopic.php?f=11&t=91&p=199#p199[/url]
или html-код
Код: Выделить всё
<a href="http://c61.no-ip.org/forum/viewtopic.php?f=11&t=91&p=199#p199">viewtopic.php?f=11&t=91&p=199#p199</a>

Данный мод предоставляет возможность преобразовать в понятный вид ссылки на:
  • форум
  • тему
  • собщение
  • профиль пользователя
и добавит возможности их оформления. Кроме того, имеется возможность преобразования wiki-ссылок в имена соответствующих разделов, тем и т.п.

Функционально аналогичный мод "Simple Url To Link Name before posting" (см. тему на форуме автора, известного под никнеймом Поручик, или на форуме русской поддержки phpbb) делает почти то же самое, но обладает как преимуществами (непример, меньше потребление ресурсов, есть поддержка SEO модов), так и недостатками (например, в опубликованных до установки мода сообщениях ссылки не заменяются, нет выделений названий и ников пользователей, нет цветов ников, есть проблемы с темами/сообщениями в заголовки которых включены ББ-коды в квадратных скобках). Возможно, кому-то покажется проще использовать один файл для hook system, чем редактировать код phpBB. В предлагаемом моде были использованы некоторые идеи вышеуказанного аналога, спасибо автору !

Тестирование данного мода совместно с SEO Ultimate SEO URL проводилось на площадке Shredder'а. Спасибо за тестирование и участие в отладке !

ВНИМАНИЕ !!!
  • Мод совместим с модами, изменяющими внутренние ссылки: phpBB SEO Ultimate SEO URL, Simple SEO Mod для PHPBB3, но полное тестирование не завершено, возможны ошибки. Работы по устранению этого недостатка запланированы.
  • Если Вы намерены использовать wiki-ссылки, перед установкой мода необходимо применить патч для корректного отображения ссылок, содержащих русские буквы и специальные символы, примерно такой, как приведён ниже. Это мод Non-latin Symbols in URL с дополнениями, инструкция инже может отличаться от оригинала и вариантов, приведенных на других ресурсах по phpBB, а также могут отличаться зависимые от версии phpBB строки для поиска.
  • Мод устраняет фичи phpbb, связанные с корректным включением последнего символа (.,:!?) в ссылку
Патч для корректного отображения url с кириллицей, установка:

1) Открыть файл /forum/includes/functions.php и сохранить его в кодировке utf-8 без BOM.

2) В /forum/includes/functions.php найти
Код: Выделить всё
			$inline = ($mode == 'url') ? ')' : '';
и ЗАМЕНИТЬ на
Код: Выделить всё
			$inline = (($mode == 'url') ? ')' : '') . '"`){}«»\pS\p{Pc}\p{Pd}\p{Pe}\p{Pf}\p{Po}';

затем найти
Код: Выделить всё
			return "[a-z]$scheme*:/{2}(?:(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";
и ЗАМЕНИТЬ на
Код: Выделить всё
			return "[a-z]$scheme*:/{2}(?:(?:[\pLa-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[\pLa-z0-9.]+:[\pLa-z0-9.]+:[\pLa-z0-9.:]+\])(?::\d*)?(?:/(?:[\pLa-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[\pLa-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[\pLa-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";

затем найти
Код: Выделить всё
			$inline = ($mode == 'www_url') ? ')' : '';
и ЗАМЕНИТЬ на
Код: Выделить всё
			$inline = (($mode == 'www_url') ? ')' : '') . '"`){}«»\pS\p{Pc}\p{Pd}\p{Pe}\p{Pf}\p{Po}';

затем найти
Код: Выделить всё
			return "www\.(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";
и ЗАМЕНИТЬ на
Код: Выделить всё
			return "www\.(?:[\pLa-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[\pLa-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[\pLa-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[\pLa-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";

затем найти
Код: Выделить всё
			return "(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";
и ЗАМЕНИТЬ на
Код: Выделить всё
			return "(?:[\pLa-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*(?:/(?:[\pLa-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[\pLa-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[\pLa-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";

3) В /forum/includes/functions_content.php найти
Код: Выделить всё
	$short_url = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url;
и ЗАМЕНИТЬ на
Код: Выделить всё
	$short_url = (utf8_strlen($url) > 55) ? utf8_substr($url, 0, 39) . ' ... ' . utf8_substr($url, -10) : $url;

затем найти
Код: Выделить всё
		$magic_url_match[] = '#(^|[\n\t (>.])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#ie';
и ЗАМЕНИТЬ на
Код: Выделить всё
		$magic_url_match[] = '#(^|[\n\t (\]>.])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#ieu';

затем найти
Код: Выделить всё
		$magic_url_match[] = '#(^|[\n\t (>.])(' . get_preg_expression('url_inline') . ')#ie';
и ЗАМЕНИТЬ на
Код: Выделить всё
		$magic_url_match[] = '#(^|[\n\t (\]>.])(' . get_preg_expression('url_inline') . ')#ieu';

затем найти
Код: Выделить всё
		$magic_url_match[] = '#(^|[\n\t (>])(' . get_preg_expression('www_url_inline') . ')#ie';
и ЗАМЕНИТЬ на
Код: Выделить всё
		$magic_url_match[] = '#(^|[\n\t (\]>])(' . get_preg_expression('www_url_inline') . ')#ieu';

4) В /forum/includes/message_parser.php найти
Код: Выделить всё
		if (!preg_match('#^' . get_preg_expression('url') . '$#i', $in) && !preg_match('#^' . get_preg_expression('www_url') . '$#i', $in))
и ЗАМЕНИТЬ на
Код: Выделить всё
		if (!preg_match('#^' . get_preg_expression('url') . '$#iu', $in) && !preg_match('#^' . get_preg_expression('www_url') . '$#iu', $in))

затем найти
Код: Выделить всё
		if (!preg_match('#^' . get_preg_expression('url') . '$#i', $in) &&
			!preg_match('#^' . get_preg_expression('www_url') . '$#i', $in))
и ЗАМЕНИТЬ на
Код: Выделить всё
		if (!preg_match('#^' . get_preg_expression('url') . '$#iu', $in) &&
			!preg_match('#^' . get_preg_expression('www_url') . '$#iu', $in))

затем найти
Код: Выделить всё
		if (preg_match('#^' . get_preg_expression('url') . '$#i', $url) ||
			preg_match('#^' . get_preg_expression('www_url') . '$#i', $url) ||
			preg_match('#^' . preg_quote(generate_board_url(), '#') . get_preg_expression('relative_url') . '$#i', $url))
и ЗАМЕНИТЬ на
Код: Выделить всё
		if (preg_match('#^' . get_preg_expression('url') . '$#iu', $url) ||
			preg_match('#^' . get_preg_expression('www_url') . '$#iu', $url) ||
			preg_match('#^' . preg_quote(generate_board_url(), '#') . get_preg_expression('relative_url') . '$#iu', $url))

5) Очистить кэш

6) Установить STK (Support ToolKit for phpBB), войти в STK и выполнить пункт Средства администрирования->Репарсинг BBcode постов и ЛС, отметив "Репарсинг всех абсолютно BBCode:"

Установка мода:

1) При необходимости внести изменения в файл includes/hooks/hook_urlname.php по части
  • выдачи отладочной информации (только пользователям с правами Администратора); для отключения найдите
    Код: Выделить всё
    	private $debug = true;
    и замените значение на false

    Отладочная информация выдаётся при включенной в config.php опции DEBUG внизу экрана (строка с всплывающей подсказкой с именем мода и номером версии) в формате
    Код: Выделить всё
    hUN Time : 0.000s | 0/0 Queries | 0 Magic urls corr`d
    где Time - время выполнения мода;
    Queries - количество нормальных и кэшированных sql-запросов;
    Magic urls corr`d - количество скорректированных фич обработки magic url в phpBB.
    ...
    ВНИМАНИЕ !!! Из-за специфики hook system phpBB стандартная отладочная информация выдаётся без учёта времени выполнения хук-функций и количества выполненных в них sql-запросов
    ...
  • разрешения корректировок фич phpBB при обработке magic url; для отключения найдите
    Код: Выделить всё
    	private $correct_phpbb_bugs = true;
    и замените значение на false
  • времени кэширования sql=запросов в секундах (0 - отключено), для изменения задайте требуемое число в строке
    Код: Выделить всё
    	private $sql_cache_ttl = 0;
    и учтите, что при изменении сообщений/тем/формуов или имён пользователей информация будет обновлена только после истечения указанного времени кэширования; для немедленного обновления следует очистить кэш
  • всплывающей подсказки (время размещения и номер сообщения) названий тем, сообщений; для отключения найдите
    Код: Выделить всё
    		$this->use_iurl_title['use'] = true;
    и замените значение на false
  • выделения названий форумов, тем, сообщений (по умлчанию включено, тэги strong, i); для отключения найдите
    Код: Выделить всё
    		$this->use_iurl_strong['use'] = true;
    и замените значение на false
  • использования цвета ника пользователя; для отключения найдите
    Код: Выделить всё
    		$this->use_user_colour = true;
    и замените значение на false
  • выделения ника пользователя (по умолчанию включено, тэг strong); для отключения найдите
    Код: Выделить всё
    		$this->use_user_strong['use'] = true;
    и замените значение на false
  • обработки url ресурсов wiki и выделения разделов wiki (по умолчанию включено, тэг i); для отключения закомментируйте или удалите
    Код: Выделить всё
    		{
    			$this->wiki_search = array(
    				'/>http(.*?)\:\/\/(\S+)\.community\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.wikipedia\.org\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.wikiquote\.org\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.wikibooks\.org\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(wiki)\.phpbb\.com\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(wiki)\.wargaming\.net\/ru\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(wiki)\.iteach\.ru\/index\.php\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(wiki)\.debian\.org\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(wiki)\.web\.ru\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(www\.)*lurkmore\.to\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(www\.)*sportswiki\.ru\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(www\.)*altlinux\.org\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.ageofstars\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.althistory\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.coincollecting\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.cybernetics\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.math\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.morfey13\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.prikolchik\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.russianhistory\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.science\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.pages\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(\S+)\.tarna-ilu\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(www\.)*mind-control\.wikia\.com\/wiki\/(.*?)</isu',
    				'/>http(.*?)\:\/\/(www\.)*absurdopedia\.wikia\.com\/wiki\/(.*?)</isu',
    			);
    		}
    Вы можете добавить ссылки, см. Список википроектов на русском языке
  • обработки url SEO Ultimate SEO URL и Simple SEO (по умолчанию включено); если не используется ни один из SEO модов для отключения закомментируйте или удалите фрагменты кода
    Код: Выделить всё
    			{
    			$this->sseo_search = array(
    				'p'	=>	'/>post(\d+)(.*?)\.html(.*?)#p(\d+)/isu',
    				'pt'	=>	'/>topic(\d+)(.*?)\.html(.*?)#p(\d+)/isu',
    				't'	=>	'/>topic(\d+)(.*?)\.html/isu',
    				'f'	=>	'/>forum(\d+)\.html/isu',
    				'u'	=>	'/>member(\d+)\.html/isu',
    			);
    		}
    и
    Код: Выделить всё
    		{
    			$this->useo_search = array(
    				'p'	=>	'/>(.*?)-t(\d+)(.*?)\.html(.*?)#p(\d+)/isu',
    				't'	=>	'/>(.*?)-t(\d+)(.*?)\.html/isu',
    				'f'	=>	'/>(.*?)\.html/isu',
    				'f-f'	=>	'/>(.*?)-f(\d+)\.html/isu',
    				'u'	=>	'/>(.*?)-u(\d+)\.html/isu',
    			);
    		}
    однако, если используется Simple SEO, требуется оставить только первый фрагмент, а если используется SEO Ultimate SEO URL, требуется оставить оба фрагмента
2) Загрузить includes/hooks/hook_urlname.php в includes/hooks/

3) Очистить кэш.



ВНИМАНИЕ !!! Просьба сообщать о результатах после установки мода на конференции, где установлены SEO-моды. При обнаружении ошибок прошу давать ссылку на конференцию и тестовый вход, это поможет в работе над этим модом.

Примеры ссылок можно посмотреть на моей тестовой площадке в теме мода тынц.

P.S. Обратите внимание: используется хук, следовательно, все внутренние ссылки в ранее опубликованных сообщениях будут преобразованы как надо. Однако, это не относится к wiki url с кириллицей, да и репарсинг ББ-кодов при помощи STK может не помочь... Тем не менее, wiki url с кириллицей гарантированно будут корректно обработаны в сообщениях, размещаемых после применения вышеуказанного патча и установки мода.

Скачать:
hook_urlname_0_1_8.zip
(13.36 КБ) Скачиваний: 406

Скачать предыдущую версию:
hook_urlname_0_1_7.zip
(13.34 КБ) Скачиваний: 386
hook_urlname_0_1_6.zip
(13.34 КБ) Скачиваний: 419
hook_urlname_0_1_5.zip
(12.99 КБ) Скачиваний: 384
hook_urlname_0_1_4.zip
(12.96 КБ) Скачиваний: 414
hook_urlname_0_0_9.zip
(10.27 КБ) Скачиваний: 450
hook_urlname_0_0_8.zip
(10.22 КБ) Скачиваний: 441
hook_urlname_0_0_7.zip
(9.28 КБ) Скачиваний: 579
hook_urlname_0_0_6.zip
(9.28 КБ) Скачиваний: 554
Аватара пользователя
c61
Разработчик модов
 
Сообщения: 249
Зарегистрирован: 24.08.13 16:46

Сообщение Shredder » 10.03.14 19:08

c61 гений :D

Добавлено спустя 4 часа 3 секунды:
Нашёл лаг, и вроде бы только на этом форуме. На тестовом такого нет. Если в сообщении имеются две ссылки на одну и ту же тему, но в одной из ссылок указан ID сообщения (т.е. прямая ссылка на сообщение), то ссылка на сообщение превращается в пустоту. Пример:

Код: Выделить всё
http://www.phpbb-work.ru/hook-url-to-name-t50.html

hook_urlname : Преобразование ссылок в их имена <-- ссылка обрабатывается нормально.

Код: Выделить всё
http://www.phpbb-work.ru/hook-url-to-name-t50.html#p283

hook_urlname : Преобразование ссылок в их имена <-- тут тоже должна быть ссылка, но она пропала, превратилась в пустоту. По факту она никуда не делась: при редактировании сообщения ссылка на месте, но при просмотре её уже нет.

Что это? Конфликт с каким-то из говномодов?
Можно что-нибудь сделать?

Добавлено спустя 22 минуты 37 секунд:
db_view.png


Судя по всему, конфликт вызывается убранным заголовком сообщений, из-за чего вот эта часть кода в хуке:
Код: Выделить всё
$replace = '>'.censor_text($posts[$post_id]['post_subject']).'<';

выдаёт пустой результат.

Применил для себя следующее исправление - перед указанным куском кода добавил:
Код: Выделить всё
									if (empty($posts[$post_id]['post_subject']))
									{
										$posts[$post_id]['post_subject'] = $topics[$topic_id]['topic_title'];
									}

Вроде полёт нормальный. :)
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 867
Зарегистрирован: 22.08.13 09:05

Сообщение c61 » 11.03.14 07:22

Shredder писал(а): Если в сообщении имеются две ссылки на одну и ту же тему, но в одной из ссылок указан ID сообщения (т.е. прямая ссылка на сообщение), то ссылка на сообщение превращается в пустоту.
Понял, попробую исправить... Это из-за попытки кэширования в хуке.
Shredder писал(а):Применил для себя следующее исправление - перед указанным куском кода добавил:
Код проверки на пустоту заголовка сообщения жил в неправильном месте, перекинул куда надо, спасибо ! Сегодня выложу исправленную версию...

Да, название поменял как ты предлагал, так намного лучше ! Предлагаю "hook_urlname : Преобразование ссылок в их имена", отличие только в добавке "их"))

Добавлено спустя 1 час 55 минут 14 секунд:
Выпущена версия 0.0.7. Изменения:
  • устранение ошибочек, обнаруженных Shredder'ом
  • исправлена ошибочка для SEO если после .html присутствует sid (обратите внимание: изменены sseo_search и useo_search, а также код поиска)
  • изменение названия мода

Добавлено спустя 8 часов 31 минуту 59 секунд:
0.0.8. Изменения:
  • исключено выделение ключевых слов viewtopic, post, topic для SEO и др. (hilit=), при котором ссылка не преобразовывалась, например
    Код: Выделить всё
    http://c61.no-ip.org/forum/viewtopic.php?f=11&t=91&hilit=viewtopic
    спасибо sweetah !
  • исключена возможная подмена имени ссылки в тэге url, например
    Код: Выделить всё
    [url=http://yandex.ru]viewtopic?p=123[/url]

Добавлено спустя 13 часов 42 минуты 44 секунды:
Выпущена версия 0.0.9. Изменения:
  • отремонтированы wiki url, сломанные в версии 0.0.8
Аватара пользователя
c61
Разработчик модов
 
Сообщения: 249
Зарегистрирован: 24.08.13 16:46

Сообщение c61 » 15.03.14 14:00

Выпущены новые версии, история:

0.0.A. Изменения:
  • обработан hilit для viewforum и memberlist

0.1.2. Изменения:
  • внедрен класс URLNAME
  • значительно ускорена работа алгоритмов
  • добавлена возможность получения отладочной информации о времени выполнения и количестве sql-запросов
  • добавлено управление кэшированием sql-запросов

0.1.4. Изменения:
  • дополнен патч для корректных ссылок на кириллице и со спецсимволами
  • добалено исправление фич phpBB при обработке magic url

0.1.5. Изменения:
  • добалено исправление фич phpBB при обработке magic url по последнему символу ?

0.1.6. Изменения:
  • расширен список wiki url
Аватара пользователя
c61
Разработчик модов
 
Сообщения: 249
Зарегистрирован: 24.08.13 16:46

Сообщение Shredder » 16.03.14 00:10

В патче для русских ссылок - ошибки:
Пункт 2 - в первой и третьей правке для functions.php встречается последовательность \{pPo}. Может, должно быть \p{Po} ?
Пункт 3 - в поиске и замене (первая правка) для functions_content наличествует такой код (часть строки):
Код: Выделить всё
5[b]5)[/b]

Опечатка?

Пункт 4 - вторая правка для message_parser ошибочная. Мне кажется, что в замене должно стоять:
Код: Выделить всё
		if (!preg_match('#^' . get_preg_expression('url') . '$#iu', $in) &&
			!preg_match('#^' . get_preg_expression('www_url') . '$#iu', $in))
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 867
Зарегистрирован: 22.08.13 09:05

Сообщение c61 » 16.03.14 08:16

Shredder писал(а):Пункт 2 - в первой и третьей правке для functions.php встречается последовательность \{pPo}. Может, должно быть \p{Po} ?
Ага, конечно \p{Po}. Но функция жуёт и так почему-то)
Пункт 3 - в поиске и замене (первая правка) для functions_content наличествует такой код (часть строки):
thnks, должно быть (strlen($url) > 55)
Shredder писал(а):Пункт 4 - вторая правка для message_parser
Да, это copy-paste))

См. v.0.1.7. Изменения:
  • исправление ошибок в патче

Добавлено спустя 16 часов 39 минут 6 секунд:
См. v.0.1.8. Изменения:
  • очередное исправление ошибок в патче
Надеюсь, последнее))

Спасибо Shredder'у за поиск ошибок !
Аватара пользователя
c61
Разработчик модов
 
Сообщения: 249
Зарегистрирован: 24.08.13 16:46

Сообщение Shredder » 17.03.14 01:24

Такое предложение: чтобы не менять каждый раз настройки после обновления хука - хук можно сделать с админкой и установочным скриптом (или просто SQL). Правки файлов для этого не понадобятся. Конечно, это требует времени, понимаю...
Сам я кроме наклонного шрифта в хуке никогда ничего не меняю, а менять эту фигню мне не трудно, так что предложение, скорее, ради других пользователей и ради удобства управления модом. :)
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 867
Зарегистрирован: 22.08.13 09:05

Сообщение c61 » 17.03.14 08:03

Shredder писал(а):...хук можно сделать с админкой и установочным скриптом...
Можно, конечно, и опционально - кто хочет, тот ставит кусок для админки.
Аватара пользователя
c61
Разработчик модов
 
Сообщения: 249
Зарегистрирован: 24.08.13 16:46

Сообщение Shredder » 02.06.14 23:10

Заметил, что на страницах поиска ссылки не преобразовываются.
Хотя с поиском там вообще что-то странное - иногда ссылки даже не активны. Возможно, они просто "обрезаются" и от хука это и не зависит.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 867
Зарегистрирован: 22.08.13 09:05

Сообщение c61 » 10.06.14 07:41

Вроде как хук не обрабатывает поиск, если мне склероз не изменяет... Да, в phpbb в результатах поиска со ссылками не всё как надо, поэтому наверно их и не стоит обрабатывать.
Аватара пользователя
c61
Разработчик модов
 
Сообщения: 249
Зарегистрирован: 24.08.13 16:46

Сообщение DeathMan » 06.02.17 11:39

Подскажите, а последняя версия данного расширения уже с "Патчем для корректного отображения url с кириллицей" или это актуально при условии что сайт находится в РФ домене ?
Аватара пользователя
DeathMan
 
Сообщения: 4
Зарегистрирован: 03.12.13 20:08
Откуда: Курчатов

Сообщение Shredder » 07.02.17 03:07

DeathMan писал(а):последняя версия данного расширения

В этом форуме расположены моды, а не расширения. Но т.к. это хук, а не мод, то патча в нём не может быть в принципе. Актуально для любых доменов, не только РФ.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 867
Зарегистрирован: 22.08.13 09:05


Вернуться в Модификации сайта phpBB-Work.ru

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron