From: Andreas F. <ba...@ph...> - 2009-09-08 08:53:50
|
Author: bantu Date: Tue Sep 8 09:53:01 2009 New Revision: 10120 Log: Rename get_unread_topics_list() to get_unread_topics(). Cleanup: Remove some stuff we no longer need. Related to report #46765 Modified: branches/phpBB-3_0_0/phpBB/includes/functions.php branches/phpBB-3_0_0/phpBB/includes/functions_display.php branches/phpBB-3_0_0/phpBB/search.php Modified: branches/phpBB-3_0_0/phpBB/includes/functions.php ============================================================================== *** branches/phpBB-3_0_0/phpBB/includes/functions.php (original) --- branches/phpBB-3_0_0/phpBB/includes/functions.php Tue Sep 8 09:53:01 2009 *************** *** 1665,1686 **** * @param string $sql_limit Limits the size of unread topics list, 0 for unlimited query * * @return array[int][int] Topic ids as keys, mark_time of topic as value - * @author rxu */ ! function get_unread_topics_list($user_id = false, $sql_extra = '', $sql_sort = '', $sql_limit = 1001) { global $config, $db, $user; $user_id = ($user_id === false) ? (int) $user->data['user_id'] : (int) $user_id; if (empty($sql_sort)) { $sql_sort = 'ORDER BY t.topic_last_post_time DESC'; } - $tracked_topics_list = $unread_topics_list = $read_topics_list = array(); - $tracked_forums_list = $mark_time = array(); - if ($config['load_db_lastread'] && $user->data['is_registered']) { // Get list of the unread topics --- 1665,1685 ---- * @param string $sql_limit Limits the size of unread topics list, 0 for unlimited query * * @return array[int][int] Topic ids as keys, mark_time of topic as value */ ! function get_unread_topics($user_id = false, $sql_extra = '', $sql_sort = '', $sql_limit = 1001) { global $config, $db, $user; $user_id = ($user_id === false) ? (int) $user->data['user_id'] : (int) $user_id; + // Data array we're going to return + $unread_topics = array(); + if (empty($sql_sort)) { $sql_sort = 'ORDER BY t.topic_last_post_time DESC'; } if ($config['load_db_lastread'] && $user->data['is_registered']) { // Get list of the unread topics *************** *** 1712,1718 **** while ($row = $db->sql_fetchrow($result)) { $topic_id = (int) $row['topic_id']; ! $unread_topics_list[$topic_id] = ($row['forum_mark_time']) ? (int) $row['forum_mark_time'] : (int) $row['topic_mark_time']; } $db->sql_freeresult($result); } --- 1711,1718 ---- while ($row = $db->sql_fetchrow($result)) { $topic_id = (int) $row['topic_id']; ! ! $unread_topics[$topic_id] = ($row['forum_mark_time']) ? (int) $row['forum_mark_time'] : (int) $row['topic_mark_time']; } $db->sql_freeresult($result); } *************** *** 1750,1778 **** if (isset($tracking_topics['t'][$topic_id36])) { ! $last_read[$topic_id] = base_convert($tracking_topics['t'][$topic_id36], 36, 10) + $config['board_startdate']; ! if ($row['topic_last_post_time'] > $last_read[$topic_id]) { ! $unread_topics_list[$topic_id] = $last_read[$topic_id]; } } else if (isset($tracking_topics['f'][$forum_id])) { ! $mark_time[$forum_id] = base_convert($tracking_topics['f'][$forum_id], 36, 10) + $config['board_startdate']; ! if ($row['topic_last_post_time'] > $mark_time[$forum_id]) { ! $unread_topics_list[$topic_id] = $mark_time[$forum_id]; } } else { ! $unread_topics_list[$topic_id] = $user_lastmark; } } $db->sql_freeresult($result); } ! return $unread_topics_list; } /** --- 1750,1780 ---- if (isset($tracking_topics['t'][$topic_id36])) { ! $last_read = base_convert($tracking_topics['t'][$topic_id36], 36, 10) + $config['board_startdate']; ! ! if ($row['topic_last_post_time'] > $last_read) { ! $unread_topics[$topic_id] = $last_read; } } else if (isset($tracking_topics['f'][$forum_id])) { ! $mark_time = base_convert($tracking_topics['f'][$forum_id], 36, 10) + $config['board_startdate']; ! ! if ($row['topic_last_post_time'] > $mark_time) { ! $unread_topics[$topic_id] = $mark_time; } } else { ! $unread_topics[$topic_id] = $user_lastmark; } } $db->sql_freeresult($result); } ! return $unread_topics; } /** Modified: branches/phpBB-3_0_0/phpBB/includes/functions_display.php ============================================================================== *** branches/phpBB-3_0_0/phpBB/includes/functions_display.php (original) --- branches/phpBB-3_0_0/phpBB/includes/functions_display.php Tue Sep 8 09:53:01 2009 *************** *** 103,114 **** $forum_tracking_info = array(); $branch_root_id = $root_data['forum_id']; ! // Check for unread global announcements ! // For index page only we do it $ga_unread = false; if ($root_data['forum_id'] == 0) { ! $unread_ga_list = get_unread_topics_list($user->data['user_id'], 'AND t.forum_id = 0'); if (sizeof($unread_ga_list)) { $ga_unread = true; --- 103,114 ---- $forum_tracking_info = array(); $branch_root_id = $root_data['forum_id']; ! // Check for unread global announcements (index page only) $ga_unread = false; if ($root_data['forum_id'] == 0) { ! $unread_ga_list = get_unread_topics($user->data['user_id'], 'AND t.forum_id = 0'); ! if (sizeof($unread_ga_list)) { $ga_unread = true; Modified: branches/phpBB-3_0_0/phpBB/search.php ============================================================================== *** branches/phpBB-3_0_0/phpBB/search.php (original) --- branches/phpBB-3_0_0/phpBB/search.php Tue Sep 8 09:53:01 2009 *************** *** 387,393 **** $s_sort_key = $s_sort_dir = $u_sort_param = $s_limit_days = ''; $unread_list = array(); ! $unread_list = get_unread_topics_list($user->data['user_id'], $sql_where, $sql_sort); if (!empty($unread_list)) { --- 387,393 ---- $s_sort_key = $s_sort_dir = $u_sort_param = $s_limit_days = ''; $unread_list = array(); ! $unread_list = get_unread_topics($user->data['user_id'], $sql_where, $sql_sort); if (!empty($unread_list)) { |