Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Редиректор go.php на phpbbguru

Идеи для расширения функциональности phpBB 2.0.x
dnk
phpBB 2.0.4
Сообщения: 431
Стаж: 17 лет 8 месяцев
Благодарил (а): 7 раз
Поблагодарили: 1 раз

Редиректор go.php на phpbbguru

Сообщение dnk »

Не подскажете название мода редиректа внешних ссылок, используемых на phpbbguru.net (через go.php), а то использую немецкий rlink, но как-то мне он не очень по душе.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Он самописный и платный... Если что - в личку.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
SugutorBatia
phpBB 1.4.4
Сообщения: 151
Стаж: 18 лет 7 месяцев

Сообщение SugutorBatia »

Создаем файл redirect.php

Код: Выделить всё

<?php
if( !(preg_match("/^http:\/\/([-a-z0-9\.]+\.[a-z]{2,6}\/?[\-\_\%\{\}\/\#\~\:\?\;\=\.\+\&a-z0-9]*)$/i", $_GET['url'])) ) 
{
die("Неправильный URL<br> <a href='".$_GET['url']."'>".$_GET['url']."</a>");
}
else
{
header("HTTP/1.1 303 See Other");
header("location: ".$_GET['url']);
exit();
}
?>
В файле bbcode.tpl изменяем ссылку:

Код: Выделить всё

<!-- BEGIN url --><a href="/redirect.php?url={URL}" target="_new" class="postlink">{DESCRIPTION}</a><!-- END url -->
А так же в файле bbcode.php изменяем ссылки:

Код: Выделить всё

function make_clickable($text)
{
	$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $text);

	// pad it with a space so we can match things at the start of the 1st line.
	$ret = ' ' . $text;

	// matches an "xxxx://yyyy" URL at the start of a line, or after a space.
	// xxxx can only be alpha characters.
	// yyyy is anything up to the first space, newline, comma, double quote or <
	$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"/redirect.php?url=\\2\" target=\"_new\">\\2</a>", $ret);

	// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
	// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
	// zzzz is optional.. will contain everything up to the first space, newline, 
	// comma, double quote or <.
	$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"/redirect.php?url=http://\\2\" target=\"_new\">\\2</a>", $ret);

	// matches an email@domain type address at the start of a line, or after a space.
	// Note: Only the followed chars are valid; alphanums, "-", "_" and or ".".
	$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);

	// Remove our padding..
	$ret = substr($ret, 1);

	return($ret);
}
Если хотите, чтобы было как здесь - только для гостей перенаправление работало - обратиесь к Expert'у :) за платной версией.
Я написал бесплатную :) для себя :) решил поделиться...

Хотя если сильно надо - могу сделать чтобы только гостям показывалось :))
http://batia.info
Быстрое решение проблемы с PhpBB3: Кодировки
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

SugutorBatia
Если бы все было так просто :) На самом деле обработка не должна вестись через bbcode.tpl, потому что это в корне неверно.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
SugutorBatia
phpBB 1.4.4
Сообщения: 151
Стаж: 18 лет 7 месяцев

Сообщение SugutorBatia »

Xpert
Почему "в корне не верно"?
Работает ведь :)

У вас есть какие то иные сображения на эту тему - с большим удовольствием выслушаю вас.
http://batia.info
Быстрое решение проблемы с PhpBB3: Кодировки
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Работает ведь != правильно работает. Тут примерно раз в 2 месяца выскакивают рецепты, подобные вашему с возгласами "вот смотрите я вам классно сделал бесплатно то за что другие денег требуют". Я даже объяснять не буду почему это неправильно, нет желания вам особенности передачи параметров пересказывать, изучайте протокол...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
SugutorBatia
phpBB 1.4.4
Сообщения: 151
Стаж: 18 лет 7 месяцев

Сообщение SugutorBatia »

Xpert
Спасибо...
Сегодня почитаю мануал...
Может быть сам до чего нибудь додумаюсь...

Я понимаю что вы один :) а нас "умников" много...
Но я не считаю себя "умником" - я просто хочу научиться делать правильно :)

Жаль что вы не хотите помоч мне :) но я вас понимаю, поэтому не смею винить :)

Спасибо... Хотя бы за то что сказали - что скрипт не правильный и надо его еще проработать :)
http://batia.info
Быстрое решение проблемы с PhpBB3: Кодировки
forall
phpBB 1.4.4
Сообщения: 130
Стаж: 17 лет

Сообщение forall »

SugutorBatia получилось чтонить сделать?=)
Аватара пользователя
SugutorBatia
phpBB 1.4.4
Сообщения: 151
Стаж: 18 лет 7 месяцев

Сообщение SugutorBatia »

Получилось :) но сейчас я перешел на PHPBB 3 - и жду пока выйдет окончательный релиз. Тогда буду уже модами обвешивать...
http://batia.info
Быстрое решение проблемы с PhpBB3: Кодировки
forall
phpBB 1.4.4
Сообщения: 130
Стаж: 17 лет

Сообщение forall »

Выложи пожалуйста свою правильную реализацию для 2
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

У меня получилось, обработка ведётся в bbcode.php, но выкладывать или раздавать не буду, чтобы не лишать Xpert'а потенциальных клиентов =)

P.S.
по сути получилось создать полный аналог платного se_friendly_board, что установлен тут, а может и лучше :)
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Стаж: 20 лет 1 месяц
Откуда: СССР
Благодарил (а): 5 раз
Поблагодарили: 105 раз

Сообщение Mr. Anderson »

Siava писал(а):по сути получилось создать полный аналог платного se_friendly_board, что установлен тут, а может и лучше
А sn покажи - мы посмотрим чего у тебя получилось :) Вдруг дисительно лучше.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Mr. Anderson
Показывать не буду, к тому же есть одна недоработка, которую пока так и не смог исправить (писал в теме мода).
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Стаж: 20 лет 1 месяц
Откуда: СССР
Благодарил (а): 5 раз
Поблагодарили: 105 раз

Сообщение Mr. Anderson »

Siava
Ну хоть в ЛС результат работы мода, а? :)
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 19 лет 9 месяцев
Откуда: Бердск

Сообщение crash »

Siava
Siava писал(а): а может и лучше
как то с недоработкой не состыковывается)))
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса

Вернуться в «Запросы модов для phpBB 2.0.x»