Meow! Links 1.1
Требуемая версия vBulletin: 4, однако хочется верить, что заведётся и на тройке.
Это продукт изменяет обработку форумом ссылок, содержащихся во вновь отправляемых сообщениях и не заключённых в ББ коды.
Как известно, по умолчанию vBulletin просто обрамляет такие ссылки в код url.
Что делает Meow! Links
- Название ссылки меняется на заголовок страницы; то есть, после установки продукта, новые ссылки будут выглядеть вот так:
Бормотухи.НЕТ
PHP: Hypertext Preprocessor
Stack Overflow на русском
- Ссылки на картинки будут обёрнуты в код img; то есть, вместо ссылки на изображение будет показано само изображение.
Определение "картинка или нет" происходит по расширению (.gif, .jpg, .png...) в ссылке.
- Ссылки на видео на ютюб будут обёрнуты в код video.
Продукт настраивается.
Русификатор и скриншот прилагаются.
Демонстрация:
http://sovserv.su/showthread.php?t=2...ull=1#post7102
Установка
Панель администратора => Продукты и модули => Управление продуктами => Добавить/импортировать продукт => Обзор => выберите Meow!-Links-1.0.xml => Импорт.
Авторство
Meow! Links является переписанным и переделанным Title Tag Fetcher от exportforce, который, в свою очередь, базируется на Replace URL's With Page Title от Jafo232.
Наложен патч для определения кодировки страницы от kerk.
Список изменений
1.1 - 2016-08-10- Исправлена некорректная обработка заголовков страниц.
Отличия от упомянутых продуктов
Добавлено
- Обёртывание ссылок на картинки в код img.
- Обёртывание ссылок на YouTube в код video.
- Настройки.
Исправлено
- Все версии: совместимость с сайтом http://knowyourmeme.com/, а также всеми остальными, которые не отдают страницы без указания user-agent.
- Все версии: кодировка страниц по ссылкам определяется в соответствии со стандартами: сначала -- на основе заголовков HTTP, а если в них информация отсутствует -- с использованием тэга meta в странице.
- Патч kerk'а: Кодировка в тэге meta не определялась, если была заключена в кавычки.
Например:
Код:
<meta charset="utf-8"/>
- Патч kerk'а: Ссылка удалялась, если не удавалось скачать страницу, или в странице не было тэга title.
Дополнительная информация
ВАЖНО: для создания "красивых" ссылок форум будет каждый раз скачивать страницы по указанным адресам.
То есть, фактически, пользователи вашего форума будут отдавать команды вашему серверу на подключение и скачку по произвольным адресам в интернете.
Если пользователь отправит 10 ссылок, будет 10 подключений и скачиваний.
Если 100 (сто) ссылок -- будет 100 подключений.
Забавно, что всё это время в Title Tag Fetcher существовал баг, который, насколько я понимаю, не исправлен до сих пор, и который не заметили люди, писавшие свои версии:
Для скачивания страницы создаётся контекст:
PHP код:
$options = array(
'http' => array(
'user_agent' => 'vBulletin via PHP',
'max_redirects' => 10,
'timeout' => 60,
)
);
$context = stream_context_create($options);
Однако дальше переменная $context нигде не используется!
То есть, процитированный код работает вхолостую, а удалённый сервер не получает ни user-agent, ни информацию о желаемом тайм-ауте:
PHP код:
if($fp = fopen($text[2] . $text[4], "r"))
Некоторые сайты в таких обстоятельствах не отдают контент -- в частности,
http://knowyourmeme.com/.
Ссылки
github
vbulletin.org
vbsupport.org