Link-Hider für Unregistrierte..

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Naughty-Boy7
Mitglied
Beiträge: 38
Registriert: 11.12.2004 23:14
Wohnort: Bochum

Link-Hider für Unregistrierte..

Beitrag von Naughty-Boy7 »

Hallo,

Gibt es einen Mod, der es ermöglicht Unregistrierten Hyperlinks zu verstecken?

z.B., dass bei den Registrierten
http://xyz.com/bla.zip steht aber bei Gästen
"Einloggen, um Hyperlinks zu sehen"
oder so Ähnlich.

Wäre über Hilfe sehr dankbar.

MfG,
Naughty
Benutzeravatar
MagMo
Ehemaliges Teammitglied
Beiträge: 584
Registriert: 30.10.2005 16:06
Wohnort: Köln
Kontaktdaten:

Beitrag von MagMo »

Hi,
Naughty-Boy7 hat geschrieben:Gibt es einen Mod, der es ermöglicht Unregistrierten Hyperlinks zu verstecken?
Mir ist kein solcher MOD bekannt, das sollte sich aber durch folgende kleine Änderungen erreichen lassen:

includes/bbcode.php

Code: Alles auswählen

#-----[ FIND ]-----
function bbencode_second_pass($text, $uid) 
{ 
   global $lang, $bbcode_tpl; 

#-----[ REPLACE WITH ]----- 
function bbencode_second_pass($text, $uid) 
{ 
   global $lang, $bbcode_tpl, $userdata; 
 
#-----[ FIND ]-----
	// matches a [url]xxxx://www.phpbb.com[/url] code..
	$patterns[] = "#\[url\]([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
	$replacements[] = $bbcode_tpl['url1'];

	// [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url\]((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
	$replacements[] = $bbcode_tpl['url2'];

	// [url=xxxx://www.phpbb.com]phpBB[/url] code..
	$patterns[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
	$replacements[] = $bbcode_tpl['url3'];

	// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
	$replacements[] = $bbcode_tpl['url4'];

	// [email]user@domain.tld[/email] code..
	$patterns[] = "#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
	$replacements[] = $bbcode_tpl['email'];

#-----[ REPLACE WITH ]----- 
	// matches a [url]xxxx://www.phpbb.com[/url] code..
	$patterns[] = "#\[url\]([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
	if (!$userdata['session_logged_in'] ) 
	{ 
		$replacements[] = $lang['BBCode_NO_LINK']; 
	} 
	else 
	{ 
		$replacements[] = $bbcode_tpl['url1'];
	}

	// [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url\]((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
	if (!$userdata['session_logged_in'] ) 
	{ 
		$replacements[] = $lang['BBCode_NO_LINK']; 
	} 
	else 
	{ 
		$replacements[] = $bbcode_tpl['url2'];
	}

	// [url=xxxx://www.phpbb.com]phpBB[/url] code..
	$patterns[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
	if (!$userdata['session_logged_in'] ) 
	{ 
		$replacements[] = $lang['BBCode_NO_LINK']; 
	} 
	else 
	{ 
		$replacements[] = $bbcode_tpl['url3'];
	}

	// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
	if (!$userdata['session_logged_in'] ) 
	{ 
		$replacements[] = $lang['BBCode_NO_LINK']; 
	} 
	else 
	{ 
		$replacements[] = $bbcode_tpl['url4'];
	}

	// [email]user@domain.tld[/email] code..
	$patterns[] = "#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
	if (!$userdata['session_logged_in'] ) 
	{ 
		$replacements[] = $lang['BBCode_NO_LINK']; 
	} 
	else 
	{ 
		$replacements[] = $bbcode_tpl['email'];
	}
language/xxx/lang_main.php

Code: Alles auswählen

#-----[ FIND ]----- 
?> 

#-----[ BEFORE, ADD ]----- 
$lang['BBCode_NO_LINK'] = '[Platzhalter für ein Link]';
Nicht vergessen die Datei lang_main.php für alle installierten Sprachen zu ändern.

Resultat der Änderung:
Nicht eingeloggte Besucher sehen anstelle des Links nur den Text, der in der Sprachdatei unter $lang['BBCode_NO_LINK'] angegeben ist.

Es werden mit dieser Änderung auch alle MailTo-Links ersetzt, wenn dieses nicht geschehen soll, dann lässt du einfach folgenden Teil der Datei includes/bbcode.php unverändert:

Code: Alles auswählen

	// [email]user@domain.tld[/email] code..
	$patterns[] = "#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
	$replacements[] = $bbcode_tpl['email'];
Grüße
MagMo
Benutzeravatar
Naughty-Boy7
Mitglied
Beiträge: 38
Registriert: 11.12.2004 23:14
Wohnort: Bochum

Beitrag von Naughty-Boy7 »

Hi,

Wow danke echt nett von dir :)
Benutzeravatar
Natheedo
Mitglied
Beiträge: 139
Registriert: 14.07.2003 13:21

Beitrag von Natheedo »

Hi,

möchte mich an der Stelle auch bei dir bedanken, habe genau sowas gesucht.

Leider ist mir aber auch gleichzeitig ein kleiner "Fehler" aufgefallen - Also der Mod funktioniert schon, aber nur bei den Links in [*url*]bla bla[*/url*]

Wenn man normale Links postet also lediglich www.test.de dann hat das keine Wirkung.

Könnte man das noch irgendwie erweitern?

Wäre super !

Vielen Dank !

Natheedo
Benutzeravatar
MagMo
Ehemaliges Teammitglied
Beiträge: 584
Registriert: 30.10.2005 16:06
Wohnort: Köln
Kontaktdaten:

Beitrag von MagMo »

Hi,
Natheedo hat geschrieben:Wenn man normale Links postet also lediglich www.test.de dann hat das keine Wirkung.

Könnte man das noch irgendwie erweitern?
Problem erkannt und behoben. Die Lösung des Problems findest du für normale Links hier, für die eMail-Links hier.

Grüße
MagMo
Benutzeravatar
Natheedo
Mitglied
Beiträge: 139
Registriert: 14.07.2003 13:21

Beitrag von Natheedo »

Vielen Dank :)

Natheedo
Highwayman
Mitglied
Beiträge: 549
Registriert: 21.04.2005 15:52
Wohnort: Thailand
Kontaktdaten:

Beitrag von Highwayman »

Hallo MagMo

Bei deinem Code habe ich ein kleinbers Problem mit den rlink:

Code: Alles auswählen

#-----[ FIND ]----- 
   $ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret); 

#-----[ REPLACE WITH ]----- 
   if (!$userdata['session_logged_in'] ) 
   { 
      $ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1".$lang['BBCode_NO_LINK'], $ret); 
   } 
   else 
   { 
      $ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret); 
   } 

#-----[ FIND ]----- 
   $ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret); 

#-----[ REPLACE WITH ]----- 
   if (!$userdata['session_logged_in'] ) 
   { 
      $ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1".$lang['BBCode_NO_LINK'], $ret); 
   } 
   else 
   { 
      $ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret); 
   } 
   
Hier ist der rlink bereits am hantieren. kannst du da für uns mit rlink was machen?

schon mal danke!
Benutzeravatar
Natheedo
Mitglied
Beiträge: 139
Registriert: 14.07.2003 13:21

Beitrag von Natheedo »

Dumme Frage aber was ist mit rLink gemeint ?

Natheedo
Highwayman
Mitglied
Beiträge: 549
Registriert: 21.04.2005 15:52
Wohnort: Thailand
Kontaktdaten:

Beitrag von Highwayman »

Natheedo hat geschrieben:Dumme Frage aber was ist mit rLink gemeint ?

Natheedo
Man klicke hier
Benutzeravatar
Natheedo
Mitglied
Beiträge: 139
Registriert: 14.07.2003 13:21

Beitrag von Natheedo »

Aso danke, das ist dann aber mehr störend in meinen Augen, dachte es wäre ne Standardfunktion oder so :)

Natheedo
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“