aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/mcp.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/mcp.php')
-rw-r--r--phpBB/mcp.php23
1 files changed, 14 insertions, 9 deletions
diff --git a/phpBB/mcp.php b/phpBB/mcp.php
index 702f1a28e8..0ecef72efa 100644
--- a/phpBB/mcp.php
+++ b/phpBB/mcp.php
@@ -273,7 +273,7 @@ function get_topic_data($topic_ids, $acl_list = false)
$sql = 'SELECT f.*, t.*
FROM ' . TOPICS_TABLE . ' t
LEFT JOIN ' . FORUMS_TABLE . ' f ON t.forum_id = f.forum_id
- WHERE t.topic_id IN (' . implode(', ', $topic_ids) . ')';
+ WHERE ' . $db->sql_in_set('t.topic_id', $topic_ids);
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
@@ -337,7 +337,7 @@ function get_post_data($post_ids, $acl_list = false)
)
),
- 'WHERE' => 'p.post_id IN (' . implode(', ', $post_ids) . ')
+ 'WHERE' => $db->sql_in_set('p.post_id', $post_ids) . '
AND u.user_id = p.poster_id
AND t.topic_id = p.topic_id',
));
@@ -378,6 +378,11 @@ function get_forum_data($forum_id, $acl_list = 'f_list')
$rowset = array();
+ if (!is_array($forum_id))
+ {
+ $forum_id = array($forum_id);
+ }
+
if (!sizeof($forum_id))
{
return array();
@@ -385,7 +390,7 @@ function get_forum_data($forum_id, $acl_list = 'f_list')
$sql = 'SELECT *
FROM ' . FORUMS_TABLE . '
- WHERE forum_id ' . ((is_array($forum_id)) ? 'IN (' . implode(', ', $forum_id) . ')' : "= $forum_id");
+ WHERE ' . $db->sql_in_set('forum_id', $forum_id);
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
@@ -462,7 +467,7 @@ function mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by_sql,
$sql = 'SELECT COUNT(post_id) AS total
FROM ' . POSTS_TABLE . "
- $where_sql forum_id IN (" . (($forum_id) ? $forum_id : implode(', ', get_forum_list('m_approve'))) . ')
+ $where_sql " . $db->sql_in_set('forum_id', ($forum_id) ? array($forum_id) : get_forum_list('m_approve')) . '
AND post_approved = 0
AND post_time >= ' . $min_time;
break;
@@ -474,7 +479,7 @@ function mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by_sql,
$sql = 'SELECT COUNT(topic_id) AS total
FROM ' . TOPICS_TABLE . "
- $where_sql forum_id IN (" . (($forum_id) ? $forum_id : implode(', ', get_forum_list('m_approve'))) . ')
+ $where_sql " . $db->sql_in_set('forum_id', ($forum_id) ? array($forum_id) : get_forum_list('m_approve')) . '
AND topic_approved = 0
AND topic_time >= ' . $min_time;
break;
@@ -496,7 +501,7 @@ function mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by_sql,
}
else
{
- $where_sql .= ' p.forum_id IN (' . implode(', ', get_forum_list('m_report')) . ')';
+ $where_sql .= ' ' . $db->sql_in_set('p.forum_id', get_forum_list('m_report'));
}
if ($mode == 'reports')
@@ -522,7 +527,7 @@ function mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by_sql,
$sql = 'SELECT COUNT(log_id) AS total
FROM ' . LOG_TABLE . "
- $where_sql forum_id IN (" . (($forum_id) ? $forum_id : implode(', ', get_forum_list('m_'))) . ')
+ $where_sql " . $db->sql_in_set('forum_id', ($forum_id) ? array($forum_id) : get_forum_list('m_')) . '
AND log_time >= ' . $min_time . '
AND log_type = ' . LOG_MOD;
break;
@@ -626,7 +631,7 @@ function check_ids(&$ids, $table, $sql_id, $acl_list = false)
WHERE forum_type = ' . FORUM_POST;
if (sizeof($forum_ary))
{
- $sql .= ' AND forum_id NOT IN ( ' . implode(', ', $forum_ary) . ')';
+ $sql .= ' AND ' . $db->sql_in_set('forum_id', $forum_ary, true);
}
$result = $db->sql_query_limit($sql, 1);
@@ -645,7 +650,7 @@ function check_ids(&$ids, $table, $sql_id, $acl_list = false)
}
$sql = "SELECT $sql_id FROM $table
- WHERE $sql_id IN (" . implode(', ', $ids) . ")
+ WHERE " . $db->sql_in_set($sql_id, $ids) . "
AND (forum_id = $forum_id OR forum_id = 0)";
$result = $db->sql_query($sql);