From ff8cadd271d025b0cdd823dff00aab9e8368b50a Mon Sep 17 00:00:00 2001 From: Ankit Agarwal Date: Wed, 13 Nov 2013 11:21:58 +0800 Subject: [PATCH] MDL-41316 tool_spamcleaner: Fix sql queries AS keyword is not allowed in sql qeries for table alias as Oracle doesn't support it Thanks to Sara Cenni for suggesting the patch --- admin/tool/spamcleaner/index.php | 48 +++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/admin/tool/spamcleaner/index.php b/admin/tool/spamcleaner/index.php index 083527058fa..7ae601767ce 100644 --- a/admin/tool/spamcleaner/index.php +++ b/admin/tool/spamcleaner/index.php @@ -178,13 +178,47 @@ function search_spammers($keywords) { $conditions6 = '( '.implode(' OR ', $keywordfull6).' )'; $conditions7 = '( '.implode(' OR ', $keywordfull7).' )'; - $sql = "SELECT * FROM {user} WHERE deleted = 0 AND id <> :userid AND $conditions"; // Exclude oneself - $sql2 = "SELECT u.*, p.summary FROM {user} AS u, {post} AS p WHERE $conditions2 AND u.deleted = 0 AND u.id=p.userid AND u.id <> :userid"; - $sql3 = "SELECT u.*, p.subject as postsubject FROM {user} AS u, {post} AS p WHERE $conditions3 AND u.deleted = 0 AND u.id=p.userid AND u.id <> :userid"; - $sql4 = "SELECT u.*, c.content FROM {user} AS u, {comments} AS c WHERE $conditions4 AND u.deleted = 0 AND u.id=c.userid AND u.id <> :userid"; - $sql5 = "SELECT u.*, m.fullmessage FROM {user} AS u, {message} AS m WHERE $conditions5 AND u.deleted = 0 AND u.id=m.useridfrom AND u.id <> :userid"; - $sql6 = "SELECT u.*, fp.message FROM {user} AS u, {forum_posts} AS fp WHERE $conditions6 AND u.deleted = 0 AND u.id=fp.userid AND u.id <> :userid"; - $sql7 = "SELECT u.*, fp.subject FROM {user} AS u, {forum_posts} AS fp WHERE $conditions7 AND u.deleted = 0 AND u.id=fp.userid AND u.id <> :userid"; + $sql = "SELECT * + FROM {user} + WHERE deleted = 0 + AND id <> :userid + AND $conditions"; // Exclude oneself + $sql2 = "SELECT u.*, p.summary + FROM {user} u, {post} p + WHERE $conditions2 + AND u.deleted = 0 + AND u.id=p.userid + AND u.id <> :userid"; + $sql3 = "SELECT u.*, p.subject AS postsubject + FROM {user} u, {post} p + WHERE $conditions3 + AND u.deleted = 0 + AND u.id=p.userid + AND u.id <> :userid"; + $sql4 = "SELECT u.*, c.content + FROM {user} u, {comments} c + WHERE $conditions4 + AND u.deleted = 0 + AND u.id=c.userid + AND u.id <> :userid"; + $sql5 = "SELECT u.*, m.fullmessage + FROM {user} u, {message} m + WHERE $conditions5 + AND u.deleted = 0 + AND u.id=m.useridfrom + AND u.id <> :userid"; + $sql6 = "SELECT u.*, fp.message + FROM {user} u, {forum_posts} fp + WHERE $conditions6 + AND u.deleted = 0 + AND u.id=fp.userid + AND u.id <> :userid"; + $sql7 = "SELECT u.*, fp.subject + FROM {user} u, {forum_posts} fp + WHERE $conditions7 + AND u.deleted = 0 + AND u.id=fp.userid + AND u.id <> :userid"; $spamusers_desc = $DB->get_recordset_sql($sql, $params); $spamusers_blog = $DB->get_recordset_sql($sql2, $params);