1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-08 00:25:19 +02:00

Rename get_unread_topics_list() to get_unread_topics().

Cleanup: Remove some stuff we no longer need.
Related to report #46765

git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10120 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Andreas Fischer 2009-09-08 08:53:01 +00:00
parent d92cbe7fd1
commit d85493ab16
3 changed files with 20 additions and 18 deletions

View File

@ -1665,22 +1665,21 @@ function get_complete_topic_tracking($forum_id, $topic_ids, $global_announce_lis
* @param string $sql_limit Limits the size of unread topics list, 0 for unlimited query * @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 * @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) function get_unread_topics($user_id = false, $sql_extra = '', $sql_sort = '', $sql_limit = 1001)
{ {
global $config, $db, $user; global $config, $db, $user;
$user_id = ($user_id === false) ? (int) $user->data['user_id'] : (int) $user_id; $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)) if (empty($sql_sort))
{ {
$sql_sort = 'ORDER BY t.topic_last_post_time DESC'; $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']) if ($config['load_db_lastread'] && $user->data['is_registered'])
{ {
// Get list of the unread topics // Get list of the unread topics
@ -1712,7 +1711,8 @@ function get_unread_topics_list($user_id = false, $sql_extra = '', $sql_sort = '
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$topic_id = (int) $row['topic_id']; $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'];
$unread_topics[$topic_id] = ($row['forum_mark_time']) ? (int) $row['forum_mark_time'] : (int) $row['topic_mark_time'];
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
} }
@ -1750,29 +1750,31 @@ function get_unread_topics_list($user_id = false, $sql_extra = '', $sql_sort = '
if (isset($tracking_topics['t'][$topic_id36])) if (isset($tracking_topics['t'][$topic_id36]))
{ {
$last_read[$topic_id] = base_convert($tracking_topics['t'][$topic_id36], 36, 10) + $config['board_startdate']; $last_read = base_convert($tracking_topics['t'][$topic_id36], 36, 10) + $config['board_startdate'];
if ($row['topic_last_post_time'] > $last_read[$topic_id])
if ($row['topic_last_post_time'] > $last_read)
{ {
$unread_topics_list[$topic_id] = $last_read[$topic_id]; $unread_topics[$topic_id] = $last_read;
} }
} }
else if (isset($tracking_topics['f'][$forum_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']; $mark_time = base_convert($tracking_topics['f'][$forum_id], 36, 10) + $config['board_startdate'];
if ($row['topic_last_post_time'] > $mark_time[$forum_id])
if ($row['topic_last_post_time'] > $mark_time)
{ {
$unread_topics_list[$topic_id] = $mark_time[$forum_id]; $unread_topics[$topic_id] = $mark_time;
} }
} }
else else
{ {
$unread_topics_list[$topic_id] = $user_lastmark; $unread_topics[$topic_id] = $user_lastmark;
} }
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
} }
return $unread_topics_list; return $unread_topics;
} }
/** /**

View File

@ -103,12 +103,12 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
$forum_tracking_info = array(); $forum_tracking_info = array();
$branch_root_id = $root_data['forum_id']; $branch_root_id = $root_data['forum_id'];
// Check for unread global announcements // Check for unread global announcements (index page only)
// For index page only we do it
$ga_unread = false; $ga_unread = false;
if ($root_data['forum_id'] == 0) if ($root_data['forum_id'] == 0)
{ {
$unread_ga_list = get_unread_topics_list($user->data['user_id'], 'AND t.forum_id = 0'); $unread_ga_list = get_unread_topics($user->data['user_id'], 'AND t.forum_id = 0');
if (sizeof($unread_ga_list)) if (sizeof($unread_ga_list))
{ {
$ga_unread = true; $ga_unread = true;

View File

@ -387,7 +387,7 @@ if ($keywords || $author || $author_id || $search_id || $submit)
$s_sort_key = $s_sort_dir = $u_sort_param = $s_limit_days = ''; $s_sort_key = $s_sort_dir = $u_sort_param = $s_limit_days = '';
$unread_list = array(); $unread_list = array();
$unread_list = get_unread_topics_list($user->data['user_id'], $sql_where, $sql_sort); $unread_list = get_unread_topics($user->data['user_id'], $sql_where, $sql_sort);
if (!empty($unread_list)) if (!empty($unread_list))
{ {