[MxR] AnonReferer System

[MxR] AnonReferer System 2.2.0.1

Нет прав для скачивания
tirpix , плагин работает на моем форуме, ошибок я не наблюдал.
Сейчас работаю, когда буду свободен посмотрю в чем может быть у вас проблема.
 
PHP:
<?php

namespace MxR\AnonReferrer\XF\BbCode\Renderer;

class Html extends XFCP_Html
{
    public function renderTagUrl(array $children, $option, array $tag, array $options)
    {
        $url = parent::renderTagUrl($children, $option, $tag, $options);
        $xfstt = \XF::options();
        $visitor = \XF::visitor();

        preg_match_all('|//(.*?)/|is', $url, $siteurl);
        if (in_array($siteurl[1][0], explode("\n", $xfstt->AnRefWL))) {
            return $url;
        } elseif (in_array($siteurl[1][0], explode("\n", $xfstt->AnRefML))) {
            return str_ireplace($siteurl[1][0], $_SERVER['HTTP_HOST'], $url);
        } else {
            $url = str_replace(' href="', ' href="' . $xfstt->AnRefPrefix, $url);
            if ($visitor['user_id'] == 0 && $xfstt->AnRefHGlink): $url = \XF::phrase('AnRefGL'); endif;
        }
        return $url;
    }
}
мммм красота и каждый раз на выводе изменять урл? Браво, чем 1 раз изменить будем нагружать форум и подменять вывод. Конструкция if : endif; заслуживает 5. Только истинный кретин так мог написать и сделать для то, что идет в шаблонизатор и так не принято. Все та же срань при работе с объектом, мы лезем в массивы. Ради 1го получения на скрытые ссылки мы создаем переменную 1 раз используем и забываем. Браво, 5.
Ну ок не хотят делится ладно.
  • Трёхэтажные ифы - early return .
  • if ($visitor_arr['user_id'] === 0 && $xfOptions->AnonReferrerHideGuestLink && $xfOptions->AnonReferrerHideGuestLinkInternal) эм что?
if (!$visitor_arr->user_id && $xfOptions->AnonReferrerHideGuestLink && $xfOptions->AnonReferrerHideGuestLinkInternal)
  • if ($visitor_arr['user_id'] === 0 && $xfOptions->AnonReferrerHideGuestLink)
if (!$visitor_arr->user_id && $xfOptions->AnonReferrerHideGuestLink)
  • if ($visitor_arr['user_id'] === 0 && $xfOptions->AnonReferrerHideGuestLink)
if (!$visitor_arr->user_id && $xfOptions->AnonReferrerHideGuestLink)
  • if ($xfOptions->AnonReferrerActive) к чему? Не понятно настройка на включение ?. Можно в настройках и так это сделать
Для внутренних, внешних и т.д ссылок есть getLinkClassTarget в котором просто проверяется и не нужно много мусора.
Выкинув почти весь код и написав нормальный с начала будет куда лучше и без всякого мусора, трёхэтажных ифов++ и кучу кучу всего не нужного.
В чём проблема в генерации ссылки сделать анонимайзер? При этом рботающее и проксирование.
Зачем в дополнение Setup? Если он не используется вообще.
Вроде и разработчики расписали по версионности и не только, а видим срань такую:
JSON:
"version_id": 1527238257,
    "version_string": "2.0.5.2",
Прикольная версия...
Можно поаплодирую тебе стоя за такое гениальное (тупое) решение:
XML:
<template_modifications>
  <modification type="public" template="PAGE_CONTAINER" modification_key="mxr_ars_add_less" description=".less in the main template style" execution_order="10" enabled="1" action="str_replace">
    <find><![CDATA[</head>]]></find>
    <replace><![CDATA[<xf:css src="anonreferrersystem_style.less" />
$0]]></replace>
  </modification>
</template_modifications>
Сейчас бы лезть в PAGE_CONTAINER ради своего less, который не имеет настроек стиля. Это 5, разработчики же просто так сделали настройки стиля, по фану. И что дальше? Лезть в шаблоны моветов, оно имеет приоритет больше extra.less, что не переопределить не как. Браво и чудо Less:
XML:
<?xml version="1.0" encoding="utf-8"?>
<templates>
  <template type="public" title="anonreferrersystem_style.less" version_id="1527238245" version_string="2.0.5"><![CDATA[@mxrarbgcl: #ffe7e5; // Background Color
@mxrarbll: #f2240d; // Color of left Border
@mxrarctl: #d63309; // Text Color
@mxrarctlor: #f73c0d; // Text Color "OR/ИЛИ"
@mxrarctlfa: #f2240d; // Color of the Font Awesome Icons
.mxr_block_glinks {
    margin: 0px 6px;
    background-color:@mxrarbgcl;
    color: @mxrarctl;
    border-left:3px solid @mxrarbll;
    padding: 0px 5px 0px 0px;
    .fa-exclamation-triangle {color: @mxrarctlfa;margin: 0px 5px;}
    text {color:@mxrarctlor;}
}]]></template>
</templates>
Не хочется исправлять и игнорируются сообщения по поводу срани, ладно. 24 часа на исправление ошибок и переписи всего этого добра. В противном случае ресурс будет удален как нарушение стандартов ресурсов.
 
