Merge branch '3.1.x'

* 3.1.x:
  [ticket/13591] Change SQL query into array to allow
This commit is contained in:
Tristan Darricau 2015-10-12 10:20:32 +02:00
commit ce45813e2c

View file

@ -3618,10 +3618,14 @@ function obtain_users_online_string($online_users, $item_id = 0, $item = 'forum'
if (sizeof($online_users['online_users'])) if (sizeof($online_users['online_users']))
{ {
$sql = 'SELECT username, username_clean, user_id, user_type, user_allow_viewonline, user_colour $sql_ary = array(
FROM ' . USERS_TABLE . ' 'SELECT' => 'u.username, u.username_clean, u.user_id, u.user_type, u.user_allow_viewonline, u.user_colour',
WHERE ' . $db->sql_in_set('user_id', $online_users['online_users']) . ' 'FROM' => array(
ORDER BY username_clean ASC'; USERS_TABLE => 'u',
),
'WHERE' => $db->sql_in_set('u.user_id', $online_users['online_users']),
'ORDER BY' => 'u.username_clean ASC',
);
/** /**
* Modify SQL query to obtain online users data * Modify SQL query to obtain online users data
@ -3633,13 +3637,14 @@ function obtain_users_online_string($online_users, $item_id = 0, $item = 'forum'
* @var string item Restrict online users to a certain * @var string item Restrict online users to a certain
* session item, e.g. forum for * session item, e.g. forum for
* session_forum_id * session_forum_id
* @var string sql SQL query to obtain users online data * @var string sql_ary SQL query to obtain users online data
* @since 3.1.4-RC1 * @since 3.1.4-RC1
* @changed 3.1.7-RC1 Change sql query into array and adjust var accordingly. Allows extension authors the ability to adjust the sql_ary.
*/ */
$vars = array('online_users', 'item_id', 'item', 'sql'); $vars = array('online_users', 'item_id', 'item', 'sql_ary');
extract($phpbb_dispatcher->trigger_event('core.obtain_users_online_string_sql', compact($vars))); extract($phpbb_dispatcher->trigger_event('core.obtain_users_online_string_sql', compact($vars)));
$result = $db->sql_query($sql); $result = $db->sql_query($db->sql_build_query('SELECT', $sql_ary));
$rowset = $db->sql_fetchrowset($result); $rowset = $db->sql_fetchrowset($result);
$db->sql_freeresult($result); $db->sql_freeresult($result);