diff options
| author | Bart van Bragt <bartvb@users.sourceforge.net> | 2002-11-27 13:24:46 +0000 |
|---|---|---|
| committer | Bart van Bragt <bartvb@users.sourceforge.net> | 2002-11-27 13:24:46 +0000 |
| commit | 831c9b5a611e2591e3b79170b4e487241e2d9595 (patch) | |
| tree | 6b8478fa295f93add8428c3e2ab93d3037e62a39 /phpBB/includes | |
| parent | 16e8fb800fb3b72d1c87fca829faab1cbb668f25 (diff) | |
| download | forums-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.php | 25 |
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 +?> |
