1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-04 15:57:45 +02:00

[ticket/11103] Store the item's parent id for marking things read

Mark topics/posts read from the markread() function.

Identify unread items by a grey background in the header (for now)

PHPBB3-11103
This commit is contained in:
Nathan Guse
2012-09-14 15:59:13 -05:00
parent 44aa773ce0
commit fb0ed78c8f
10 changed files with 197 additions and 95 deletions

View File

@@ -1285,15 +1285,20 @@ function phpbb_timezone_select($user, $default = '', $truncate = false)
function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $user_id = 0)
{
global $db, $user, $config;
global $request;
global $request, $phpbb_container;
if ($mode == 'all')
{
if ($forum_id === false || !sizeof($forum_id))
{
// Mark all forums read (index page)
// Mark all topic notifications read for this user
$notifications = $phpbb_container->get('notifications');
$notifications->mark_notifications_read('topic', false, $user->data['user_id'], $post_time);
if ($config['load_db_lastread'] && $user->data['is_registered'])
{
// Mark all forums read (index page)
$db->sql_query('DELETE FROM ' . TOPICS_TRACK_TABLE . " WHERE user_id = {$user->data['user_id']}");
$db->sql_query('DELETE FROM ' . FORUMS_TRACK_TABLE . " WHERE user_id = {$user->data['user_id']}");
$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_lastmark = ' . time() . " WHERE user_id = {$user->data['user_id']}");
@@ -1330,6 +1335,10 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
$forum_id = array($forum_id);
}
// Mark topic notifications read for this user in this forum
$notifications = $phpbb_container->get('notifications');
$notifications->mark_notifications_read_by_parent('topic', $forum_id, $user->data['user_id'], $post_time);
// Add 0 to forums array to mark global announcements correctly
// $forum_id[] = 0;
@@ -1424,6 +1433,11 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
return;
}
// Mark post notifications read for this user in this topic
$notifications = $phpbb_container->get('notifications');
$notifications->mark_notifications_read_by_parent('post', $topic_id, $user->data['user_id'], $post_time);
$notifications->mark_notifications_read_by_parent('quote', $topic_id, $user->data['user_id'], $post_time);
if ($config['load_db_lastread'] && $user->data['is_registered'])
{
$sql = 'UPDATE ' . TOPICS_TRACK_TABLE . '