aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
authorBart van Bragt <bartvb@users.sourceforge.net>2002-11-27 13:24:46 +0000
committerBart van Bragt <bartvb@users.sourceforge.net>2002-11-27 13:24:46 +0000
commit831c9b5a611e2591e3b79170b4e487241e2d9595 (patch)
tree6b8478fa295f93add8428c3e2ab93d3037e62a39 /phpBB/includes
parent16e8fb800fb3b72d1c87fca829faab1cbb668f25 (diff)
downloadforums-831c9b5a611e2591e3b79170b4e487241e2d9595.tar
forums-831c9b5a611e2591e3b79170b4e487241e2d9595.tar.gz
forums-831c9b5a611e2591e3b79170b4e487241e2d9595.tar.bz2
forums-831c9b5a611e2591e3b79170b4e487241e2d9595.tar.xz
forums-831c9b5a611e2591e3b79170b4e487241e2d9595.zip
Initial Lastread support. Mind the schema and config changes\!
git-svn-id: file:///svn/phpbb/trunk@3102 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/functions_display.php25
1 files changed, 22 insertions, 3 deletions
diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php
index 54c1e72d8f..893aad577b 100644
--- a/phpBB/includes/functions_display.php
+++ b/phpBB/includes/functions_display.php
@@ -25,7 +25,26 @@ function display_forums($root_data=array(), $display_moderators=TRUE)
$where_sql = ($root_data['forum_id']) ? ' WHERE left_id > ' . $root_data['left_id'] . ' AND left_id < ' . $root_data['right_id'] : '';
- $sql = 'SELECT * FROM ' . FORUMS_TABLE . $where_sql . ' ORDER BY left_id';
+ if($user->data['user_id'] != ANONYMOUS)
+ {
+ $lastread_select = ", lr.lastread_time";
+ $lastread_sql = "
+ LEFT JOIN " . LASTREAD_TABLE . " lr ON (
+ lr.user_id = " . $user->data['user_id'] . "
+ AND (f.forum_id = lr.forum_id OR f.forum_id = -lr.forum_id)
+ AND lr.lastread_time >= f.forum_last_post_time)";
+ }
+ else
+ {
+ $lastread_select = '';
+ $lastread_sql = '';
+ }
+
+ $sql = 'SELECT f.* ' . $lastread_select . '
+ FROM ' . FORUMS_TABLE . " f " .
+ $lastread_sql .
+ $where_sql . '
+ ORDER BY left_id';
$result = $db->sql_query($sql);
$branch_root_id = $root_data['forum_id'];
@@ -120,7 +139,7 @@ function display_forums($root_data=array(), $display_moderators=TRUE)
$forum_id = $row['forum_id'];
- $unread_topics = ($user->data['user_id'] && $row['forum_last_post_time'] > $user->data['user_lastvisit']) ? TRUE : FALSE;
+ $unread_topics = ($user->data['user_id'] && $row['lastread_time'] < $row['forum_last_post_time'] ) ? TRUE : FALSE;
$folder_image = ($unread_topics) ? 'forum_new' : 'forum';
$folder_alt = ($unread_topics) ? 'New_posts' : 'No_new_posts';
@@ -211,4 +230,4 @@ function display_forums($root_data=array(), $display_moderators=TRUE)
));
}
}
-?> \ No newline at end of file
+?>