diff --git a/phpBB/images/folder_announce.gif b/phpBB/images/folder_announce.gif new file mode 100644 index 0000000000..c6fccb56e9 Binary files /dev/null and b/phpBB/images/folder_announce.gif differ diff --git a/phpBB/images/folder_announce_new.gif b/phpBB/images/folder_announce_new.gif new file mode 100644 index 0000000000..9e39799d66 Binary files /dev/null and b/phpBB/images/folder_announce_new.gif differ diff --git a/phpBB/templates/Default/Default.cfg b/phpBB/templates/Default/Default.cfg index 7c30d60993..ea5a1d96fe 100644 --- a/phpBB/templates/Default/Default.cfg +++ b/phpBB/templates/Default/Default.cfg @@ -6,7 +6,7 @@ define(TEMPLATE_CONFIG, TRUE); // -// Configuration file for PSO template +// Configuration file for Default template // // This contains (at present) an array, images which // points to the location of individiual images used @@ -32,6 +32,10 @@ $images['icon_latest_reply'] = "images/icon_latest_reply.gif"; $images['folder'] = "images/folder.gif"; $images['folder_new'] = "images/folder_new.gif"; $images['folder_locked'] = "images/folder_lock.gif"; +$images['folder_sticky'] = "images/folder.gif"; +$images['folder_sticky_new'] = "images/folder_new.gif"; +$images['folder_announce'] = "images/folder_announce.gif"; +$images['folder_announce_new'] = "images/folder_announce_new.gif"; $images['topic_new'] = "templates/PSO/images/post.gif"; $images['topic_reply'] = "templates/PSO/images/reply.gif"; diff --git a/phpBB/templates/PSO/PSO.cfg b/phpBB/templates/PSO/PSO.cfg index 7c30d60993..3382d83569 100644 --- a/phpBB/templates/PSO/PSO.cfg +++ b/phpBB/templates/PSO/PSO.cfg @@ -32,6 +32,10 @@ $images['icon_latest_reply'] = "images/icon_latest_reply.gif"; $images['folder'] = "images/folder.gif"; $images['folder_new'] = "images/folder_new.gif"; $images['folder_locked'] = "images/folder_lock.gif"; +$images['folder_sticky'] = "images/folder.gif"; +$images['folder_sticky_new'] = "images/folder_new.gif"; +$images['folder_announce'] = "images/folder_announce.gif"; +$images['folder_announce_new'] = "images/folder_announce_new.gif"; $images['topic_new'] = "templates/PSO/images/post.gif"; $images['topic_reply'] = "templates/PSO/images/reply.gif"; diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php index 75c81b641f..9f9186b58b 100644 --- a/phpBB/viewforum.php +++ b/phpBB/viewforum.php @@ -121,12 +121,12 @@ if( ( $is_auth['auth_mod'] || $is_auth['auth_admin'] ) && $board_config['prune_e // // Obtain list of moderators of this forum // -$sql = "SELECT u.username, u.user_id - FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug, " . AUTH_ACCESS_TABLE . " aa - WHERE aa.forum_id = $forum_id - AND aa.auth_mod = " . TRUE . " - AND ug.group_id = aa.group_id - AND u.user_id = ug.user_id"; +$sql = "SELECT g.group_name, g.group_id, g.group_single_user, ug.user_id + FROM " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug, " . AUTH_ACCESS_TABLE . " aa + WHERE aa.forum_id = $forum_id + AND aa.auth_mod = " . TRUE . " + AND g.group_id = aa.group_id + AND ug.group_id = g.group_id"; if(!$result_mods = $db->sql_query($sql)) { message_die(GENERAL_ERROR, "Couldn't obtain forums information.", "", __LINE__, __FILE__, $sql); @@ -136,14 +136,28 @@ if( $total_mods = $db->sql_numrows($result_mods) ) { $mods_rowset = $db->sql_fetchrowset($result_mods); + $forum_moderators = ""; + for($i = 0; $i < $total_mods; $i++) { - if($i > 0) + if( !strstr($forum_moderators, $mods_rowset[$i]['group_name']) ) { - $forum_moderators .= ", "; - } + if($i > 0) + { + $forum_moderators .= ", "; + } - $forum_moderators .= "" . $mods_rowset[$i]['username'] . ""; + if($mods_rowset[$i]['group_single_user']) + { + $mod_url = "profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $mods_rowset[$i]['user_id']; + } + else + { + $mod_url = "groupcp.$phpEx?" . POST_GROUPS_URL . "=" . $mods_rowset[$i]['group_id']; + } + + $forum_moderators .= "" . $mods_rowset[$i]['group_name'] .""; + } } } else @@ -228,7 +242,9 @@ $post_new_topic_url = append_sid("posting.$phpEx?mode=newtopic&" . POST_FORUM_UR $template->assign_vars(array( "L_DISPLAY_TOPICS" => $lang['Display_topics'], + "U_POST_NEW_TOPIC" => $post_new_topic_url, + "S_SELECT_POST_DAYS" => $select_post_days, "S_POST_DAYS_ACTION" => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=" . $forum_id . "&start=$start")) ); @@ -344,14 +360,32 @@ if($total_topics) } else { - if($userdata['session_start'] >= $userdata['session_time'] - 300) + + if($topic_rowset[$i]['topic_type'] == POST_ANNOUNCE) { - $folder_image = ($topic_rowset[$i]['post_time'] > $userdata['session_last_visit']) ? "" : ""; + $folder = $images['folder_announce']; + $folder_new = $images['folder_announce_new']; + } + else if($topic_rowset[$i]['topic_type'] == POST_STICKY) + { + $folder = $images['folder_sticky']; + $folder_new = $images['folder_sticky_new']; } else { - $folder_image = ($topic_rowset[$i]['post_time'] > $userdata['session_time'] - 300) ? "" : ""; + $folder = $images['folder']; + $folder_new = $images['folder_new']; } + + if($userdata['session_start'] >= $userdata['session_time'] - 300) + { + $folder_image = ($topic_rowset[$i]['post_time'] > $userdata['session_last_visit']) ? "" : ""; + } + else + { + $folder_image = ($topic_rowset[$i]['post_time'] > $userdata['session_time'] - 300) ? "" : ""; + } + } $view_topic_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id . "&" . $replies);