Ich habe im Forum eine Funktion, die Links für Gäste verbergen soll, bis sie sich eingeloggt haben.
Seiten werden auch gecached, wenn sie von Gästen aufgerufen werden. Im Cache bleibt dann die Seite mit dem verborgenen Link, bis man den Cache händisch wieder leert.
Das Snippet:
bb_code.php
- Code: Alles auswählen
function guest_links($text)
{
global $userdata, $lang;
$ret = ' ' . $text;
$ret = preg_replace("#(^|[\n ])([\w]+?://[^ \"\n\r\t<]*)#is", $lang['Guest_links'], $ret);
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r<]*)#is", $lang['Guest_links'], $ret);
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", $lang['Guest_links'], $ret);
return($ret);
}
viewtopic.php:
- Code: Alles auswählen
$message = ( $userdata['session_logged_in'] ) ? make_clickable($message) : guest_links($message);
Ich hab das nach dem Einbau des Caches versuchsweise so umgeschrieben:
- Code: Alles auswählen
(!$parsed || !$board_config['enable_post_cache']) ? $message = ( $userdata['session_logged_in'] ) ? make_clickable($message) : guest_links($message) : '';
Wie kann man dem Cache-Mod beibringen, dass die Links für eingeloggte User wieder sichtbar werden?
Bitte um Hilfe,
Schöne Grüße,
Jürgen