Тема: Скачать Meow! Links
Показать сообщение отдельно
Старый 10.08.2016, 17:41 Вверх   #1
Пользователь
 
Аватар для Catlord Meow
Catlord Meow вне форума
Доп. информация
По умолчанию Meow! Links

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
Изображения
Тип файла: png 94fc646966.png (158.8 Кб, 8 просмотров)
Вложения
Тип файла: rar Meow!-Links-1.1.rar (4.8 Кб, 4 просмотров)

Последний раз редактировалось Catlord Meow; 10.08.2016 в 20:53..
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
 
Время генерации страницы 0.06249 секунды с 11 запросами