Kritisch ist die Zeile:
Code: Alles auswählen
$lang['Search_unread'] = $lang['Search_unread'] . " (" . $row[0] . ")";
Code: Alles auswählen
$lang['Search_unread'] = $lang['Search_unread'] . " (" . $row[0] . ")";
Code: Alles auswählen
*********************************************************** - 1 - ***************************************************************
suche:
*********************************************************************************************************************************
if ( $userdata['session_logged_in'] )
{
$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
if ( !empty($tracking_topics[$topic_id]) && !empty($tracking_forums[$forum_id]) )
{
$topic_last_read = ( $tracking_topics[$topic_id] > $tracking_forums[$forum_id] ) ? $tracking_topics[$topic_id] : $tracking_forums[$forum_id];
}
else if ( !empty($tracking_topics[$topic_id]) || !empty($tracking_forums[$forum_id]) )
{
$topic_last_read = ( !empty($tracking_topics[$topic_id]) ) ? $tracking_topics[$topic_id] : $tracking_forums[$forum_id];
}
else
{
$topic_last_read = $userdata['user_lastvisit'];
}
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE topic_id = $topic_id
AND post_time >= $topic_last_read
ORDER BY post_time ASC
LIMIT 1";
*********************************************************************************************************************************
ersetze mit:
*********************************************************************************************************************************
if ( $userdata['session_logged_in'] )
{
// <!--- Topic Read Hack Teil 1 Anfang (Löschen) --->
// $tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
// $tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
//
// if ( !empty($tracking_topics[$topic_id]) && !empty($tracking_forums[$forum_id]) )
// {
// $topic_last_read = ( $tracking_topics[$topic_id] > $tracking_forums[$forum_id] ) ? $tracking_topics[$topic_id] : $tracking_forums[$forum_id];
// }
// else if ( !empty($tracking_topics[$topic_id]) || !empty($tracking_forums[$forum_id]) )
// {
// $topic_last_read = ( !empty($tracking_topics[$topic_id]) ) ? $tracking_topics[$topic_id] : $tracking_forums[$forum_id];
// }
// else
// {
// $topic_last_read = $userdata['user_lastvisit'];
// }
// <!--- Topic Read Hack Teil 1 Ende (Löschen) --->
// <!--- Topic Read Hack Teil 2 Anfang (Einfügen) --->
$sql = "SELECT visit_time
FROM " . TOPIC_READ_TABLE . "
WHERE topic_id = $topic_id
AND user_id = $userdata[user_id]";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Could not get Topic Read from .", '', __LINE__, __FILE__, $sql);
} else {
if( $post_read = $db->sql_fetchrow($result) ) {
$visit_time_newest = $post_read['visit_time'];
} else {
$visit_time_newest = "0";
}}
// <!--- Topic Read Hack Teil 2 Ende --->
// <!--- Topic Read Hack Teil 3 Anfang --->
// in zeile 112 "AND post_time >= $topic_last_read" durch "AND post_time >= $visit_time_newest" ersetzen
// <!--- Topic Read Hack Teil 3 Ende --->
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE topic_id = $topic_id
AND (post_time > $visit_time_newest
OR post_edit_time > $visit_time_newest)
ORDER BY post_time, post_edit_time ASC
LIMIT 1";
Code: Alles auswählen
*********************************************************** - 5 - ***************************************************************
suche und lösche:
*********************************************************************************************************************************
if ( $userdata['session_logged_in'] )
{
$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
if ( !empty($tracking_topics[$topic_id]) && !empty($tracking_forums[$forum_id]) )
{
$topic_last_read = ( $tracking_topics[$topic_id] > $tracking_forums[$forum_id] ) ? $tracking_topics[$topic_id] : $tracking_forums[$forum_id];
}
else if ( !empty($tracking_topics[$topic_id]) || !empty($tracking_forums[$forum_id]) )
{
$topic_last_read = ( !empty($tracking_topics[$topic_id]) ) ? $tracking_topics[$topic_id] : $tracking_forums[$forum_id];
}
else
{
$topic_last_read = $userdata['user_lastvisit'];
}
if ( count($tracking_topics) >= 150 && empty($tracking_topics[$topic_id]) )
{
asort($tracking_topics);
unset($tracking_topics[key($tracking_topics)]);
}
if ( ( $total_replies - $start ) / $board_config['posts_per_page'] <= 1 )
{
$tracking_topics[$topic_id] = time();
}
else
{ $max_post_time = intval( ( $postrow[$total_posts - 1]['post_time'] > $postrow[0]['post_time'] ) ? $postrow[$total_posts - 1]['post_time'] : $postrow[0]['post_time'] );
if ( $max_post_time > $topic_last_read )
{
$tracking_topics[$topic_id] = $max_post_time + 1;
}
}
setcookie($board_config['cookie_name'] . '_t', serialize($tracking_topics), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
}
Code: Alles auswählen
## Mod Title: Show unread posts (with UPITDB-MOD)
## Mod Version: 0.1 beta
## Author: "Dr. Love" <Dr.Love@nbm-clan.de>