|
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))
{
|