mirror of
https://github.com/moodle/moodle.git
synced 2025-05-02 14:28:30 +02:00
Merge branch 'MDL-72000' of https://github.com/paulholden/moodle
This commit is contained in:
commit
eda5b689fd
@ -99,24 +99,24 @@ if ($formaction == 'bulkchange.php') {
|
|||||||
$hiddenfields = array_flip(explode(',', $CFG->hiddenuserfields));
|
$hiddenfields = array_flip(explode(',', $CFG->hiddenuserfields));
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO Does not support custom user profile fields (MDL-70456).
|
// Retrieve all identity fields required for users.
|
||||||
$identityfields = \core_user\fields::get_identity_fields($context, false);
|
$userfieldsapi = \core_user\fields::for_identity($context);
|
||||||
$identityfieldsselect = '';
|
$userfields = $userfieldsapi->get_sql('u', true, '', '', false);
|
||||||
|
|
||||||
|
$identityfields = array_keys($userfields->mappings);
|
||||||
foreach ($identityfields as $field) {
|
foreach ($identityfields as $field) {
|
||||||
$columnnames[$field] = get_string($field);
|
$columnnames[$field] = \core_user\fields::get_display_name($field);
|
||||||
$identityfieldsselect .= ', u.' . $field . ' ';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[$useridsql, $useridparams] = $DB->get_in_or_equal($userids, SQL_PARAMS_NAMED, 'userid');
|
[$useridsql, $useridparams] = $DB->get_in_or_equal($userids, SQL_PARAMS_NAMED, 'userid');
|
||||||
[$userordersql, $userorderparams] = users_order_by_sql('u', null, $context);
|
[$userordersql, $userorderparams] = users_order_by_sql('u', null, $context);
|
||||||
|
|
||||||
$params = array_merge($useridparams, $userorderparams);
|
$params = array_merge($userfields->params, $useridparams, $userorderparams);
|
||||||
|
|
||||||
// Add column for groups if the user can view them.
|
// Add column for groups if the user can view them.
|
||||||
if (!isset($hiddenfields['groups'])) {
|
if (!isset($hiddenfields['groups'])) {
|
||||||
$columnnames['groupnames'] = get_string('groups');
|
$columnnames['groupnames'] = get_string('groups');
|
||||||
$identityfieldsselect .= ', gcn.groupnames';
|
$userfields->selects .= ', gcn.groupnames';
|
||||||
|
|
||||||
[$groupconcatnamesql, $groupconcatnameparams] = groups_get_names_concat_sql($course->id);
|
[$groupconcatnamesql, $groupconcatnameparams] = groups_get_names_concat_sql($course->id);
|
||||||
$groupconcatjoin = "LEFT JOIN ({$groupconcatnamesql}) gcn ON gcn.userid = u.id";
|
$groupconcatjoin = "LEFT JOIN ({$groupconcatnamesql}) gcn ON gcn.userid = u.id";
|
||||||
@ -125,8 +125,9 @@ if ($formaction == 'bulkchange.php') {
|
|||||||
$groupconcatjoin = '';
|
$groupconcatjoin = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql = "SELECT u.firstname, u.lastname" . $identityfieldsselect . "
|
$sql = "SELECT u.firstname, u.lastname, {$userfields->selects}
|
||||||
FROM {user} u
|
FROM {user} u
|
||||||
|
{$userfields->joins}
|
||||||
{$groupconcatjoin}
|
{$groupconcatjoin}
|
||||||
WHERE u.id {$useridsql}
|
WHERE u.id {$useridsql}
|
||||||
ORDER BY {$userordersql}";
|
ORDER BY {$userordersql}";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user