aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions_posting.php
diff options
context:
space:
mode:
authorDavid M <davidmj@users.sourceforge.net>2007-02-13 23:20:34 +0000
committerDavid M <davidmj@users.sourceforge.net>2007-02-13 23:20:34 +0000
commitdeadc44c9ca1a1a0e060d036cc7cc58825a1c20f (patch)
tree1f5c63642ec975106ac6e6dec0c5397ec9bfb676 /phpBB/includes/functions_posting.php
parentc16beb34af123b810cfd8a4a625075fcb59540ef (diff)
downloadforums-deadc44c9ca1a1a0e060d036cc7cc58825a1c20f.tar
forums-deadc44c9ca1a1a0e060d036cc7cc58825a1c20f.tar.gz
forums-deadc44c9ca1a1a0e060d036cc7cc58825a1c20f.tar.bz2
forums-deadc44c9ca1a1a0e060d036cc7cc58825a1c20f.tar.xz
forums-deadc44c9ca1a1a0e060d036cc7cc58825a1c20f.zip
-Topic review is fast :D
#7894 git-svn-id: file:///svn/phpbb/trunk@6986 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/functions_posting.php')
-rw-r--r--phpBB/includes/functions_posting.php34
1 files changed, 27 insertions, 7 deletions
diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php
index eb03143aa1..4b80464d22 100644
--- a/phpBB/includes/functions_posting.php
+++ b/phpBB/includes/functions_posting.php
@@ -863,28 +863,48 @@ function topic_review($topic_id, $forum_id, $mode = 'topic_review', $cur_post_id
global $config, $phpbb_root_path, $phpEx;
// Go ahead and pull all data for this topic
- $sql = 'SELECT u.username, u.user_id, u.user_colour, p.*
- FROM ' . POSTS_TABLE . ' p, ' . USERS_TABLE . " u
+ $sql = 'SELECT p.post_id
+ FROM ' . POSTS_TABLE . ' p' . "
WHERE p.topic_id = $topic_id
- AND p.poster_id = u.user_id
" . ((!$auth->acl_get('m_approve', $forum_id)) ? 'AND p.post_approved = 1' : '') . '
' . (($mode == 'post_review') ? " AND p.post_id > $cur_post_id" : '') . '
ORDER BY p.post_time DESC';
$result = $db->sql_query_limit($sql, $config['posts_per_page']);
- if (!$row = $db->sql_fetchrow($result))
+ $post_list = array();
+
+ while ($row = $db->sql_fetchrow($result))
+ {
+ $post_list[] = $row['post_id'];
+ }
+
+ $db->sql_freeresult($result);
+
+ if (!sizeof($post_list))
{
- $db->sql_freeresult($result);
return false;
}
+ $sql = $db->sql_build_query('SELECT', array(
+ 'SELECT' => 'u.username, u.user_id, u.user_colour, p.*',
+
+ 'FROM' => array(
+ USERS_TABLE => 'u',
+ POSTS_TABLE => 'p',
+ ),
+
+ 'WHERE' => $db->sql_in_set('p.post_id', $post_list) . '
+ AND u.user_id = p.poster_id'
+ ));
+
+ $result = $db->sql_query($sql);
+
$bbcode_bitfield = '';
- do
+ while ($row = $db->sql_fetchrow($result))
{
$rowset[] = $row;
$bbcode_bitfield = $bbcode_bitfield | base64_decode($row['bbcode_bitfield']);
}
- while ($row = $db->sql_fetchrow($result));
$db->sql_freeresult($result);
// Instantiate BBCode class