[ticket/15889] Add core.memberlist_modify_memberrow_sql

PHPBB3-15889
This commit is contained in:
3D-I 2018-11-30 04:02:13 +01:00
parent db7f4d4c95
commit 3ed8cffad2

View file

@ -1469,19 +1469,25 @@ switch ($mode)
// Do the SQL thang
if ($mode == 'group')
{
$sql = "SELECT u.*
$sql_select
FROM " . USERS_TABLE . " u
$sql_from
WHERE " . $db->sql_in_set('u.user_id', $user_list) . "
$sql_where_data";
$sql_array = array(
'SELECT' => 'u.*' . $sql_select,
'FROM' => array(
USERS_TABLE => 'u' . $sql_from
),
'WHERE' => $db->sql_in_set('u.user_id', $user_list) . $sql_where_data . '',
);
}
else
{
$sql = 'SELECT *
FROM ' . USERS_TABLE . '
WHERE ' . $db->sql_in_set('user_id', $user_list);
$sql_array = array(
'SELECT' => '*',
'FROM' => array(
USERS_TABLE => 'u'
),
'WHERE' => $db->sql_in_set('u.user_id', $user_list),
);
}
$sql = $db->sql_build_query('SELECT', $sql_array);
$result = $db->sql_query($sql);
$id_cache = array();
@ -1492,9 +1498,31 @@ switch ($mode)
$id_cache[$row['user_id']] = $row;
}
/**
* Modify user data SQL before member row is created
*
* @event core.memberlist_modify_memberrow_sql
* @var string mode group
* @var string sql_select Additional select statement
* @var string sql_from Additional from statement
* @var array sql_array Array containing the main query
* @var array user_list Array containing list of users
* @var array id_cache Array of temp user ID data
* @since 3.2.6-RC1
*/
$vars = array(
'mode',
'sql_select',
'sql_from',
'sql_array',
'user_list',
'id_cache'
);
extract($phpbb_dispatcher->trigger_event('core.memberlist_modify_memberrow_sql', compact($vars)));
$db->sql_freeresult($result);
// Load custom profile fields
if ($config['load_cpf_memberlist'])
{
// Grab all profile fields from users in id cache for later use - similar to the poster cache