Не хочется исправлять и игнорируются сообщения по поводу срани, ладно. 24 часа на исправление ошибок и переписи всего этого добра. В противном случае ресурс будет удален как нарушение стандартов ресурсов.

Мне жаль что 1 пользователя появились ошибки, которых не было ни у меня ни у других пользователей.
Но как я уже сказал, я работаю и не могу сейчас заниматься данным плагином. Когда у меня появится свободное время, я обязательно решу проблему.

Если вам, Captain, так не терпится удалить мой плагин с данного форума, вы уже второе сообщение об этом пишите первое видимо удалили - пожалуйста. Плагины пишу в первую очередь для себя и своего форума, тут просто делюсь ими.
 
Я когда зарепортил? 4 Января 2019 года, срани стало еще больше и ужаснее код с вырвиглаз и нарушением стандартов. На офе быстро подобных выпиливают недавний пример Bill Arf, который так же за нарушение стандартов и говнокод был выпилен. Тут же аж с января было дано время. Но решения все так же костыли и палки.
 
Я когда зарепортил? 4 Января 2019 года, срани стало еще больше и ужаснее код с вырвиглаз и нарушением стандартов. На офе быстро подобных выпиливают недавний пример Bill Arf, который так же за нарушение стандартов и говнокод был выпилен. Тут же аж с января было дано время. Но решения все так же костыли и палки.

Если данная тема и плагин нарушают правила форума - удали их.
 
Всем привет. Вчера установил плагин - утром ошибок на несколько страниц. Не корректно работает с rss?
Посмотреть вложение 105455
Код:
ErrorException: [E_NOTICE] Undefined offset: 0 src/addons/MxR/AnonReferrer/XF/BbCode/Renderer/Html.php:14
Сгенерирована пользователем: Неизвестная учётная запись 10 Авг 2019 в 11:43

Трассировка стека
#0 src/addons/MxR/AnonReferrer/XF/BbCode/Renderer/Html.php(14): XF::handlePhpError(8, '[E_NOTICE] Unde...', '/home/belorech/...', 14, Array)
#1 [internal function]: MxR\AnonReferrer\XF\BbCode\Renderer\Html->renderTagUrl(Array, 'https://belorec...', Array, Array, Object(MxR\AnonReferrer\XF\BbCode\Renderer\Html))
#2 src/XF/BbCode/Renderer/Html.php(295): call_user_func(Array, Array, 'https://belorec...', Array, Array, Object(MxR\AnonReferrer\XF\BbCode\Renderer\Html))
#3 src/XF/BbCode/Traverser.php(61): XF\BbCode\Renderer\Html->renderTag(Array, Array)
#4 src/XF/BbCode/Traverser.php(37): XF\BbCode\Traverser->renderSubTree(Array, Array)
#5 src/XF/BbCode/Traverser.php(20): XF\BbCode\Traverser->renderAst(Array, Object(XF\BbCode\RuleSet), Array)
#6 src/XF/Pub/View/Forum/Rss.php(92): XF\BbCode\Traverser->render('Василию ...', Object(XF\BbCode\Parser), Object(XF\BbCode\RuleSet), Array)
#7 src/XF/Mvc/Renderer/AbstractRenderer.php(91): XF\Pub\View\Forum\Rss->renderRss()
#8 src/XF/Mvc/Renderer/Xml.php(74): XF\Mvc\Renderer\AbstractRenderer->renderViewObject('XF:Forum\\Rss', '', Array)
#9 src/XF/Mvc/Dispatcher.php(418): XF\Mvc\Renderer\Xml->renderView('XF:Forum\\Rss', '', Array)
#10 src/XF/Mvc/Dispatcher.php(400): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Rss), Object(XF\Mvc\Reply\View))
#11 src/XF/Mvc/Dispatcher.php(360): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Rss), Object(XF\Mvc\Reply\View))
#12 src/XF/Mvc/Dispatcher.php(53): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'rss')
#13 src/XF/App.php(2178): XF\Mvc\Dispatcher->run()
#14 src/XF.php(390): XF\App->run()
#15 index.php(20): XF::runApp('XF\\Pub\\App')
#16 {main}

