• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь редирект внешних ссылок

Статус
В этой теме нельзя размещать новые ответы.

@sms

4ua.info
Регистрация
20 Окт 2006
Сообщения
407
Реакции
94
Перенесено из темы дле 8.0

Сразу вопрос по существу:
1.Есть такая штука как фильтр слов:
что имеем ссылки на варезнике на letitbit и прочие обменники.
цель сделать автозамену этих ссылок на подобное Для просмотра ссылки Войди или Зарегистрируйся
фильтр слов на данном примере не работает, т.е фильтр добавился, но пользователи все равно размещают прямые ссылки на обменники.
помагает решение быстрый поиск и замена, но лишь для старых новостей.
как сие можно реализовать?
2.как запретить добавлять линки на Для просмотра ссылки Войди или Зарегистрируйся ?

ПС: модуль редирект не работает на 8ке!
через тег leech не предлагать, так как это варезник и добавляют очень много пользователей.
есть мысли что править надо parse.class.php, но что именно пока не дошло.
 
я предполагаю что
\www\engine\classes\parse.class.php 1251 Строка
Код:
return "<noindex><a href=\"" . $url['html'] . "\" " . $target . " rel=\"nofollow\">" . $show . "</a></noindex>" . $url['end'];

заменить на
Код:
return "<noindex><a href=\"/go.php?url=" . $url['html'] . "\" " . $target . " rel=\"nofollow\">" . $show . "</a></noindex>" . $url['end'];

скрипт редиректа "go.php" поместить в корень

скрипт, вероятно типа подобного
PHP:
<?php
    /* Get URL to "goto" from POST var */
    $url = $_GET["url"];

    if ($url == "") {
        /* If "goto" URL is not set, then set it to the refering page */
        $url = $_SERVER["HTTP_REFERER"];
    } elseif (!ereg("^http\:\/\/", $url) && !ereg("^https\:\/\/", $url) && !ereg("^ftp\:\/\/", $url)) {
        /* if protocol of http or https or ftp is not specified, set it to http */
        $url = "http://" . $url;
    }
    /* "goto" the specified URL */
    header("Location: $url");
?>
 
Однозначно нужно править парсер, примерно как описывается здесь: Для просмотра ссылки Войди или Зарегистрируйся
но в 8-ке возможно не все будет идентично указанной инструкции, т.к. инструкция под 7-ю ветку.
 
$source = preg_replace( "#\[url\](\S.+?)\[/url\]#ie" , "\$this->build_url(array('html' => '\\1', 'show' => '\\1', 'leech' => '1'))", $source );
$source = preg_replace( "#\[url\s*=\s*\&quot\;\s*(\S+?)\s*\&quot\;\s*\](.*?)\[\/url\]#ie" , "\$this->build_url(array('html' => '\\1', 'show' => '\\2', 'leech' => '1'))", $source );
$source = preg_replace( "#\[url\s*=\s*(\S.+?)\s*\](.*?)\[\/url\]#ie" , "\$this->build_url(array('html' => '\\1', 'show' => '\\2', 'leech' => '1'))", $source );
вот что-то вроде этого в parse.class.php надо вставить вместо того что там находится в районе 290-293 строки будут все внешние ссылки через лич

PS на восьмерке еще не пробовал но сейчас смотрел вроде тоже самое
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху