diff --git a/phpBB/admin/admin_announce.php b/phpBB/admin/admin_announce.php new file mode 100644 index 0000000000..605723bf85 --- /dev/null +++ b/phpBB/admin/admin_announce.php @@ -0,0 +1,41 @@ +here to view the global announcement permissions. Click here to view the global announcments forum separately.", __LINE__, __FILE__, "", ""); +?> \ No newline at end of file diff --git a/phpBB/posting.php b/phpBB/posting.php index c093d3a974..aa702482ad 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -925,15 +925,30 @@ if( ( $submit || $confirm || $mode == "delete" ) && !$error ) $sql .= " WHERE topic_id = $new_topic_id"; if($db->sql_query($sql)) - { + { $sql = "UPDATE " . FORUMS_TABLE . " SET forum_last_post_id = $new_post_id, forum_posts = forum_posts + 1"; if($mode == "newtopic") { $sql .= ", forum_topics = forum_topics + 1"; } + + $sqlquery = "SELECT topic_type FROM " . TOPICS_TABLE . " + WHERE topic_id = $topic_id"; + if($result = $db->sql_query($sqlquery)) + { + $topic_row = $db->sql_fetchrow($result); + $topic_type = intval($topic_row['topic_type']); + } + else + { + message_die(GENERAL_ERROR, "Could not query topics table.", __LINE__, __FILE__, $sqlquery, ""); + } + if($topic_type != POST_ANNOUNCE) + { $sql .= " WHERE forum_id = $forum_id"; - + } + if($db->sql_query($sql)) { $sql = "UPDATE " . USERS_TABLE . " diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php index ee8b398f08..975787b547 100644 --- a/phpBB/viewforum.php +++ b/phpBB/viewforum.php @@ -435,18 +435,14 @@ if($total_topics) if($topic_type == POST_ANNOUNCE) { $topic_type = $lang['Topic_Announcement'] . " "; - $is_announcement = TRUE; } else if($topic_type == POST_STICKY) { $topic_type = $lang['Topic_Sticky'] . " "; - $is_announcement = FALSE; } else { - $topic_type = ""; - $is_announcement = FALSE; - } + $topic_type = ""; } if( $topic_rowset[$i]['topic_vote'] ) { @@ -556,14 +552,8 @@ if($total_topics) } } } - if($is_announcement == TRUE) - { - $view_topic_url = append_sid("viewtopic.$phpEx?mode=viewannounce&". POST_FORUM_URL . "=" . $forum_id . "&" . POST_TOPIC_URL . "=$topic_id"); - } - else - { - $view_topic_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id"); - } + + $view_topic_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id"); $topic_poster = $topic_rowset[$i]['username']; $topic_poster_profile_url = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $topic_rowset[$i]['user_id']); @@ -572,14 +562,7 @@ if($total_topics) $last_post = $last_post_time . "
" . $lang['by'] . " "; $last_post .= ( $topic_rowset[$i]['id2'] == ANONYMOUS ) ? $topic_rowset[$i]['user2'] . " " : "" . $topic_rowset[$i]['user2'] . " "; - if($is_announcement == TRUE) - { - $last_post .= "\"""; - } - else - { - $last_post .= "\"""; - } + $last_post .= "\"""; $views = $topic_rowset[$i]['topic_views']; diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index bc1c0d6c43..700366eb33 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -147,24 +147,11 @@ $count_sql = (!isset($post_id)) ? "" : ", COUNT(p2.post_id) AS prev_posts"; $order_sql = (!isset($post_id)) ? "" : "GROUP BY p.post_id, t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments ORDER BY p.post_id ASC"; -if( $mode=="viewannounce" ) -{ - $sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments" . $count_sql . " - FROM $join_sql_table " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f - WHERE $join_sql AND - t.topic_type = " . POST_ANNOUNCE . " AND - (f.forum_id = " . $forum_id . " - OR f.forum_id = -1) - $order_sql"; -} -else -{ - $sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments" . $count_sql . " - FROM $join_sql_table " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f - WHERE $join_sql - AND f.forum_id = t.forum_id - $order_sql"; -} +$sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments" . $count_sql . " + FROM $join_sql_table " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f + WHERE $join_sql + AND f.forum_id = t.forum_id + $order_sql"; if(!$result = $db->sql_query($sql)) {