[Помощь] Скрываем document.referer, и редирект (версии IPB)

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

В общем нашёл редирект доработанный, как мне показалось на первый взгляд, но не тут то было :) В общем при быстром редактировани он не подставляет к ссылке ещё 1 адрес, а оставляет всего 1 редирект перед ссылкой... Но вот редиректит то полностью все ссылки :( Хотелось бы, чтобы внутренние ссылки оставались прежними, а только к внешним добавлялся редирект :)
В аттаче этот мод... Может кто додумает как исправить ?)
 

Вложения

  • Link_Redirection.zip
    10,9 KB · Просмотры: 11
Можно добавить условие:
Код:
!strpos($url['html'],'НАШ_ФОРУМ.ru')

Тоесть, заменить в /sources/classes/bbcode/class_bbcode_core.php:
Код:
		return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];

не как в инструкции, а на:
Код:
		if (!strpos($url['html'],'НАШ_ФОРУМ.ru')){
			if (!$this->ipsclass->vars['redirect_on']){
				return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
			}
			
			// use provided redirect url if one has been given, default to our own redirect.php
			if (strlen(trim($this->ipsclass->vars['redirect_url'])) < 1) {
				$redir = $this->ipsclass->vars['board_url'] . '/redirect.php?url=';
			} else {
				$redir = trim($this->ipsclass->vars['redirect_url']);
			}
				
			$len = strlen($redir);
			while (substr($url['html'], 0, $len) == $redir)
				$url['html'] = substr($url['html'], $len);
			

			return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$redir.$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
		}
		else{
			return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
		}
 
Cepera51, Он вообще эти ссылки не парсит так походу..)) Тупо ничего не появляется в сообщении... Если ссылка на форум...
И там кстати файлик обновления есть :)) там код на такой заменять надо:
Код:
		//-----------------------------------------
		// Change the url to redirect.php
		//-----------------------------------------

		if (!$this->ipsclass->vars['redirect_on']) {
			return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
		}
		
		$redir = $this->ipsclass->vars['board_url'] . '/redirect.php?url=';
			
		$len = strlen($redir);
		while (substr($url['html'], 0, $len) == $redir) {
			$url['html'] = substr($url['html'], $len);
		}
		return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$redir.$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
 
Я на свой форум поставил, с моим изменением работает.
Я сначала забыл ковычку закрыть
if (!strpos($url['html'],'НАШ_ФОРУМ.ru')){
 
Сорри, эт я else забыл добавить)) У меня ссылка на свой форум просто напросто не обрабатывало))
 
Для каких версий это актуально?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху