Невидимые ссылки для гостей на IP.Board 2.3

Невидимые ссылки для гостей на IP.Board 2.3

Когда-то была очень полезная модификация для #IPB, которая защищала ссылки внутри форума от гостей. Ибо нефиг смотреть просто так, регистрируйтесь!

Внедрение модификации

Эта небольшая модификация позволяет сделать так, чтобы ссылки стали скрытыми от гостей. Для этого нужно отредактировать файлы topic.php и class_post.php.

Открыть файл ./sources/action_public/topic.php, найти:

1
2
3
//-----------------------------------------
// Highlight...
//-----------------------------------------

Заменить на:

1
2
3
4
5
6
7
if (!$this->ipsclass->member['id']) {
  //-----------------------------------------
  // Clear links for guests
  //-----------------------------------------

  $row['post'] = preg_replace("#<a href=[\"'].+?[\"'].+?>.+?</a>#", "<i>ссылка</i>", $row['post']);
}

Открыть файл ./sources/classes/class_post.php, найти:

1
2
3
4
5
6
$extra = "";

if ( $tmp_post )
{
  $raw_post .= "[quote name='".$this->parser->make_quote_safe($tp['author_name'])."' date='".$this->parser->make_quote_safe($this->ipsclass->get_date( $tp['post_date'], 'LONG', 1 ))."' post='".$tp['pid']."']\n$tmp_post\n".$extra.'[/quote]'."\n\n\n";
}

Заменить на:

1
2
3
4
5
6
7
8
9
if (!$this->ipsclass->member['id']) {
  //-----------------------------------------
  // Clear links for guests
  //-----------------------------------------

  $tmp_post = preg_replace("#\[url\](\S+?)\[/url\]#i", "[i]ссылка[/i]", $tmp_post);
  $tmp_post = preg_replace("#\[url\s*=\s*\"\;\s*(\S+?)\s*\"\;\s*\](.*?)\[\/url\]#i", "\\2", $tmp_post);
  $tmp_post = preg_replace("#\[url\s*=\s*(\S+?)\s*\](.*?)\[\/url\]#i", "\\2", $tmp_post);
}