[BETA] hook_urlname: преобразование ссылок в их имена

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

[BETA] hook_urlname: преобразование ссылок в их имена

Сообщение c61 »

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',
    			);
    		}
    Вы можете добавить ссылки, см. http://ru.community.wikia.com/wiki/Спис ... ском_языке
  • обработки 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
Скачать предыдущие версии:
hook_urlname_0_1_7.zip
hook_urlname_0_1_6.zip
hook_urlname_0_1_5.zip
hook_urlname_0_1_4.zip
hook_urlname_0_0_9.zip
hook_urlname_0_0_8.zip
hook_urlname_0_0_7.zip
hook_urlname_0_0_6.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось c61 16.03.2014 20:50, всего редактировалось 15 раз.
sweetah
phpBB 2.0.6
Сообщения: 506
Стаж: 16 лет 7 месяцев
Благодарил (а): 108 раз
Поблагодарили: 26 раз

Re: [BETA] hook_urlname: имена пустых (внутренних и wiki) сс

Сообщение sweetah »

Очередная крутота, спасибо!

Небольшое наблюдение: когда открываешь ссылку из результатов поиска такого типа -

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

http://lalala.la/viewtopic.php?f=123&t=1122&p=7896&hilit=viewtopic#p7896
замена ссылки на тему в посте не работает, отображается как раньше viewtopic.php?f=2&t=135. Не знаю, задумано так специально или нет. Думаю, это логично :)

Добавлено спустя 16 минут 32 секунды:
Re: [BETA] hook_urlname: имена пустых (внутренних и wiki) ссылок
Очень нравится, что все замены обрамляются тегами, можно стилизовать ссылки - у ников человечков впереди поставить (как в жж) и всё такое. Няяя :)
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 14 лет 1 месяц
Откуда: Израиль
Благодарил (а): 85 раз
Поблагодарили: 306 раз

Re: [BETA] hook_urlname: имена пустых (внутренних и wiki) сс

Сообщение Алг »

sweetah писал(а):Очередная крутота, спасибо!
ППКС
Замечательнвй мод, очередная жемчужина(без кавычек) от c61
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: [BETA] hook_urlname: имена пустых (внутренних и wiki) сс

Сообщение Пчелкин »

Индексацию таких ссылок в поисковках еще никто не видел? пролазят?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: [BETA] hook_urlname: имена пустых (внутренних и wiki) сс

Сообщение Shredder »

Сорри за оффтоп, а как ссылки могут быть "пустыми"? Пустым может быть ведро, тег на худой конец, но никак не ссылка. Поэтому лучше было бы назвать по-другому, например "Имена для внутренних и wiki ссылок" или "Автоматические имена для ссылок"
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

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

Сообщение c61 »

sweetah писал(а):Небольшое наблюдение: когда открываешь ссылку из результатов поиска такого типа - Код: Выделить всёhttp://lalala.la/viewtopic.php?f=123&t=1122&p=7896&hilit=viewtopic#p7896замена ссылки на тему в посте не работает, отображается как раньше viewtopic.php?f=2&t=135. Не знаю, задумано так специально или нет. Думаю, это логично
Нет, так не было задумано и даже проверялось, у меня на тестовой площадке работает с hilit, можно ссылочку на форум и тестовый вход для проверки ?
Пчелкин писал(а):Индексацию таких ссылок в поисковках еще никто не видел? пролазят?
Преобразованные ссылочки практически ничем не отличаются от обычных, за исключением добавленного поля title и "правильного" названия. Думаю, это только улучшит индексацию)
Shredder писал(а):Сорри за оффтоп, а как ссылки могут быть "пустыми"? Пустым может быть ведро, тег на худой конец, но никак не ссылка. Поэтому лучше было бы назвать по-другому, например "Имена для внутренних и wiki ссылок" или "Автоматические имена для ссылок"
Ценное замечание, ибо название было "условное" и явно неудачное. Исправил на "Преобразование ссылок в их имена", спасибо !

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

P.P.S. Насчет обрамления ссылок тэгами - это напрашивалось, ну очень хотелось, а то "стандартные" ссылки выглядят слишком "стандартно", теперь можно много "красивости" навести)
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: [BETA] hook_urlname: преобразование ссылок в их имена

Сообщение Пчелкин »

Перед установкой данного хука удалять мод ТОГО гражданина (боюсь даже его имя здесь писать, так грозен) обязательно?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: [BETA] hook_urlname: преобразование ссылок в их имена

Сообщение c61 »

Да.

Однако, если бы не "грозный" гражданин, то этого мода, являющегося развитием его идеи, не было бы, а идея ооочень как хороша... Так что мы с "чувством глубокой благодарности"... и тд и тп))
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: [BETA] hook_urlname: преобразование ссылок в их имена

Сообщение Пчелкин »

