diff --git a/enrol/locallib.php b/enrol/locallib.php index f07975a124d..a2a6a204654 100644 --- a/enrol/locallib.php +++ b/enrol/locallib.php @@ -199,7 +199,9 @@ class course_enrolment_manager { $key = md5("$sort-$direction-$page-$perpage"); if (!array_key_exists($key, $this->users)) { list($instancessql, $params, $filter) = $this->get_instance_sql(); - $ufields = user_picture::fields('u', array('lastaccess', 'email')); + $extrafields = get_extra_user_fields($this->get_context()); + $extrafields[] = 'lastaccess'; + $ufields = user_picture::fields('u', $extrafields); $sql = "SELECT DISTINCT $ufields, ul.timeaccess AS lastseen FROM {user} u JOIN {user_enrolments} ue ON (ue.userid = u.id AND ue.enrolid $instancessql) @@ -279,10 +281,8 @@ class course_enrolment_manager { $tests = array("id <> :guestid", 'u.deleted = 0', 'u.confirmed = 1'); $params = array('guestid' => $CFG->siteguest); if (!empty($search)) { - $conditions = array( - $DB->sql_concat('u.firstname', "' '", 'u.lastname'), - 'u.email' - ); + $conditions = get_extra_user_fields($this->get_context()); + $conditions[] = $DB->sql_concat('u.firstname', "' '", 'u.lastname'); if ($searchanywhere) { $searchparam = '%' . $search . '%'; } else { @@ -298,7 +298,10 @@ class course_enrolment_manager { } $wherecondition = implode(' AND ', $tests); - $ufields = user_picture::fields('u', array('username', 'lastaccess')); + $extrafields = get_extra_user_fields($this->get_context(), array('username', 'lastaccess')); + $extrafields[] = 'username'; + $extrafields[] = 'lastaccess'; + $ufields = user_picture::fields('u', $extrafields); $fields = 'SELECT '.$ufields; $countfields = 'SELECT COUNT(1)'; @@ -835,6 +838,7 @@ class course_enrolment_manager { $canmanagegroups = has_capability('moodle/course:managegroups', $context); $url = new moodle_url($pageurl, $this->get_url_params()); + $extrafields = get_extra_user_fields($context); $userdetails = array(); foreach ($users as $user) { @@ -843,12 +847,14 @@ class course_enrolment_manager { 'courseid' => $courseid, 'picture' => new user_picture($user), 'firstname' => fullname($user, true), - 'email' => $user->email, 'lastseen' => $strnever, 'roles' => array(), 'groups' => array(), 'enrolments' => array() ); + foreach ($extrafields as $field) { + $details[$field] = $user->{$field}; + } if ($user->lastaccess) { $details['lastseen'] = format_time($now - $user->lastaccess); diff --git a/enrol/manual/ajax.php b/enrol/manual/ajax.php index 6f58ee4b0be..a9d5bb7f804 100644 --- a/enrol/manual/ajax.php +++ b/enrol/manual/ajax.php @@ -68,9 +68,16 @@ switch ($action) { $search = optional_param('search', '', PARAM_RAW); $page = optional_param('page', 0, PARAM_INT); $outcome->response = $manager->get_potential_users($enrolid, $search, true, $page); + $extrafields = get_extra_user_fields($context); foreach ($outcome->response['users'] as &$user) { $user->picture = $OUTPUT->user_picture($user); $user->fullname = fullname($user); + $fieldvalues = array(); + foreach ($extrafields as $field) { + $fieldvalues[] = s($user->{$field}); + unset($user->{$field}); + } + $user->extrafields = implode(', ', $fieldvalues); } $outcome->success = true; break; diff --git a/enrol/manual/yui/quickenrolment/quickenrolment.js b/enrol/manual/yui/quickenrolment/quickenrolment.js index 1f266d5675e..9ed9fbbdac9 100644 --- a/enrol/manual/yui/quickenrolment/quickenrolment.js +++ b/enrol/manual/yui/quickenrolment/quickenrolment.js @@ -44,7 +44,7 @@ YUI.add('moodle-enrol_manual-quickenrolment', function(Y) { PICTURE : 'picture', DETAILS : 'details', FULLNAME : 'fullname', - EMAIL : 'email', + EXTRAFIELDS : 'extrafields', OPTIONS : 'options', ODD : 'odd', EVEN : 'even', @@ -344,7 +344,7 @@ YUI.add('moodle-enrol_manual-quickenrolment', function(Y) { .append(create(user.picture))) .append(create('
') .append(create('