X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Нужен модуль для Dle, Который делает внешние ссылки локальными
Wolfak
Wolfak
Topic Starter сообщение 25.1.2010, 12:50; Ответить: Wolfak
Сообщение #1


Здравствуйте нужен модуль который делает все внешние ссылки локальными, которые находятся не только в новостях, но и блоках и т.д.
Можно со страницей переадресации, вот например у меня такой установлен на ipb:
http://forwebz.com/forum/go.php?go==8Sdy5C...ZGbvd3LvoDc0RHa
Вот так это выглядит.

Нужно чтото подобное на дле.

Заранее благодарен.

Не кто такой не знает?


--------------------
AppSell - Купить или продать бизнес, стартап, игру, мобильное приложение..
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Number22
Number22
сообщение 25.1.2010, 13:03; Ответить: Number22
Сообщение #2


Есть хак с поддержкой исключений:
http://Ваш сайт.ру/go/?http://стороний сайт.ру

Версия Dle: 7.0, 7.3, 7.5, 8.0

1. Находим в каталоге engine/classes/parse.class.php.
2. Ищем следующую строчку кода:
if ($this->filter_mode) $txt = $this->word_filter($txt, false);


ниже вставляем:
/*

Раскодировка сформированного URL-адреса
*/
$txt = preg_replace( "#<!--FFriend--><noindex><a rel=\"nofollow\" href=[\"'](http://|https://|ftp://|ed2k://|news://|magnet:)?(\S.+?)['\"].+?".">(.+?)</a></noindex><!--EndFFriend-->#ie" , "\$this->decode_friend('\\1\\2', '\\3')", $txt );


3. Находим другую строчку:
return "<a href=\"".$url['html']."\" ".$target.">".$show."</a>" . $url['end'];


заменяем ее на:
/*

Формирование URL-адреса
*/
if($this->check_home($url['html'])||$this->check_friends($url['html']))
{
       return "<a href=\"".$url['html']."\" ".$target.">".$show."</a>" . $url['end'];
}
else
{
      $url['html'] = $config['http_home_url']."go/?".($url['html']);
      return "<!--FFriend--><noindex><a rel=\"nofollow\" href=\"".$url['html']."\" ".$target.">".$show."</a></noindex><!--EndFFriend-->" . $url['end'];
}


4. Находим следующий код:
function word_filter($source, $encode = true) {


выше него вставляем:
/*

Функция: "Дружественный URL"
*/    
function check_friends ($url)
{
    global $config;          
    $friend_url = file($config['http_home_url']."engine/friend/friend_url.txt");      
        
    for ($i = 0; $i < count($friend_url); $i++)
    {  
        $value = str_replace("http://", "", trim($friend_url[$i]));
        $value = str_replace("www.", "",    $value);
        $value = explode('/', $value);
        $value = reset($value);
                      
        if ($value == "" ) continue;
        if (strpos($url, $value) === false) continue; else return true;
    }
    return false;
}

5. Ищем другой код:
return "[leech=".$url."]".$show."[/leech]";
}


вставляем ниже:
/*

Раскодировка сформированного URL-адреса
*/
function decode_friend($url="", $show="")
{    
    global $config;
    $home_url = $config['http_home_url']."go/?";
        
    $url = str_replace($home_url, "", $url);
    $url = explode ("url=", $url);
    $url = end ( $url );
    $url = rawurldecode($url);
        
    return "[url=".$url."]".$show."[/url]";
}


6. Следующую строчку можно подредактировать:
$friend_url = file($config['http_home_url']."engine/friend/friend_url.txt");


Здесь мы указывали путь к текстовому файлу, в котором будут дружественные сайты. Изменяем путь и имя по желанию.

7. Создаем в папке engine подпапку friend, файл friend_url.txt. Не забудьте проверить права на чтение нашей папки и файла с URL. Заполняем файл
friend_url.txt в каждой строке по домену, в формате http://сайт ру/

8. Создаем в корне сайта папку go в ней файл index.php с таким содержимым:
<?php
if (!empty($_SERVER['QUERY_STRING'])){
$re_addr=$_SERVER['QUERY_STRING'];
header('Location: '.$re_addr);
}
?>


9. Там же файл создаем .htaccess и в нем пишем:
DirectoryIndex index.php
RewriteEngine Off


Сообщение отредактировал Number22 - 25.1.2010, 15:57


--------------------
Подпись
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
DSEO
DSEO
сообщение 25.1.2010, 13:23; Ответить: DSEO
Сообщение #3


8,2 найти строки не могу не находит
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Number22
Number22
сообщение 25.1.2010, 13:32; Ответить: Number22
Сообщение #4


Я на 7.5 ставил. Хак не мой, технические данные из интернета rolleyes.gif


--------------------
Подпись
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
DSEO
DSEO
сообщение 25.1.2010, 14:36; Ответить: DSEO
Сообщение #5


Так убери с поста 8,2
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wolfak
Wolfak
Topic Starter сообщение 25.1.2010, 15:37; Ответить: Wolfak
Сообщение #6


Number22, я ставил чтото подобное но у меня только ссылки в новостях становились локальными, этот тоже такой или и в блоках будут локальные?


--------------------
AppSell - Купить или продать бизнес, стартап, игру, мобильное приложение..
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Number22
Number22
сообщение 25.1.2010, 15:58; Ответить: Number22
Сообщение #7


Будут. Фактически он делает все ссылки локальными, но поддерживает исключения которые ты в файл вносишь


--------------------
Подпись
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wolfak
Wolfak
Topic Starter сообщение 25.1.2010, 19:12; Ответить: Wolfak
Сообщение #8


Мне бы для 8.* версии


--------------------
AppSell - Купить или продать бизнес, стартап, игру, мобильное приложение..
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wolfak
Wolfak
Topic Starter сообщение 31.1.2010, 12:51; Ответить: Wolfak
Сообщение #9


Нет такого для восмерки?


--------------------
AppSell - Купить или продать бизнес, стартап, игру, мобильное приложение..
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wolfak
Wolfak
Topic Starter сообщение 1.2.2010, 17:03; Ответить: Wolfak
Сообщение #10


Number22, почитал в интернете о этом хаке, говорят что только в новостях будут локальными. И говорят что на 8,3 работает.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
AppSell - Купить или продать бизнес, стартап, игру, мобильное приложение..
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
3 Rebex 935 Сегодня, 20:50
автор: Rebex
Открытая тема (нет новых ответов) Посоветуйте массажер для спины и шеи
10 Boymaster 894 Сегодня, 18:02
автор: Boymaster
Открытая тема (нет новых ответов) Обучение Email Рассылкам + Софт Для Автоматизации (100к в сутки с сервера)
10 zennoboss 4653 Сегодня, 5:20
автор: Skyworker
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
14 Aloof 3381 Вчера, 13:50
автор: Vmir
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыЛюблю творить! Статьи для вас
Копирайтинг- моя жизнь!
312 Zoya83 190713 Вчера, 7:51
автор: DimonX


 



RSS Текстовая версия Сейчас: 24.4.2024, 23:30
Дизайн