Иконка ресурса

[Xenforotest] Скрытие ссылок от гостей 1.1

Нет прав для скачивания

X-Xen

Проверенные
Сообщения
233
Реакции
407
Баллы
11,070
Пользователь X-Xen разместил новый ресурс:

[Xenforotest]Скрытие ссылок от гостей - Скрывает ТОЛЬКО внешние ссылки

Данный плагин писал не для себя, хоть плагин кстати нетакой сложный, хотя проёбся с регуляркой, ой как ёбся, себе даже не представляете, учитывая что плагин востребован решил выложить его в паблик, чем-же он отличается от аналогов:

1)Можно указать свой текст для отображения гостям, в том-числе используя html;

2)Не скрывает внутренние ссылки...

Посмотреть вложение 35244

Посмотреть вложение 35245

Жду комментов, может доработать-что ! ;)

Узнать больше об этом ресурсе...
 
Переписан с чего-то или писался с нуля? :)
 
Переписан с чего-то или писался с нуля? :-)
Каркас взял от сюда:https://xenforo.info/resources/ccplz-hide-links-from-guests.2913/

Но там скрытие всех ссылок, т.к. нет регулярки, я-же через регулярку сделал... Думал долго как-же отфильтровать внешние ссылки, регулярку-же делал сам, промучился правда...:eek:
 
Наконец то хоть у кого-то руки дошли! :thumbsup:

UPD:
У меня внутренние ссылки тоже скрываются.

Screen_23-06_12-10-36.png
 
Последнее редактирование:
У меня внутренние ссылки тоже скрываются.
Я на нескольких форумах проверял, вроде всё ОК, а какого формата ссылки...

Имеется в виду, движок помечает все внешние ссылки как "externalLink" по этому признаку плагин и определяет что ссылка внешняя и скрывает её...

Похоже у Вас почему-то помечаются ссылки как внешние, тут нужно смотреть сам форум, пока ничего сказать не могу ! :(
 
Заказывал этот плагин у ТС, теперь хочу поинтересоваться, возможно ли создать белый список ссылок, которые не будут закрываться от гостей? (оплата незамедлительная)
 
Последнее редактирование:
Заказывал этот плагин у ТС, теперь хочу поинтересоваться, возможно ли создать белый список ссылок, которые не будут закрываться от гостей? (оплата незамедлительная)
Некогда было, несмог раньше ответить...

Гляну может сделаю такой функционалл...
 
Заказывал этот плагин у ТС, теперь хочу поинтересоваться, возможно ли создать белый список ссылок, которые не будут закрываться от гостей? (оплата незамедлительная)
Легче все сделать вв-кодом, какую надо ссылку, ту и скрыл :)
 
Легче все сделать вв-кодом, какую надо ссылку, ту и скрыл :-)
Ну ему нужно-было когда заказывал скрытие всех ссылок кроме внутренних, я этого добился...

Сейчас нужно править регулярку, а я в этом не копенгаген, вот весь плагин это вот этот код:

Код:
$message['messageHtml'] = preg_replace('#(<a[^>]+href=("|\')?)(' . ')(("|\')?[^>]+class=("|\')?[^"\']*externalLink[^"\']*("|\')?[^>]*>(.*)</a>)#sU',$options->liens_message, $message['messageHtml']);

В XenForo все внешние ссылки помечает как externalLink, по этому параметру и ищу, внимание вопрос, как сделать исключение в этой регулярки ?

Ещё раз повторюсь я в этом мало что смыслю, а разбираться нет не времени не желания, если поможете я поправлю !
 
Будем надеется на помощь
 
Вообще, делала бы это через switch (переключатель) парсингом доменов. Похоже, что потребуется один переключатель, настроенный по дефолту на домен форума и условный оператор, проверяющий саму ссылку.
1.Проверка вхождений строки, содержащих http:// или https://. Если таковые имеются,
2.Ищем в строке подстроку по названию домена.
3.Закладываем всё это хозяйство в цикл foreach.
В этом цикле домен проверяется на соответствие по "белому списку" и переключатель на выходе либо закрывает ссылку, либо разрешает просмотр.
Теперь, если вхождений http:// или https:// в строке не обнаружено, а указанный домен присутствует в строке, то это или не ссылка, или неверная ссылка; в любом случае переводим ее отображение в текстовый формат (чтобы какие-нибудь умельцы не подсунули пользователям какую-то бяку).
Думаю, можно реализовать и проще, но в данный момент уже голова на такие вещи не работает. Готовый код не просите (уж извините) - очень занята, много работы!
 
lady, привет ! ;)

Да я всё думаю через регулярку всё-же сделать, почти получилось, почти потому-что возникло две проблемы:

1.Если в посте будет одна ссылка, то она не будет скрываться, а если несколько, то скрывается...;

2.Пока не могу реализовать, что-бы сделать списком исключения ссылок... :(

Где-то у меня касяк в логике, может попробую как вы посоветовали, но что-то с циклами не хочу замарачиваться, регуляркой мне кажется правильней...

А так тоже особо времени нет, занимаюсь этим если есть желание и время, так-то я тоже сейчас занят и далеко не вебом ! :(
 
Вариантов решения этой задачи несколько: парсинг, условия, регулярки, может быть даже фильтрацию URL с распарсиванием поста и формированием массива можно применить... А затем пройтись по элементам перебором в цикле.
Регуляркой то же самое - придется парсить строку. А затем в любом случае нужен цикл и, скорее всего, массив, чтобы сложить в него все ссылки, а вторым циклом перебирать их по "белому списку". Потому что если ссылок будет несколько, регулярка пропустит всю строку сообщения при наличии одного вхождения по "белому списку". То есть придется дополнительно фильтровать, а это гораздо сложнее цикла.
 
  • Мне нравится
Реакции: LENA
Проверил на http/https, на ксене 1.5 - все работает как нужно, внутренние ссылки на месте, внешние скрывает. Лепота. Автору респект!

P.S. Если автор когда-нить надумает добавить функционал: было бы не плохо сделать выбор в настройках: "Заменять все" и "Заменять только через BB-код"
 
Последнее редактирование:
php 5.4
php 5.5
php 5.6


Файлы в нужной директории.

Fatal error
: Class 'XOleg_HideLinks_ViewPublic_HideLinks' not found in /public_html/library/XenForo/Application.php(528) : eval()'d code on line 1
 
Последнее редактирование:
Improvs, точно всё правильно скопировали, проверьте:library\XOleg\HideLinks\ViewPublic\HideLinks.php

Тестил, у меня работало и такой ошибке не было...

Может ещё конфликт с чем, даже и незнаю... :(
 
Спасибо, да файл 1 не залился, проглядел
 
При заходе на настройки плагина вот такой url, естественно пишет страница не найдена. Последняя версия ксюни. Как фиксануть или данный мод устарёл и есть более юзабельные плагины. (пс так то он работает и ссылки меняет для гостей, а вот изменить настройки в админке это не предоставляется возможным)

Выбирайте любой :-)
- [GX] Прячем сообщения от гостей
- [SVG]Скрытый текст от гостей
- Hide Posts From Guests
- [CCPLZ] Hide Links From Guests
 
Последнее редактирование модератором:
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу