Link-Hider für Unregistrierte..
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.
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.
- Naughty-Boy7
- Mitglied
- Beiträge: 38
- Registriert: 11.12.2004 23:14
- Wohnort: Bochum
Link-Hider für Unregistrierte..
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
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
- MagMo
- Ehemaliges Teammitglied
- Beiträge: 584
- Registriert: 30.10.2005 16:06
- Wohnort: Köln
- Kontaktdaten:
Hi,
includes/bbcode.php
language/xxx/lang_main.php
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:
Grüße
MagMo
Mir ist kein solcher MOD bekannt, das sollte sich aber durch folgende kleine Änderungen erreichen lassen:Naughty-Boy7 hat geschrieben:Gibt es einen Mod, der es ermöglicht Unregistrierten Hyperlinks zu verstecken?
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'];
}
Code: Alles auswählen
#-----[ FIND ]-----
?>
#-----[ BEFORE, ADD ]-----
$lang['BBCode_NO_LINK'] = '[Platzhalter für ein Link]';
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'];
MagMo
- Naughty-Boy7
- Mitglied
- Beiträge: 38
- Registriert: 11.12.2004 23:14
- Wohnort: Bochum
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
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
- MagMo
- Ehemaliges Teammitglied
- Beiträge: 584
- Registriert: 30.10.2005 16:06
- Wohnort: Köln
- Kontaktdaten:
Hi,
Grüße
MagMo
Problem erkannt und behoben. Die Lösung des Problems findest du für normale Links hier, für die eMail-Links hier.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?
Grüße
MagMo
-
- Mitglied
- Beiträge: 549
- Registriert: 21.04.2005 15:52
- Wohnort: Thailand
- Kontaktdaten:
Hallo MagMo
Bei deinem Code habe ich ein kleinbers Problem mit den rlink:
Hier ist der rlink bereits am hantieren. kannst du da für uns mit rlink was machen?
schon mal danke!
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);
}
schon mal danke!
-
- Mitglied
- Beiträge: 549
- Registriert: 21.04.2005 15:52
- Wohnort: Thailand
- Kontaktdaten:
Man klicke hierNatheedo hat geschrieben:Dumme Frage aber was ist mit rLink gemeint ?
Natheedo