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

У вас есть идея для расширения функциональности phpBB 2.0.x? Расскажите о ней здесь!

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

Сообщение dnk 04.08.2007 20:49

Не подскажете название мода редиректа внешних ссылок, используемых на phpbbguru.net (через go.php), а то использую немецкий rlink, но как-то мне он не очень по душе.
dnk
phpBB 2.0.9
 
Сообщения: 366
Зарегистрирован: 23.08.2006 18:34


Сообщение Xpert 05.08.2007 9:20

Он самописный и платный... Если что - в личку.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5636
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru

Сообщение SugutorBatia 06.08.2007 10:41

Создаем файл 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: Кодировки
Аватара пользователя
SugutorBatia
phpBB 2.0.2
 
Сообщения: 153
Зарегистрирован: 31.08.2005 11:23

Сообщение Xpert 06.08.2007 11:39

SugutorBatia
Если бы все было так просто :) На самом деле обработка не должна вестись через bbcode.tpl, потому что это в корне неверно.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5636
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru

Сообщение SugutorBatia 06.08.2007 11:42

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

У вас есть какие то иные сображения на эту тему - с большим удовольствием выслушаю вас.
http://batia.info
Быстрое решение проблемы с PhpBB3: Кодировки
Аватара пользователя
SugutorBatia
phpBB 2.0.2
 
Сообщения: 153
Зарегистрирован: 31.08.2005 11:23

Сообщение Xpert 06.08.2007 12:29

Работает ведь != правильно работает. Тут примерно раз в 2 месяца выскакивают рецепты, подобные вашему с возгласами "вот смотрите я вам классно сделал бесплатно то за что другие денег требуют". Я даже объяснять не буду почему это неправильно, нет желания вам особенности передачи параметров пересказывать, изучайте протокол...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5636
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru

Сообщение SugutorBatia 06.08.2007 13:03

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

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

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

Спасибо... Хотя бы за то что сказали - что скрипт не правильный и надо его еще проработать :)
http://batia.info
Быстрое решение проблемы с PhpBB3: Кодировки
Аватара пользователя
SugutorBatia
phpBB 2.0.2
 
Сообщения: 153
Зарегистрирован: 31.08.2005 11:23

Сообщение forall 08.11.2007 12:46

SugutorBatia получилось чтонить сделать?=)
forall
phpBB 2.0.0
 
Сообщения: 124
Зарегистрирован: 20.04.2007 20:46

Сообщение SugutorBatia 08.11.2007 13:07

Получилось :) но сейчас я перешел на PHPBB 3 - и жду пока выйдет окончательный релиз. Тогда буду уже модами обвешивать...
http://batia.info
Быстрое решение проблемы с PhpBB3: Кодировки
Аватара пользователя
SugutorBatia
phpBB 2.0.2
 
Сообщения: 153
Зарегистрирован: 31.08.2005 11:23

Сообщение forall 08.11.2007 13:18

Выложи пожалуйста свою правильную реализацию для 2
forall
phpBB 2.0.0
 
Сообщения: 124
Зарегистрирован: 20.04.2007 20:46

Сообщение Siava 08.11.2007 16:52

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

P.S.
по сути получилось создать полный аналог платного se_friendly_board, что установлен тут, а может и лучше :)
Генератор db_update-файлов для phpBB 2.0
Еще одно нарушение правил и будете забанены.
© Mr. Anderson
Аватара пользователя
Siava
phpBB 3.0.2
 
Сообщения: 2652
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер

Сообщение Mr. Anderson 08.11.2007 17:28

Siava писал(а):по сути получилось создать полный аналог платного se_friendly_board, что установлен тут, а может и лучше

А sn покажи - мы посмотрим чего у тебя получилось :) Вдруг дисительно лучше.
Правила конференции (20.12.2007) | Общие ошибки новичков (07.11.2005) | Шаблон запроса | Руководство пользователя | FAQ
Последние и единственно актуальные на сегодня версии - 2.0.23 и 3.0.3!
Поддержка по ICQ, e-mail и ЛС оказывается только за WM!


Da Blog
Аватара пользователя
Mr. Anderson
phpBB Guru
 
Сообщения: 2864
Зарегистрирован: 13.03.2004 21:32
Откуда: СССР

Сообщение Siava 08.11.2007 17:39

Mr. Anderson
Показывать не буду, к тому же есть одна недоработка, которую пока так и не смог исправить (писал в теме мода).
Генератор db_update-файлов для phpBB 2.0
Еще одно нарушение правил и будете забанены.
© Mr. Anderson
Аватара пользователя
Siava
phpBB 3.0.2
 
Сообщения: 2652
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер

Сообщение Mr. Anderson 08.11.2007 19:43

Siava
Ну хоть в ЛС результат работы мода, а? :)
Правила конференции (20.12.2007) | Общие ошибки новичков (07.11.2005) | Шаблон запроса | Руководство пользователя | FAQ
Последние и единственно актуальные на сегодня версии - 2.0.23 и 3.0.3!
Поддержка по ICQ, e-mail и ЛС оказывается только за WM!


Da Blog
Аватара пользователя
Mr. Anderson
phpBB Guru
 
Сообщения: 2864
Зарегистрирован: 13.03.2004 21:32
Откуда: СССР

Сообщение crash 09.11.2007 2:45

Siava
Siava писал(а): а может и лучше

как то с недоработкой не состыковывается)))
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
crash
Support Team Leader
 
Сообщения: 6239
Зарегистрирован: 07.07.2004 16:12
Откуда: Мирный

След.

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0