Содержимое запроса
array(4) {
  ["url"] => string(19) "/forums/-/index.rss"
  ["referrer"] => bool(false)
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
В rss изменения как в этом посту.

Xenforo 2.1.3, Плагин 2.0.5.2
rss полностью работал и не генерировал ошибок, в том числе с модификацией
Но т.к суть ошибки ясна, я сделал фикс. Прикреплю его к этому сообщению, надеюсь проблем более у вас не возникнет.

Хорошего дня!
 

Вложения

  • MxR-AnonReferrer-2.0.5.2 fix.zip
    12 KB · Просмотры: 10
Кто нибудь использовал совместно с [D.C] Link Proxy 1.0.1 ?
AnonReferrer System
не меняет ссылку на самой странице редиректа. Или может неправильно настраиваю((
 
Первый плагин перенаправляет внешние ссылки через редирект, которые отображаются только на отдельной странице, а данный плагин же видит эти ссылки, как внутренние... Проще в первый плагин тогда уж на отдельную страницу добавить анонимизатор.
А в целом Вы уж совсем перемудрили, установив и то, и другое...
 
Первый плагин перенаправляет внешние ссылки через редирект, которые отображаются только на отдельной странице, а данный плагин же видит эти ссылки, как внутренние... Проще в первый плагин тогда уж на отдельную страницу добавить анонимизатор.
А в целом Вы уж совсем перемудрили, установив и то, и другое...
На 1.5 версии стояли (XFI) Анонимизация внешних ссылок и GoodForNothing Link Proxy 1.0.5. Все отлично работало совместно, вот и пошел по этому пути и для XF2. Раз такая петрушка добавил анонимизацию через модификацию шаблона вытягивающий сервис редиректа из настроек аддона. Все работает.
 
Последнее редактирование:
xenforomen, а можно пояснить для чего вся эта "петрушка" нужна? Пользователям доставляет удовольствие ожидать перехода, лицезрения лишнюю страницу твоего форума?
 
xenforomen, а можно пояснить для чего вся эта "петрушка" нужна? Пользователям доставляет удовольствие ожидать перехода, лицезрения лишнюю страницу твоего форума?
Чтобы не плодить 100500 внешних ссылок. Опечатался, думал написал в теме с [D.C] Link Proxy 1.0.1, туда добавил анонимные сервисы
 
Последнее редактирование:
Но внешняя ссылка, в сообщении так или иначе определяется как внешняя :) ты только переход по ней скрываешь.
1578286120193.png
ссылка же внутренняя

Skaiman Понятное дело если ссылки под хайдом, то смысла нет. Достаточно только анонимности.
 
MxR обновил(а) ресурс [MxR] AnonReferrer System новой записью:

Обновление с небольшим расширением функционала

  • Изменение основной задачи плагина, теперь это Скрытие ссылок от гостей.
  • Возможность отключать скрытие referer у ссылок, без отключения остальных функций плагина.
  • Исправление из данного поста перенесено в основную ветку обновлений.
  • Расширение поддержки плагина до версии xenforo 2.2.x
  • Сервисы для скрытия referer у ссылок не работающие и не поддерживающие https были удалены из плагина.
Обновление не является обязательным, если Вас устраивает возможности предыдущих версий.

Узнать больше об этом обновлении...
 
Последнее редактирование модератором:
Спасибо за плагин. Нашел одну ошибку.

Почему от гостей скрываются внутренние ссылки сайта?

И можете сделать, что бы ссылки от гостей не скрывались в подписях (можно опционально включалось в настройках)?
 
Почему от гостей скрываются внутренние ссылки сайта?

Это не ошибка. Все используемые домены форума должны быть внесены в Список зеркал, Одна строка - один домен без http/s. Наверное мне стоило указать это в теме.
Функции плагина разрабатывались для форума у которого в одно время было до 5 доменов(зеркал) на один и тот же контент (Отдельно: Пользователям, Поиску(СЕО), TOR)
По этой причине было решено не делать дополнительных проверок main url-а, т.к доменов в любом случае несколько. Все они должны определяться, не скрываться и меняться в тексте в зависимости от конкретного используемого домена. Чтоб не было кросс-доменной перелинковки, и юзеров не перебрасывало с домена на домен.

Если же Вам нужно чтоб конкретный домен плагин вообще не затрагивал и не подменял, внесите его в whitelist.
 
Последнее редактирование:
MxR, внес домен в "Whitelist", но для гостей также остается недоступной ссылка на домен.

В Whitelist сайт внес в формате: site.ru
 
MxR, внес домен в "Whitelist", но для гостей также остается недоступной ссылка на домен.

В Whitelist сайт внес в формате: site.ru

Отправьте пожалуйста пример в ЛС, я не понял в чем суть проблемы. Например ссылку на форум если он публичен и скриншот настроек.
whitelist - для сторонних доменов которые не должны быть затронуты плагином.
mirrors list - для всех зеркал форума, включая основной домен. Т.е даже если у Вас всего один домен, Вы должны внести его туда.
 
Последнее редактирование:
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу