AlphaZ писал(а): CorB писал(а): Отвечаю. Дело в том, что метки прочитанных-непрочитанные хранятся на клиентских компутерах в формате coockie.
А я бы тут поспорил : ))) По моему mark=topics это из разряда команд BB при обращении к БД...
//
// Handle marking posts
//
if ( $mark_read == 'topics' )
{
// Begin Simple Subforums MOD
$mark_list = ( isset($HTTP_GET_VARS['mark_list']) ) ? explode(',', $HTTP_GET_VARS['mark_list']) : array($forum_id);
$old_forum_id = $forum_id;
// End Simple Subforums MOD
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();
// Begin Simple Subforums MOD
$set_cookie = true;
if( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) )
{
$HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f'] = serialize($tracking_forums);
}
// End Simple Subforums MOD
}
}
// Begin Simple Subforums MOD
if( $set_cookie )
{
setcookie($board_config['cookie_name'] . '_f', serialize($tracking_forums), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
}
$forum_id = $old_forum_id;
// End Simple Subforums MOD
$template->assign_vars(array(
'META' => '<meta>')
);
}
$message = $lang['Topics_marked_read'] . '<br><br>' . sprintf($lang['Click_return_forum'], '<a>', '</a> ');
message_die(GENERAL_MESSAGE, $message);
}
//
// End handle marking posts
//
$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : '';
$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : '';