[ticket/12366] Changed to sql_build_query

PHPBB3-12366
This commit is contained in:
PayBas 2014-04-06 23:25:17 +02:00
parent baf51dd5fd
commit 03e081df26

View file

@ -635,27 +635,39 @@ if ($keywords || $author || $author_id || $search_id || $submit)
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$sql_from = POSTS_TABLE . ' p $sql_array = array(
LEFT JOIN ' . TOPICS_TABLE . ' t ON (p.topic_id = t.topic_id) 'SELECT' => 'p.*, f.forum_id, f.forum_name, t.*, u.username, u.username_clean, u.user_sig, u.user_sig_bbcode_uid, u.user_colour',
LEFT JOIN ' . FORUMS_TABLE . ' f ON (p.forum_id = f.forum_id) 'FROM' => array(
LEFT JOIN ' . USERS_TABLE . ' u ON (p.poster_id = u.user_id) '; POSTS_TABLE => 'p',
$sql_select = 'p.*, f.forum_id, f.forum_name, t.*, u.username, u.username_clean, u.user_sig, u.user_sig_bbcode_uid, u.user_colour'; ),
'LEFT_JOIN' => array(
array(
'FROM' => array(TOPICS_TABLE => 't'),
'ON' => 'p.topic_id = t.topic_id',
),
array(
'FROM' => array(FORUMS_TABLE => 'f'),
'ON' => 'p.forum_id = f.forum_id',
),
array(
'FROM' => array(USERS_TABLE => 'u'),
'ON' => 'p.poster_id = u.user_id',
),
),
'WHERE' => $sql_where,
);
/** /**
* Event to modify the SQL query before the posts data is retrieved * Event to modify the SQL query before the posts data is retrieved
* *
* @event core.search_get_posts_data * @event core.search_get_posts_data
* @var string sql_select The SQL SELECT string used by search to get posts data * @var array sql_array The SQL array
* @var string sql_from The SQL FROM string used by search to get posts data
* @var string sql_where The SQL WHERE string used by search to get posts data
* @since 3.1.0-b3 * @since 3.1.0-b3
*/ */
$vars = array('sql_select', 'sql_from', 'sql_where'); $vars = array('sql_array');
extract($phpbb_dispatcher->trigger_event('core.search_get_posts_data', compact($vars))); extract($phpbb_dispatcher->trigger_event('core.search_get_posts_data', compact($vars)));
$sql = "SELECT $sql_select $sql = $db->sql_build_query('SELECT', $sql_array);
FROM $sql_from
WHERE $sql_where";
} }
else else
{ {