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.
- MagMo
- Ehemaliges Teammitglied
- Beiträge: 584
- Registriert: 30.10.2005 16:06
- Wohnort: Köln
- Kontaktdaten:
Hi,
ersetzen durch
und
ersetzen durch
Das sollte eigentlich schon alles sein. NICHT vergessen http://www.deinforum.ch/phpBB2/rlink/ durch den tatsächlichen Pfad zu ersetzen.
Grüße
MagMo
du brauchst da lediglich in meiner vorgeschlagenen Änderung die beiden regulären Ausdrücke durch die von rlink ersetzen (Achtung die kommen jeweils mehr als einmal vor):Highwayman hat geschrieben: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?
Code: Alles auswählen
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href="\\2" target="_blank">\\2</a>", $ret);
Code: Alles auswählen
$ret = preg_replace("#(^|[\n ])([\w]+?://[^ "\n\r\t<]*)#is", "\\1<a href="http://www.deinforum.ch/phpBB2/rlink/rlink.php?url=\\2" target="_blank">\\2</a>", $ret);
Code: Alles auswählen
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href="http://\\2" target="_blank">\\2</a>", $ret);
Code: Alles auswählen
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ "\t\n\r<]*)#is", "\\1<a href="http://www.deinforum.ch/phpBB2/rlink/rlink.php?url=http://\\2" target="_blank">\\2</a>", $ret);
Grüße
MagMo
Sorry MagMo das ich dich doch nochmal belästigen muss, aber wie es scheint war es doch kein Fehler beim kopieren ...
Also ich hab die Email + Link Geschichte zusammengefügt - Da kommt das dabei raus :
Links funktionieren einwandfrei, sowohl die in URL als auch ohne.
Bei Emails hab ich allerdings das Problem das für registrierte Benutzer die Emails angezeigt werden, für Gäste jedoch steht gar nix da - So als ob da gar nix gestanden ist. Also der Platzhalter fehlt komplett ... !?!
Ich hab jetzt alles mehrfach kontrolliert, bekomme es aber nicht selbst hin.
Natheedo
Also ich hab die Email + Link Geschichte zusammengefügt - Da kommt das dabei raus :
Code: Alles auswählen
#
#-----[ OPEN ]------------------------------------------
#
includes/bbcode.php
#
#-----[ 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_EMailLink'];
}
else
{
$replacements[] = $bbcode_tpl['email'];
}
#
#-----[ FIND ]------------------------------------------
#
function make_clickable($text)
{
#
#-----[ ADD AFTER ]------------------------------------------
#
global $lang, $userdata;
#
#-----[ FIND ]-----
#
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a
href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
#
#-----[ REPLACE WITH ]-----
#
if (!$userdata['session_logged_in'] )
{
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1".$bbcode_tpl['email'], $ret);
}
else
{
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a
href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
}
#
#-----[ 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);
}
#
#-----[ OPEN ]------------------------------------------
#
language/lang_german/lang_main.php
#
#-----[ FIND ]-----
#
?>
#
#-----[ BEFORE, ADD ]-----
#
$lang['BBCode_NO_LINK'] = '[Platzhalter für ein Link]';
$lang['BBCode_NO_EMailLink'] = '[Platzhalter für einen MailTo-Link]';
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
Bei Emails hab ich allerdings das Problem das für registrierte Benutzer die Emails angezeigt werden, für Gäste jedoch steht gar nix da - So als ob da gar nix gestanden ist. Also der Platzhalter fehlt komplett ... !?!
Ich hab jetzt alles mehrfach kontrolliert, bekomme es aber nicht selbst hin.
Natheedo
Relativer Pfad tuts aber auch.MagMo hat geschrieben:Das sollte eigentlich schon alles sein. NICHT vergessen http://www.deinforum.ch/phpBB2/rlink/ durch den tatsächlichen Pfad zu ersetzen.

-
- Mitglied
- Beiträge: 549
- Registriert: 21.04.2005 15:52
- Wohnort: Thailand
- Kontaktdaten:
- MagMo
- Ehemaliges Teammitglied
- Beiträge: 584
- Registriert: 30.10.2005 16:06
- Wohnort: Köln
- Kontaktdaten:
Hi,
Ziemlich weit unten im dem von dir angegebenen Code steht:das ist falsch und müsste heißen:Also anstellen von $bbcode_tpl['email'] gehört da $lang['BBCode_NO_EMailLink'] hin.

Grüße
MagMo
Jetzt wo du es sagst. Da ist mir ein kleiner Fehler unterlaufen.Highwayman hat geschrieben:Bei Emails hab ich allerdings das Problem das für registrierte Benutzer die Emails angezeigt werden, für Gäste jedoch steht gar nix da - So als ob da gar nix gestanden ist. Also der Platzhalter fehlt komplett ... !?!

Ziemlich weit unten im dem von dir angegebenen Code steht:
Code: Alles auswählen
if (!$userdata['session_logged_in'] )
{
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1".$bbcode_tpl['email'], $ret);
}
Code: Alles auswählen
if (!$userdata['session_logged_in'] )
{
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1".$lang['BBCode_NO_EMailLink'], $ret);
}
Stimmt. Ich habe allerdings einfach den Code aus der Installationsanleitung von rlink via Copy&Past übernommen. Ob absolut oder relativ ist Geschmacksache, oder in diesem Fall Faulheit.easygo hat geschrieben:Relativer Pfad tuts aber auch.easy

