hier ein Code-Ausschnitt aus der posting.php:
Code: Alles auswählen
$tracking_topics = ( !empty($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
$tracking_forums = ( !empty($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
if ( count($tracking_topics) + count($tracking_forums) == 100 && empty($tracking_topics[$topic_id]) )
{
asort($tracking_topics);
unset($tracking_topics[key($tracking_topics)]);
}
Code: Alles auswählen
unset($tracking_topics[key($tracking_topics)]);
Mit asort wird das Array sortiert (wobei das Array als Schlüssel die ID des Topics und als Wert den Zeitstempel des letzten Aufrufs des Themas hat). Demnach müsste der älteste (und damit kleinste) Zeitstempel zuerst kommen.
Dann wird in der Zeile ein Wert aus dem Array gelöscht und zwar der, auf den derzeit der interne Zeiger zeigt. Die Frage ist nur: auf welchen Zeigt der an dieser Stelle?
Gruß, Philipp