Hervorhebung neuer Beiträge aufheben
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.1, 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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Hervorhebung neuer Beiträge aufheben
Hallo,
wenn man sich in phpBB einloggt dann werden die neuen Beiträge seit dem letzten Besuch farblich (bzw. per Symbol) hervorgehoben. Wenn man einen neuen Beitrag ließt dann wird diese Hervorhebung aufgehoben. Kann mir jemand sagen welcher PHP Code für die Aufhebung verantwortlich ist. Ich hab schon viel probiert und komm keinen Schritt weiter. Vielleicht kann mir jemand helfen.
Vielen Dank!
wenn man sich in phpBB einloggt dann werden die neuen Beiträge seit dem letzten Besuch farblich (bzw. per Symbol) hervorgehoben. Wenn man einen neuen Beitrag ließt dann wird diese Hervorhebung aufgehoben. Kann mir jemand sagen welcher PHP Code für die Aufhebung verantwortlich ist. Ich hab schon viel probiert und komm keinen Schritt weiter. Vielleicht kann mir jemand helfen.
Vielen Dank!
Aber sicher doch: hallo .. dufte, wir sind noch existentdieter99 hat geschrieben:vielleicht kann zumindest jemand mal "hallo" schreiben damit ich weiss das das forum überhaupt noch lebt ....

Das Ganze funktioniert ungefähr so:
Beiträge/Themen/PNs werden durch entsprechende Icons als neu gekennzeichnet, wenn im entsprechenden Cookie nicht gespeichert wurde, dass das Thema/der Beitrag/... von dir schon gelesen wurde, und wenn das Thema/... nach deinem letzten Besuch geschrieben wurde.
Dein letzter Besuch wird in der Datenbank gespeichert, welches Thema/... von dir gelesen wurde, wird beim Aufruf des entsprechenden Themas/... im entsprechenden Cookie gespeichert. siehe dazu: KB:cookie_daten
Die Info muss dir (erstmal) reichen, denn ich hab absolut keine Lust jetzt die entsprechenden Codestellen rauszusuchen.
ps: wer im beitrag das wort entsprechend zählt, hat langeweile

@punkface: du hast mir schon einmal einen Schritt weitergebracht. In der Datei viewforum.php habe ich den passenden Code gefunden:
Ich wollte mir jetzt einmal die Inhalte des Cookies ansehen. Dazu hab ich folgenden Code geschieben:
Ich bekomme dann tatsächlich alle ID´s der Topics gelistet die ich bereits gelesen habe. Das Cookie "_t" ist also dafür verantwortlich ob beim Aufruf der Seite viewforum.php die Topics als gelesen markiert werden oder nicht.
Doch welcher Prozess (Cookie) ist dafür verantwortlich das auf der index Seite die Foren/Kategorien als gelesen/ungelesen markiert werden? Eigentlich müßte es das Cookie "_f" sein. Doch wenn ich folgenden Code anwende dann bekomme ich nie eine Ausgabe:
Kann mir jemand einen Denkanstoß geben????
Code: Alles auswählen
//
// Handle marking posts
//
if ( $mark_read == 'topics' )
{
if ( $userdata['session_logged_in'] )
{
$sql = "SELECT MAX(post_time) AS last_post
FROM " . POSTS_TABLE . "
WHERE forum_id = $forum_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
if ( ( count($tracking_forums) + count($tracking_topics) ) >= 150 && empty($tracking_forums[$forum_id]) )
{
asort($tracking_forums);
unset($tracking_forums[key($tracking_forums)]);
}
if ( $row['last_post'] > $userdata['user_lastvisit'] )
{
$tracking_forums[$forum_id] = time();
setcookie($board_config['cookie_name'] . '_f', serialize($tracking_forums), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
}
}
$template->assign_vars(array(
'META' => '<meta http-equiv="refresh" content="3;url=' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">')
);
}
$message = $lang['Topics_marked_read'] . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a> ');
message_die(GENERAL_MESSAGE, $message);
}
Code: Alles auswählen
$x = unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']);
print_r($x);
Doch welcher Prozess (Cookie) ist dafür verantwortlich das auf der index Seite die Foren/Kategorien als gelesen/ungelesen markiert werden? Eigentlich müßte es das Cookie "_f" sein. Doch wenn ich folgenden Code anwende dann bekomme ich nie eine Ausgabe:
Code: Alles auswählen
$x = unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']);
print_r($x);