Grüße
MagMo
ich muus das hier auch nochmal aufgreifen...
habe mir das auch soweit eingebaut...mit einer kleinen änderung... wenn gäste in einem forum schreibrechte haben, dann können sie in diesem forum nun auch ganznormal die links sehen... ich fand es etwas blöd, wenn gäste in einem bereich posten dürfen, aber keine links sehen konnten...
soweit habe ich das auch nun alles am laufen... nur mein prob ist, das es für das portal nicht geht...
gebe ich ein post aus einem forum wo die gäste keine schreibrechte haben als news in mein portal, dann werden die links durch den platzhalter ausgetauscht für gäste... soweit alles richtig...
gebe ich nun aber ein post aus einem forum als news in das portal wo gäste posten dürfen (da können ja gäste die links sehen im forum) dann wird im portal für gäste aber der platzhaler eingeblendet.. da sollten aber dann die links zu sehen sein...
ich glaube mal, dass er im portal die schreibrechte der foren nicht kennt, wofür auch normal... aber für meine änderung brauche ich sie...
hat da einer eine lösung... oder eine idee wie ich das hinbekomme..
habe mir das auch soweit eingebaut...mit einer kleinen änderung... wenn gäste in einem forum schreibrechte haben, dann können sie in diesem forum nun auch ganznormal die links sehen... ich fand es etwas blöd, wenn gäste in einem bereich posten dürfen, aber keine links sehen konnten...
soweit habe ich das auch nun alles am laufen... nur mein prob ist, das es für das portal nicht geht...
gebe ich ein post aus einem forum wo die gäste keine schreibrechte haben als news in mein portal, dann werden die links durch den platzhalter ausgetauscht für gäste... soweit alles richtig...

gebe ich nun aber ein post aus einem forum als news in das portal wo gäste posten dürfen (da können ja gäste die links sehen im forum) dann wird im portal für gäste aber der platzhaler eingeblendet.. da sollten aber dann die links zu sehen sein...
ich glaube mal, dass er im portal die schreibrechte der foren nicht kennt, wofür auch normal... aber für meine änderung brauche ich sie...
hat da einer eine lösung... oder eine idee wie ich das hinbekomme..
-
- Mitglied
- Beiträge: 568
- Registriert: 06.03.2005 14:11
- Kontaktdaten:
Hallo,
bei www.oxpus.de gibt es den Hide Mod, welcher genau dis tut und ebenfalls einen ode mitbringt, Texte nur für Admiistratoren sichtbar zu machen.
bei www.oxpus.de gibt es den Hide Mod, welcher genau dis tut und ebenfalls einen ode mitbringt, Texte nur für Admiistratoren sichtbar zu machen.
danke für deine antwort, aber das ist nicht das was ich suche.... der hide mod ist dafür da bestimmte texte oder sonst was "manuell" ausblenden zu lassen.
bei mir werden aber alle geposteten links automatisch dur Platzhalter ausgetauscht so bald ein gast ein thema liest, wo er aber keine schreibrechte hat. das geht auch super... also keine probs..
nun habe ich das etwas erweitert... da ich mir gedacht habe
wenn gäste in einem bereich schreibrechte haben, dann ist es ja blöd, wenn da auch die links ausgetauscht werden. da schreibt dann ein gast einen link und kann ihn danach selber nicht mehr lesen...
also habe ich es so gemacht, dass in foren wo gäste schreiben dürfen sie auch die links sehen können.... geht bis hier auch alles super....
nun schreibe ich in einem forum wo gäste keine schreibberechtigung haben eine ankündigung, die auch im portal dargestellt wird... alle links die darin vorkommen werden auch im portal für gäste sofort durch den platzhalter ausgetauscht...bis hier hin auch alles super...
dann schreibe ich eine ankündigung in einem forum wo gäste schreibrechte haben... da kommt nun mein prob... die links werden durch den platzhalter ausgetauscht, obwohl sie ja dann bleiben sollten.....
das prob wird sein, das er im portal bzw. in der news.php die einzelnen schreibrechte der foren nicht kennt und dadurch das nicht berücksichtigt
ich hoffe irgendeiner versteht was ich meine....

bei mir werden aber alle geposteten links automatisch dur Platzhalter ausgetauscht so bald ein gast ein thema liest, wo er aber keine schreibrechte hat. das geht auch super... also keine probs..
nun habe ich das etwas erweitert... da ich mir gedacht habe
wenn gäste in einem bereich schreibrechte haben, dann ist es ja blöd, wenn da auch die links ausgetauscht werden. da schreibt dann ein gast einen link und kann ihn danach selber nicht mehr lesen...
also habe ich es so gemacht, dass in foren wo gäste schreiben dürfen sie auch die links sehen können.... geht bis hier auch alles super....
nun schreibe ich in einem forum wo gäste keine schreibberechtigung haben eine ankündigung, die auch im portal dargestellt wird... alle links die darin vorkommen werden auch im portal für gäste sofort durch den platzhalter ausgetauscht...bis hier hin auch alles super...
dann schreibe ich eine ankündigung in einem forum wo gäste schreibrechte haben... da kommt nun mein prob... die links werden durch den platzhalter ausgetauscht, obwohl sie ja dann bleiben sollten.....
das prob wird sein, das er im portal bzw. in der news.php die einzelnen schreibrechte der foren nicht kennt und dadurch das nicht berücksichtigt
ich hoffe irgendeiner versteht was ich meine....