c61 сделайте пожалуйста в первом сообщении пробелы между каждым действием... Шибко все слилось там...
Каждое "найти" лучше если будет через пропущенную строку... А то как комары...

Добавлено спустя 2 минуты 41 секунду:
c61 писал(а):Да.
1. Изменения под действием его ранее установленного мода останутся все на месте? Вощет, что я спрашиваю... они уже в БД...
2. Изменения ссылок от вашего хука - изобразительные или тоже будут писаться в БД? После его удаления (вдруг) они останутся видоизмененные в постах и в индексах? Или после установки хук должен остаться на вечно? Он подставляет "на ходу" или изменяет только при обращении? Напрягает инфа о не работе со старыми ссылками... Есть возможность подтянуть работу хука к старым ссылкам? Что для этого надо? Сделать правку сообщения (например) или что еще?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: [BETA] hook_urlname: преобразование ссылок в их имена

Сообщение c61 »

Пчелкин писал(а):...как комары...
))) Поправил
Пчелкин писал(а):Изменения под действием его ранее установленного мода останутся все на месте?
Да
Пчелкин писал(а):Изменения ссылок от вашего хука - изобразительные или тоже будут писаться в БД?
Нет, это же хук при формировании template, в базу ничего не пишется
Пчелкин писал(а):Есть возможность подтянуть работу хука к старым ссылкам?
Ссылки от мода-аналога изменены не будут, они уже в базе. Это относится как к внутренним ссылкам, так и к wiki. Вид ссылок не изменится. Исправить автоматически нереально, а вручную не стоит... имхо. Если мода-аналога не было, все старые ссылки будут обработаны.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: [BETA] hook_urlname: преобразование ссылок в их имена

Сообщение Пчелкин »

Планируется сделать работу хука с записью изменений в БД?
Не хочется что б ссылки валялись в ББ обычного формата, но видимые под действием хука в нормальном виде... Хочется завершенности полной. (наподобии ТОГО мода) Не?

Добавлено спустя 1 минуту 22 секунды:
c61 писал(а):все старые ссылки будут обработаны.
Вот это больше всего радует... Вот ради этого стоит его попробовать...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: [BETA] hook_urlname: преобразование ссылок в их имена

Сообщение c61 »

Нет, только не в базу, это же хук... А вдруг понадобится изменить обрамление другими тэгами ? Или изменить текст подсказки к ссылке ? Это ведь повлечёт необходимость репарсинга всего и вся. А так - поменяли хук, и получили новое свойство отображения.

Кстати, для ссылок на attachments стоит приделывать преобразование ссылок ? Типа

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

http://www.phpbbguru.net/community/download/file.php?id=18611
что в сообщениях выглядит как

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

download/file.php?id=18611
а можно заменить на нормальный вид attachment'а. Для загруженных аватаров кстати тоже.

И несколько слов насчёт хуков. Офтоп... Или не офтоп, а критика phpbb.

Во многих cms можно приделать хуки практически к чему угодно, изменяя как вид, так и функционал системы до неузнаваемости, добавляя новые функции и тд и тп. В результате модификации сводятся к хукам, и в подавляющем большинстве случаев незачем менять код. То есть моды сводятся к хукам. Однако, в phpbb 3.0.x и ниже применение хуков весьма ограниченное. Жаль. Посмотрим, насколько лучше будет в 3.1 и далее...
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: [BETA] hook_urlname: преобразование ссылок в их имена

Сообщение Пчелкин »

c61 писал(а):А вдруг понадобится изменить обрамление другими тэгами ?
А изменения ведь повлияют на индекс.. Стоит ли увлекаться такого рода изменениями!!!
И всеж -
c61 писал(а):Нет, только не в базу, это же хук...
Пчелкин писал(а):Планируется сделать работу хука с записью изменений в БД?
Как вариант, аддоном. Не?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Anvar
Former team member
Сообщения: 1964
Стаж: 16 лет 5 месяцев
Благодарил (а): 67 раз
Поблагодарили: 800 раз

Re: [BETA] hook_urlname: преобразование ссылок в их имена

Сообщение Anvar »

Класс! Использование hook-а расширения только радует. В папке на сервере всегда найдется местечко для таких няшек и в редакторе обязательно покавыряюсь))
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!
sweetah
phpBB 2.0.6
Сообщения: 506
Стаж: 16 лет 7 месяцев
Благодарил (а): 108 раз
Поблагодарили: 26 раз

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

Сообщение sweetah »

c61 писал(а):Нет, так не было задумано и даже проверялось, у меня на тестовой площадке работает с hilit, можно ссылочку на форум
А вот http://c61.no-ip.org/forum/viewtopic.ph ... =viewtopic :) Смотреть на Примеры ссылок под спойлером.

Вернуться в «Бета-версии модов для phpBB 3.0.x»