MDL-71099 Lib: Move new user_fields class from core to core_user

This class would belong more appropriately within the 'user' API
(core_user) instead of within the 'core' API, since it is
directly related to user data.

Since the class has only just been added to Moodle, now is a good
time to move it.
This commit is contained in:
sam marshall
2021-03-25 13:47:23 +00:00
parent d65ed58e73
commit 5e72715e4f
161 changed files with 420 additions and 420 deletions
+1 -1
View File
@@ -125,7 +125,7 @@ class task_log_table extends \table_sql {
}
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity(\context_system::instance(), false)->with_userpic();
$userfieldsapi = \core_user\fields::for_identity(\context_system::instance(), false)->with_userpic();
$userfields = $userfieldsapi->get_sql('u', false, 'user', 'userid2', false)->selects;
$where = '';
+1 -1
View File
@@ -271,7 +271,7 @@ if ($roleid) {
foreach ($assignableroles as $roleid => $notused) {
$roleusers = '';
if (0 < $assigncounts[$roleid] && $assigncounts[$roleid] <= MAX_USERS_TO_LIST_PER_ROLE) {
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$userfields = 'u.id, u.username' . $userfieldsapi->get_sql('u')->selects;
$roleusers = get_role_users($roleid, $context, false, $userfields);
if (!empty($roleusers)) {
@@ -127,7 +127,7 @@ class cohort_role_assignments_table extends table_sql {
*/
protected function define_table_columns() {
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core\user_fields::get_identity_fields($this->context, false);
$extrafields = \core_user\fields::get_identity_fields($this->context, false);
// Define headers and columns.
$cols = array(
@@ -175,7 +175,7 @@ class cohort_role_assignments_table extends table_sql {
// Add extra user fields that we need for the graded user.
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($this->context, false)->with_name();
$userfieldsapi = \core_user\fields::for_identity($this->context, false)->with_name();
$fields .= $userfieldsapi->get_sql('u')->selects;
if ($count) {
+1 -1
View File
@@ -189,7 +189,7 @@ class api {
$dpos = [];
$context = context_system::instance();
foreach ($dporoles as $roleid) {
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allnames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$fields = 'u.id, u.confirmed, u.username, '. $allnames . ', ' .
'u.maildisplay, u.mailformat, u.maildigest, u.email, u.emailstop, u.city, '.
+2 -2
View File
@@ -700,7 +700,7 @@ class external extends external_api {
self::validate_context($context);
require_capability('tool/dataprivacy:managedatarequests', $context);
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allusernames = $userfieldsapi->get_sql('', false, '', '', false)->selects;
// Exclude admins and guest user.
$excludedusers = array_keys(get_admins()) + [guest_user()->id];
@@ -708,7 +708,7 @@ class external extends external_api {
$fields = 'id,' . $allusernames;
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core\user_fields::get_identity_fields($context, false);
$extrafields = \core_user\fields::get_identity_fields($context, false);
if (!empty($extrafields)) {
$fields .= ',' . implode(',', $extrafields);
}
@@ -187,7 +187,7 @@ class helper {
global $DB;
// Get users that the user has role assignments to.
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allusernames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$sql = "SELECT u.id, $allusernames
FROM {role_assignments} ra, {context} c, {user} u
@@ -62,7 +62,7 @@ class tool_dataprivacy_data_request_form extends \core\form\persistent {
'valuehtmlcallback' => function($value) {
global $OUTPUT;
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allusernames = $userfieldsapi->get_sql('', false, '', '', false)->selects;
$fields = 'id, email, ' . $allusernames;
$user = \core_user::get_user($value, $fields);
+2 -2
View File
@@ -879,9 +879,9 @@ class external extends external_api {
$USER->id, SQL_PARAMS_NAMED);
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($context, false)->with_userpic();
$userfieldsapi = \core_user\fields::for_identity($context, false)->with_userpic();
$fields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$extrasearchfields = $userfieldsapi->get_required_fields([\core\user_fields::PURPOSE_IDENTITY]);
$extrasearchfields = $userfieldsapi->get_required_fields([\core_user\fields::PURPOSE_IDENTITY]);
list($wheresql, $whereparams) = users_search_sql($query, 'u', true, $extrasearchfields);
list($sortsql, $sortparams) = users_order_by_sql('u', $query, $context);
@@ -93,7 +93,7 @@ class template_plans_table extends table_sql {
*/
protected function define_table_columns() {
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core\user_fields::get_identity_fields($this->context, false);
$extrafields = \core_user\fields::get_identity_fields($this->context, false);
// Define headers and columns.
$cols = array(
@@ -137,7 +137,7 @@ class template_plans_table extends table_sql {
// Add extra user fields that we need for the graded user.
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($this->context, false)->with_name();
$userfieldsapi = \core_user\fields::for_identity($this->context, false)->with_name();
$fields .= $userfieldsapi->get_sql('u')->selects;
if ($count) {
@@ -92,9 +92,9 @@ class acceptances_table extends \table_sql {
}
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity(\context_system::instance(), false)->with_userpic();
$userfieldsapi = \core_user\fields::for_identity(\context_system::instance(), false)->with_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$extrafields = $userfieldsapi->get_required_fields([\core\user_fields::PURPOSE_IDENTITY]);
$extrafields = $userfieldsapi->get_required_fields([\core_user\fields::PURPOSE_IDENTITY]);
$this->set_sql("$userfields",
"{user} u",
@@ -105,7 +105,7 @@ class acceptances_table extends \table_sql {
}
$this->add_column_header('fullname', get_string('fullnameuser', 'core'));
foreach ($extrafields as $field) {
$this->add_column_header($field, \core\user_fields::get_display_name($field));
$this->add_column_header($field, \core_user\fields::get_display_name($field));
}
if (!$this->is_downloading() && !has_capability('tool/policy:acceptbehalf', \context_system::instance())) {
@@ -170,7 +170,7 @@ class acceptances_table extends \table_sql {
* Helper configuration method.
*/
protected function configure_for_single_version() {
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$userfieldsmod = $userfieldsapi->get_sql('m', false, 'mod', '', false)->selects;
$v = key($this->versionids);
$this->sql->fields .= ", $userfieldsmod, a{$v}.status AS status{$v}, a{$v}.note, ".
+2 -2
View File
@@ -343,7 +343,7 @@ class api {
global $DB;
$ctxfields = context_helper::get_preload_record_columns_sql('c');
$userfieldsapi = \core\user_fields::for_name()->with_userpic()->including(...($extrafields ?? []));
$userfieldsapi = \core_user\fields::for_name()->with_userpic()->including(...($extrafields ?? []));
$userfields = $userfieldsapi->get_sql('u')->selects;
$sql = "SELECT $ctxfields $userfields
@@ -682,7 +682,7 @@ class api {
$vsql = ' AND a.policyversionid ' . $vsql;
}
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$userfieldsmod = $userfieldsapi->get_sql('m', false, 'mod', '', false)->selects;
$sql = "SELECT u.id AS mainuserid, a.policyversionid, a.status, a.lang, a.timemodified, a.usermodified, a.note,
u.policyagreed, $userfieldsmod
@@ -128,7 +128,7 @@ class accept_policy extends \moodleform {
$usernames = [];
list($sql, $params) = $DB->get_in_or_equal($userids, SQL_PARAMS_NAMED);
$params['usercontextlevel'] = CONTEXT_USER;
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$users = $DB->get_records_sql("SELECT u.id" . $userfieldsapi->get_sql('u')->selects . ", " .
\context_helper::get_preload_record_columns_sql('ctx') .
" FROM {user} u JOIN {context} ctx ON ctx.contextlevel=:usercontextlevel AND ctx.instanceid = u.id
+1 -1
View File
@@ -155,7 +155,7 @@ class process {
'interests',
);
// Include all name fields.
$this->standardfields = array_merge($this->standardfields, \core\user_fields::get_name_fields());
$this->standardfields = array_merge($this->standardfields, \core_user\fields::get_name_fields());
}
/**
+2 -2
View File
@@ -183,13 +183,13 @@
// These columns are always shown in the users list.
$requiredcolumns = array('city', 'country', 'lastaccess');
// Extra columns containing the extra user fields, excluding the required columns (city and country, to be specific).
$userfields = \core\user_fields::for_identity($context, true)->with_name()->excluding(...$requiredcolumns);
$userfields = \core_user\fields::for_identity($context, true)->with_name()->excluding(...$requiredcolumns);
$extracolumns = $userfields->get_required_fields();
// Get all user name fields as an array.
$columns = array_merge($extracolumns, $requiredcolumns);
foreach ($columns as $column) {
$string[$column] = \core\user_fields::get_display_name($column);
$string[$column] = \core_user\fields::get_display_name($column);
if ($sort != $column) {
$columnicon = "";
if ($column == "lastaccess") {
+1 -1
View File
@@ -64,7 +64,7 @@ if (count($cohorts) < 2) {
}
$countries = get_string_manager()->get_list_of_countries(true);
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$namefields = $userfieldsapi->get_sql('', false, '', '', false)->selects;
foreach ($users as $key => $id) {
$user = $DB->get_record('user', array('id' => $id), 'id, ' . $namefields . ', username,
+1 -1
View File
@@ -24,7 +24,7 @@ echo $OUTPUT->header();
$countries = get_string_manager()->get_list_of_countries(true);
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$namefields = $userfieldsapi->get_sql('', false, '', '', false)->selects;
foreach ($users as $key => $id) {
$user = $DB->get_record('user', array('id'=>$id), 'id, ' . $namefields . ', username, email, country, lastaccess, city');
@@ -197,7 +197,7 @@ class condition extends \core_availability\condition {
$this->customfield);
}
} else {
$translatedfieldname = \core\user_fields::get_display_name($this->standardfield);
$translatedfieldname = \core_user\fields::get_display_name($this->standardfield);
}
$context = \context_course::instance($course->id);
$a = new \stdClass();
@@ -44,23 +44,23 @@ class frontend extends \core_availability\frontend {
\section_info $section = null) {
// Standard user fields.
$standardfields = array(
'firstname' => \core\user_fields::get_display_name('firstname'),
'lastname' => \core\user_fields::get_display_name('lastname'),
'email' => \core\user_fields::get_display_name('email'),
'city' => \core\user_fields::get_display_name('city'),
'country' => \core\user_fields::get_display_name('country'),
'url' => \core\user_fields::get_display_name('url'),
'icq' => \core\user_fields::get_display_name('icq'),
'skype' => \core\user_fields::get_display_name('skype'),
'aim' => \core\user_fields::get_display_name('aim'),
'yahoo' => \core\user_fields::get_display_name('yahoo'),
'msn' => \core\user_fields::get_display_name('msn'),
'idnumber' => \core\user_fields::get_display_name('idnumber'),
'institution' => \core\user_fields::get_display_name('institution'),
'department' => \core\user_fields::get_display_name('department'),
'phone1' => \core\user_fields::get_display_name('phone1'),
'phone2' => \core\user_fields::get_display_name('phone2'),
'address' => \core\user_fields::get_display_name('address')
'firstname' => \core_user\fields::get_display_name('firstname'),
'lastname' => \core_user\fields::get_display_name('lastname'),
'email' => \core_user\fields::get_display_name('email'),
'city' => \core_user\fields::get_display_name('city'),
'country' => \core_user\fields::get_display_name('country'),
'url' => \core_user\fields::get_display_name('url'),
'icq' => \core_user\fields::get_display_name('icq'),
'skype' => \core_user\fields::get_display_name('skype'),
'aim' => \core_user\fields::get_display_name('aim'),
'yahoo' => \core_user\fields::get_display_name('yahoo'),
'msn' => \core_user\fields::get_display_name('msn'),
'idnumber' => \core_user\fields::get_display_name('idnumber'),
'institution' => \core_user\fields::get_display_name('institution'),
'department' => \core_user\fields::get_display_name('department'),
'phone1' => \core_user\fields::get_display_name('phone1'),
'phone2' => \core_user\fields::get_display_name('phone2'),
'address' => \core_user\fields::get_display_name('address')
);
\core_collator::asort($standardfields);
+1 -1
View File
@@ -1365,7 +1365,7 @@ class backup_users_structure_step extends backup_structure_step {
'phone2', 'institution', 'department', 'address',
'city', 'country', 'lastip', 'picture',
'url', 'description', 'descriptionformat', 'imagealt', 'auth');
$anonfields = array_merge($anonfields, \core\user_fields::get_name_fields());
$anonfields = array_merge($anonfields, \core_user\fields::get_name_fields());
// Add anonymized fields to $userfields with custom final element
foreach ($anonfields as $field) {
+1 -1
View File
@@ -58,7 +58,7 @@ class external_badge implements renderable {
global $DB;
// At this point a user has connected a backpack. So, we are going to get
// their backpack email rather than their account email.
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$namefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$user = $DB->get_record_sql("SELECT {$namefields}, b.email
FROM {user} u INNER JOIN {badge_backpack} b ON u.id = b.userid
+1 -1
View File
@@ -76,7 +76,7 @@ class issued_badge implements renderable {
array('hash' => $hash), IGNORE_MISSING);
if ($rec) {
// Get a recipient from database.
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$namefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$user = $DB->get_record_sql("SELECT u.id, $namefields, u.deleted, u.email
FROM {user} u WHERE u.id = :userid", array('userid' => $rec->userid));
+2 -2
View File
@@ -89,7 +89,7 @@ class award_criteria_profile extends award_criteria {
$checked = true;
}
$this->config_options($mform, array('id' => $field, 'checked' => $checked,
'name' => \core\user_fields::get_display_name($field), 'error' => false));
'name' => \core_user\fields::get_display_name($field), 'error' => false));
$none = false;
}
}
@@ -139,7 +139,7 @@ class award_criteria_profile extends award_criteria {
if (is_numeric($p['field'])) {
$str = $DB->get_field('user_info_field', 'name', array('id' => $p['field']));
} else {
$str = \core\user_fields::get_display_name($p['field']);
$str = \core_user\fields::get_display_name($p['field']);
}
if (!$str) {
$output[] = $OUTPUT->error_text(get_string('error:nosuchfield', 'badges'));
+1 -1
View File
@@ -87,7 +87,7 @@ if ($badge->has_manual_award_criteria() && has_capability('moodle/badges:awardba
echo $OUTPUT->box($OUTPUT->single_button($url, get_string('award', 'badges')), 'clearfix mdl-align');
}
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$namefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$sql = "SELECT b.userid, b.dateissued, b.uniquehash, $namefields
FROM {badge_issued} b INNER JOIN {user} u
@@ -508,12 +508,12 @@ class block_activity_results extends block_base {
// Now grab all the users from the database.
$userids = array_merge(array_keys($best), array_keys($worst));
$fields = array_merge(array('id', 'idnumber'), \core\user_fields::get_name_fields());
$fields = array_merge(array('id', 'idnumber'), \core_user\fields::get_name_fields());
$fields = implode(',', $fields);
$users = $DB->get_records_list('user', 'id', $userids, '', $fields);
// If configured to view user idnumber, ensure current user can see it.
$extrafields = \core\user_fields::for_identity($this->context)->get_required_fields();
$extrafields = \core_user\fields::for_identity($this->context)->get_required_fields();
$canviewidnumber = (array_search('idnumber', $extrafields) !== false);
// Ready for output!
+1 -1
View File
@@ -50,7 +50,7 @@ class block_mentees extends block_base {
$this->content = new stdClass();
// get all the mentees, i.e. users you have a direct assignment to
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allusernames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
if ($usercontexts = $DB->get_records_sql("SELECT c.instanceid, c.instanceid, $allusernames
FROM {role_assignments} ra, {context} c, {user} u
+1 -1
View File
@@ -86,7 +86,7 @@ class fetcher {
}
$params = array();
$userfieldsapi = \core\user_fields::for_userpic()->including('username', 'deleted');
$userfieldsapi = \core_user\fields::for_userpic()->including('username', 'deleted');
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
// Add this to the SQL to show only group users.
+1 -1
View File
@@ -646,7 +646,7 @@ class blog_listing {
if (!$userid) {
$userid = $USER->id;
}
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$allnamefields = $userfieldsapi->get_sql('u', false, '', 'useridalias', false)->selects;
// The query used to locate blog entries is complicated. It will be built from the following components:
$requiredfields = "p.*, $allnamefields"; // The SELECT clause.
+1 -1
View File
@@ -234,7 +234,7 @@ function blog_rss_get_feed($context, $args) {
switch ($type) {
case 'user':
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$info = fullname($DB->get_record('user', array('id' => $id),
$userfieldsapi->get_sql('', false, '', '', false)->selects));
break;
+1 -1
View File
@@ -551,7 +551,7 @@ class comment {
$params = array();
$perpage = (!empty($CFG->commentsperpage))?$CFG->commentsperpage:15;
$start = $page * $perpage;
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$ufields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
list($componentwhere, $component) = $this->get_component_select_sql('c');
+2 -2
View File
@@ -61,7 +61,7 @@ class comment_manager {
}
$comments = array();
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$usernamefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$sql = "SELECT c.id, c.contextid, c.itemid, c.component, c.commentarea, c.userid, c.content, $usernamefields, c.timecreated
FROM {comments} c
@@ -76,7 +76,7 @@ class comment_manager {
$item->time = userdate($item->timecreated);
$item->content = format_text($item->content, FORMAT_MOODLE, $formatoptions);
// Unset fields not related to the comment
foreach (\core\user_fields::get_name_fields() as $namefield) {
foreach (\core_user\fields::get_name_fields() as $namefield) {
unset($item->$namefield);
}
unset($item->timecreated);
+1 -1
View File
@@ -1033,7 +1033,7 @@ class core_course_category implements renderable, cacheable_object, IteratorAggr
list($sql2, $params2) = $DB->get_in_or_equal($managerroles, SQL_PARAMS_NAMED, 'rid');
list($sort, $sortparams) = users_order_by_sql('u');
$notdeleted = array('notdeleted' => 0);
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allnames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$sql = "SELECT ra.contextid, ra.id AS raid,
r.id AS roleid, r.name AS rolename, r.shortname AS roleshortname,
+1 -1
View File
@@ -77,7 +77,7 @@ class recent_form extends moodleform {
$options[0] = get_string('allparticipants');
$options[$CFG->siteguest] = get_string('guestuser');
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$ufields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
if (isset($groupoptions[0])) {
+1 -1
View File
@@ -95,7 +95,7 @@ switch ($action) {
$page = optional_param('page', 0, PARAM_INT);
$outcome->response = $manager->search_other_users($search, $searchanywhere, $page);
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core\user_fields::get_identity_fields($context, false);
$extrafields = \core_user\fields::get_identity_fields($context, false);
$useroptions = array();
// User is not enrolled, either link to site profile or do not link at all.
if (has_capability('moodle/user:viewdetails', context_system::instance())) {
+3 -3
View File
@@ -558,10 +558,10 @@ class core_enrol_external extends external_api {
$results = array();
// Add also extra user fields.
$identityfields = \core\user_fields::get_identity_fields($context, true);
$identityfields = \core_user\fields::get_identity_fields($context, true);
$customprofilefields = [];
foreach ($identityfields as $key => $value) {
if ($fieldname = \core\user_fields::match_custom_field($value)) {
if ($fieldname = \core_user\fields::match_custom_field($value)) {
unset($identityfields[$key]);
$customprofilefields[$fieldname] = true;
}
@@ -673,7 +673,7 @@ class core_enrol_external extends external_api {
$requiredfields = array_merge(
['id', 'fullname', 'profileimageurl', 'profileimageurlsmall'],
// TODO Does not support custom user profile fields (MDL-70456).
\core\user_fields::get_identity_fields($context, false)
\core_user\fields::get_identity_fields($context, false)
);
foreach ($users['users'] as $user) {
if ($userdetails = user_get_user_details($user, $course, $requiredfields)) {
+9 -9
View File
@@ -23,7 +23,7 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
use core\user_fields;
use core_user\fields;
defined('MOODLE_INTERNAL') || die();
@@ -240,7 +240,7 @@ class course_enrolment_manager {
list($instancessql, $params, $filter) = $this->get_instance_sql();
list($filtersql, $moreparams) = $this->get_filter_sql();
$params += $moreparams;
$userfields = user_fields::for_identity($this->get_context())->with_userpic()->excluding('lastaccess');
$userfields = fields::for_identity($this->get_context())->with_userpic()->excluding('lastaccess');
['selects' => $fieldselect, 'joins' => $fieldjoin, 'params' => $fieldjoinparams] =
(array)$userfields->get_sql('u', true, '', '', false);
$params += $fieldjoinparams;
@@ -273,7 +273,7 @@ class course_enrolment_manager {
// Search condition.
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = user_fields::get_identity_fields($this->get_context(), false);
$extrafields = fields::get_identity_fields($this->get_context(), false);
list($sql, $params) = users_search_sql($this->searchfilter, 'u', true, $extrafields);
// Role condition.
@@ -346,7 +346,7 @@ class course_enrolment_manager {
list($ctxcondition, $params) = $DB->get_in_or_equal($this->context->get_parent_context_ids(true), SQL_PARAMS_NAMED, 'ctx');
$params['courseid'] = $this->course->id;
$params['cid'] = $this->course->id;
$userfields = user_fields::for_identity($this->get_context())->with_userpic();
$userfields = fields::for_identity($this->get_context())->with_userpic();
['selects' => $fieldselect, 'joins' => $fieldjoin, 'params' => $fieldjoinparams] =
(array)$userfields->get_sql('u', true);
$params += $fieldjoinparams;
@@ -387,14 +387,14 @@ class course_enrolment_manager {
// Get custom user field SQL used for querying all the fields we need (identity, name, and
// user picture).
$userfields = user_fields::for_identity($this->context)->with_name()->with_userpic()
$userfields = fields::for_identity($this->context)->with_name()->with_userpic()
->excluding('username', 'lastaccess', 'maildisplay');
['selects' => $fieldselects, 'joins' => $fieldjoins, 'params' => $params, 'mappings' => $mappings] =
(array)$userfields->get_sql('u', true, '', '', false);
// Searchable fields are only the identity and name ones (not userpic).
$searchable = array_fill_keys($userfields->get_required_fields(
[user_fields::PURPOSE_IDENTITY, user_fields::PURPOSE_NAME]), true);
[fields::PURPOSE_IDENTITY, fields::PURPOSE_NAME]), true);
// Add some additional sensible conditions
$tests = array("u.id <> :guestid", 'u.deleted = 0', 'u.confirmed = 1');
@@ -1068,7 +1068,7 @@ class course_enrolment_manager {
$context = $this->get_context();
$now = time();
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = user_fields::get_identity_fields($context, false);
$extrafields = fields::get_identity_fields($context, false);
$users = array();
foreach ($userroles as $userrole) {
@@ -1147,7 +1147,7 @@ class course_enrolment_manager {
$url = new moodle_url($pageurl, $this->get_url_params());
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = user_fields::get_identity_fields($context, false);
$extrafields = fields::get_identity_fields($context, false);
$enabledplugins = $this->get_enrolment_plugins(true);
@@ -1324,7 +1324,7 @@ class course_enrolment_manager {
list($instancesql, $instanceparams) = $DB->get_in_or_equal(array_keys($instances), SQL_PARAMS_NAMED, 'instanceid0000');
}
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
list($idsql, $idparams) = $DB->get_in_or_equal($userids, SQL_PARAMS_NAMED, 'userid0000');
+1 -1
View File
@@ -93,7 +93,7 @@ class enrol_manual_enrol_users_form extends moodleform {
'courseid' => $course->id,
'enrolid' => $instance->id,
'perpage' => $CFG->maxusersperpage,
'userfields' => implode(',', \core\user_fields::get_identity_fields($context, true))
'userfields' => implode(',', \core_user\fields::get_identity_fields($context, true))
);
$mform->addElement('autocomplete', 'userlist', get_string('selectusers', 'enrol_manual'), array(), $options);
+2 -2
View File
@@ -55,9 +55,9 @@ $userdetails = array (
'lastname' => get_string('lastname'),
);
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core\user_fields::get_identity_fields($context, false);
$extrafields = \core_user\fields::get_identity_fields($context, false);
foreach ($extrafields as $field) {
$userdetails[$field] = \core\user_fields::get_display_name($field);
$userdetails[$field] = \core_user\fields::get_display_name($field);
}
$fields = array(
+1 -1
View File
@@ -1021,7 +1021,7 @@ class enrol_self_plugin extends enrol_plugin {
// We only use the first user.
$i = 0;
do {
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allnames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$rusers = get_role_users($croles[$i], $context, true, 'u.id, u.confirmed, u.username, '. $allnames . ',
u.email, r.sortorder, ra.id', 'r.sortorder, ra.id ASC, ' . $sort, null, '', '', '', '', $sortparams);
+1 -1
View File
@@ -82,7 +82,7 @@ class enrol_self_enrol_form extends moodleform {
$mform->addElement('password', 'enrolpassword', get_string('password', 'enrol_self'),
array('id' => 'enrolpassword_'.$instance->id));
$context = context_course::instance($this->instance->courseid);
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$ufields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$keyholders = get_users_by_capability($context, 'enrol/self:holdkey', $ufields);
$keyholdercount = 0;
+1 -1
View File
@@ -91,7 +91,7 @@ switch ($action) {
}
if ($errorstr) {
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$user = $DB->get_record('user', array('id' => $userid), 'id' . $userfieldsapi->get_sql()->selects);
$gradestr = new stdClass();
$gradestr->username = fullname($user);
+5 -5
View File
@@ -293,7 +293,7 @@ class grade_report_grader extends grade_report {
}
if ($errorstr) {
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$userfields = 'id, ' . $userfieldsapi->get_sql('', false, '', '', false)->selects;
$user = $DB->get_record('user', array('id' => $userid), $userfields);
$gradestr = new stdClass();
@@ -439,7 +439,7 @@ class grade_report_grader extends grade_report {
// Fields we need from the user table.
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($this->context, false)->with_userpic();
$userfieldsapi = \core_user\fields::for_identity($this->context, false)->with_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
// We want to query both the current context and parent contexts.
@@ -661,7 +661,7 @@ class grade_report_grader extends grade_report {
$strgrade = $this->get_lang_string('grade');
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core\user_fields::get_identity_fields($this->context, false);
$extrafields = \core_user\fields::get_identity_fields($this->context, false);
$arrows = $this->get_sort_arrows($extrafields);
@@ -1946,7 +1946,7 @@ class grade_report_grader extends grade_report {
}
$arrows['studentname'] = '';
$requirednames = order_in_string(\core\user_fields::get_name_fields(), $nameformat);
$requirednames = order_in_string(\core_user\fields::get_name_fields(), $nameformat);
if (!empty($requirednames)) {
foreach ($requirednames as $name) {
$arrows['studentname'] .= html_writer::link(
@@ -1963,7 +1963,7 @@ class grade_report_grader extends grade_report {
foreach ($extrafields as $field) {
$fieldlink = html_writer::link(new moodle_url($this->baseurl,
array('sortitemid' => $field)), \core\user_fields::get_display_name($field));
array('sortitemid' => $field)), \core_user\fields::get_display_name($field));
$arrows[$field] = $fieldlink;
if ($field == $this->sortitemid) {
+3 -3
View File
@@ -132,7 +132,7 @@ class helper {
// Fields we need from the user table.
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core\user_fields::get_identity_fields($context, false);
$extrafields = \core_user\fields::get_identity_fields($context, false);
$params = array();
if (!empty($search)) {
list($filtersql, $params) = users_search_sql($search, 'u', true, $extrafields);
@@ -141,7 +141,7 @@ class helper {
$filtersql = '';
}
$userfieldsapi = \core\user_fields::for_userpic()->including(...(array_merge($extrafields, ['username'])));
$userfieldsapi = \core_user\fields::for_userpic()->including(...(array_merge($extrafields, ['username'])));
$ufields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
if ($count) {
$select = "SELECT COUNT(DISTINCT u.id) ";
@@ -203,7 +203,7 @@ class helper {
$groupwheresql = " AND gm.groupid $insql ";
}
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$ufields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$sql = "SELECT u.id, $ufields
FROM {user} u
@@ -141,7 +141,7 @@ class tablelog extends \table_sql implements \renderable {
*/
protected function define_table_columns() {
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core\user_fields::get_identity_fields($this->context, false);
$extrafields = \core_user\fields::get_identity_fields($this->context, false);
// Define headers and columns.
$cols = array(
@@ -396,11 +396,11 @@ class tablelog extends \table_sql implements \renderable {
// Add extra user fields that we need for the graded user.
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core\user_fields::get_identity_fields($this->context, false);
$extrafields = \core_user\fields::get_identity_fields($this->context, false);
foreach ($extrafields as $field) {
$fields .= 'u.' . $field . ', ';
}
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$gradeduserfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$fields .= $gradeduserfields . ', ';
$groupby = $fields;
+1 -1
View File
@@ -52,7 +52,7 @@ $outcome->response = array('users' => array());
$outcome->response['totalusers'] = \gradereport_history\helper::get_users_count($context, $search);;
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core\user_fields::get_identity_fields($context, false);
$extrafields = \core_user\fields::get_identity_fields($context, false);
$useroptions = array('link' => false, 'visibletoscreenreaders' => false);
// Format the user record.
+1 -1
View File
@@ -100,7 +100,7 @@ if ($editform->is_cancelled()) {
$onlyactive = !empty($data->includeonlyactiveenrol) || !has_capability('moodle/course:viewsuspendedusers', $context);
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core\user_fields::get_identity_fields($context, false);
$extrafields = \core_user\fields::get_identity_fields($context, false);
$users = groups_get_potential_members($data->courseid, $data->roleid, $source, $orderby, !empty($data->notingroup),
$onlyactive, $extrafields);
$usercnt = count($users);
+4 -4
View File
@@ -82,9 +82,9 @@ switch ($action) {
$roles = array();
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($context, false)->with_userpic();
$userfieldsapi = \core_user\fields::for_identity($context, false)->with_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$extrafields = $userfieldsapi->get_required_fields([\core\user_fields::PURPOSE_IDENTITY]);
$extrafields = $userfieldsapi->get_required_fields([\core_user\fields::PURPOSE_IDENTITY]);
if ($groupmemberroles = groups_get_members_by_role($groupids[0], $courseid,
'u.id, ' . $userfields)) {
@@ -206,9 +206,9 @@ if ($groups) {
$members = array();
if ($singlegroup) {
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($context, false)->with_userpic();
$userfieldsapi = \core_user\fields::for_identity($context, false)->with_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$extrafields = $userfieldsapi->get_required_fields([\core\user_fields::PURPOSE_IDENTITY]);
$extrafields = $userfieldsapi->get_required_fields([\core_user\fields::PURPOSE_IDENTITY]);
if ($groupmemberroles = groups_get_members_by_role(reset($groupids), $courseid,
'u.id, ' . $userfields)) {
+1 -1
View File
@@ -848,7 +848,7 @@ function groups_get_potential_members($courseid, $roleid = null, $source = null,
}
}
$userfieldsapi = \core\user_fields::for_userpic()->including(...$extrafields);
$userfieldsapi = \core_user\fields::for_userpic()->including(...$extrafields);
$allusernamefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$sql = "SELECT DISTINCT u.id, u.username, $allusernamefields, u.idnumber
FROM {user} u
+2 -2
View File
@@ -111,9 +111,9 @@ if ($groupingid) {
list($sort, $sortparams) = users_order_by_sql('u');
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($context, false)->with_userpic();
$userfieldsapi = \core_user\fields::for_identity($context, false)->with_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$extrafields = $userfieldsapi->get_required_fields([\core\user_fields::PURPOSE_IDENTITY]);
$extrafields = $userfieldsapi->get_required_fields([\core_user\fields::PURPOSE_IDENTITY]);
$allnames = 'u.id, ' . $userfields;
$sql = "SELECT g.id AS groupid, gg.groupingid, u.id AS userid, $allnames, u.idnumber, u.username
+1 -1
View File
@@ -3923,7 +3923,7 @@ function get_role_users($roleid, context $context, $parent = false, $fields = ''
global $DB;
if (empty($fields)) {
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allnames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$fields = 'u.id, u.confirmed, u.username, '. $allnames . ', ' .
'u.maildisplay, u.mailformat, u.maildigest, u.email, u.emailstop, u.city, '.
+1 -1
View File
@@ -4311,7 +4311,7 @@ class admin_setting_users_with_capability extends admin_setting_configmultiselec
'This is unexpected, and a problem because there is no way to pass these ' .
'parameters to get_users_by_capability. See MDL-34657.');
}
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$userfields = 'u.id, u.username, ' . $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$users = get_users_by_capability(context_system::instance(), $this->capability, $userfields, $sort);
$this->choices = array(
+1 -1
View File
@@ -1102,7 +1102,7 @@ function signup_setup_new_user($user) {
$user->secret = random_string(15);
$user->auth = $CFG->registerauth;
// Initialize alternate name fields to empty strings.
$namefields = array_diff(\core\user_fields::get_name_fields(), useredit_get_required_name_fields());
$namefields = array_diff(\core_user\fields::get_name_fields(), useredit_get_required_name_fields());
foreach ($namefields as $namefield) {
$user->$namefield = '';
}
+1 -1
View File
@@ -143,7 +143,7 @@ function badges_notify_badge_award(badge $badge, $userid, $issued, $filepathhash
$userfrom = new stdClass();
$userfrom->id = $admin->id;
$userfrom->email = !empty($CFG->badges_defaultissuercontact) ? $CFG->badges_defaultissuercontact : $admin->email;
foreach (\core\user_fields::get_name_fields() as $addname) {
foreach (\core_user\fields::get_name_fields() as $addname) {
$userfrom->$addname = !empty($CFG->badges_defaultissuername) ? '' : $admin->$addname;
}
$userfrom->firstname = !empty($CFG->badges_defaultissuername) ? $CFG->badges_defaultissuername : $admin->firstname;
+1 -1
View File
@@ -66,7 +66,7 @@ class riskadmin extends check {
*/
public function get_result(): result {
global $DB, $CFG;
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$sql = "SELECT $userfields
FROM {user} u
@@ -165,7 +165,7 @@ class riskbackup_result extends \core\check\result {
'context1' => CONTEXT_COURSE,
'context2' => CONTEXT_COURSE,
];
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$rs = $DB->get_recordset_sql("
SELECT DISTINCT $userfields,
+1 -1
View File
@@ -90,7 +90,7 @@ class riskxss_result extends \core\check\result {
global $CFG, $DB;
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$users = $DB->get_records_sql("SELECT DISTINCT $userfields $this->sqlfrom", $this->params);
foreach ($users as $uid => $user) {
@@ -115,7 +115,7 @@ class send_failed_login_notifications_task extends scheduled_task {
// Now, select all the login error logged records belonging to the ips and infos
// since lastnotifyfailure, that we have stored in the cache_flags table.
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$namefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$sql = "SELECT * FROM (
SELECT l.*, u.username, $namefields
@@ -47,7 +47,7 @@ class send_new_user_passwords_task extends scheduled_task {
// Generate new password emails for users - ppl expect these generated asap.
if ($DB->count_records('user_preferences', array('name' => 'create_password', 'value' => '1'))) {
mtrace('Creating passwords for new users...');
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$usernamefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$newusers = $DB->get_recordset_sql("SELECT u.id as id, u.email, u.auth, u.deleted,
u.suspended, u.emailstop, u.mnethostid, u.mailformat,
+2 -2
View File
@@ -252,10 +252,10 @@ class core_user {
$extraparams = [];
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity(null, false)->with_userpic()->with_name()
$userfieldsapi = \core_user\fields::for_identity(null, false)->with_userpic()->with_name()
->including('username', 'deleted');
$selectfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$extra = $userfieldsapi->get_required_fields([\core\user_fields::PURPOSE_IDENTITY]);
$extra = $userfieldsapi->get_required_fields([\core_user\fields::PURPOSE_IDENTITY]);
$index = 1;
foreach ($extra as $fieldname) {
+1 -1
View File
@@ -1295,7 +1295,7 @@ class completion_info {
'moodle/course:isincompletionreports', $groupid, true);
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($extracontext, false)->with_name();
$userfieldsapi = \core_user\fields::for_identity($extracontext, false)->with_name();
$allusernames = $userfieldsapi->get_sql('u')->selects;
$sql = 'SELECT u.id, u.idnumber ' . $allusernames;
$sql .= ' FROM (' . $enrolledsql . ') eu JOIN {user} u ON u.id = eu.id';
+2 -2
View File
@@ -369,7 +369,7 @@ function users_order_by_sql($usertablealias = '', $search = null, context $conte
$paramkey++;
// TODO Does not support custom user profile fields (MDL-70456).
$fieldstocheck = array_merge(array('firstname', 'lastname'), \core\user_fields::get_identity_fields($context, false));
$fieldstocheck = array_merge(array('firstname', 'lastname'), \core_user\fields::get_identity_fields($context, false));
foreach ($fieldstocheck as $key => $field) {
$exactconditions[] = 'LOWER(' . $tableprefix . $field . ') = LOWER(:' . $paramkey . ')';
$params[$paramkey] = $search;
@@ -517,7 +517,7 @@ function get_users_listing($sort='lastaccess', $dir='ASC', $page=0, $recordsperp
// If a context is specified, get extra user fields that the current user
// is supposed to see, otherwise just get the name fields.
$userfields = \core\user_fields::for_name();
$userfields = \core_user\fields::for_name();
if ($extracontext) {
$userfields->with_identity($extracontext, true);
}
+15 -15
View File
@@ -3085,8 +3085,8 @@ function user_get_participants_sql($courseid, $groupid = 0, $accesssince = 0, $r
$wheres = array();
// TODO Does not support custom user profile fields (MDL-70456).
$userfields = \core\user_fields::get_identity_fields($context, false);
$userfieldsapi = \core\user_fields::for_userpic()->including(...$userfields);
$userfields = \core_user\fields::get_identity_fields($context, false);
$userfieldsapi = \core_user\fields::for_userpic()->including(...$userfields);
$userfieldssql = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
if ($isfrontpage) {
@@ -3175,7 +3175,7 @@ function user_get_participants_sql($courseid, $groupid = 0, $accesssince = 0, $r
$conditions[] = $idnumber;
// TODO Does not support custom user profile fields (MDL-70456).
$extrasearchfields = \core\user_fields::get_identity_fields($context, false);
$extrasearchfields = \core_user\fields::get_identity_fields($context, false);
if (!empty($extrasearchfields)) {
// Search all user identify fields.
foreach ($extrasearchfields as $extrasearchfield) {
@@ -3326,12 +3326,12 @@ function make_categories_options() {
* @return array Array of field names from user table, not including anything
* listed in $already
* @deprecated since Moodle 3.11 MDL-45242
* @see \core\user_fields
* @see \core_user\fields
*/
function get_extra_user_fields($context, $already = array()) {
debugging('get_extra_user_fields() is deprecated. Please use the \core\user_fields API instead.', DEBUG_DEVELOPER);
debugging('get_extra_user_fields() is deprecated. Please use the \core_user\fields API instead.', DEBUG_DEVELOPER);
$fields = \core\user_fields::for_identity($context, false)->excluding(...$already);
$fields = \core_user\fields::for_identity($context, false)->excluding(...$already);
return $fields->get_required_fields();
}
@@ -3348,12 +3348,12 @@ function get_extra_user_fields($context, $already = array()) {
* @param array $already Array of fields that we're going to include anyway so don't list them (default none)
* @return string Partial SQL select clause, beginning with comma, for example ',u.idnumber,u.department' unless it is blank
* @deprecated since Moodle 3.11 MDL-45242
* @see \core\user_fields
* @see \core_user\fields
*/
function get_extra_user_fields_sql($context, $alias='', $prefix='', $already = array()) {
debugging('get_extra_user_fields_sql() is deprecated. Please use the \core\user_fields API instead.', DEBUG_DEVELOPER);
debugging('get_extra_user_fields_sql() is deprecated. Please use the \core_user\fields API instead.', DEBUG_DEVELOPER);
$fields = \core\user_fields::for_identity($context, false)->excluding(...$already);
$fields = \core_user\fields::for_identity($context, false)->excluding(...$already);
// Note: There will never be any joins or join params because we turned off profile fields.
$selects = $fields->get_sql($alias, false, $prefix)->selects;
@@ -3368,12 +3368,12 @@ function get_extra_user_fields_sql($context, $alias='', $prefix='', $already = a
* @param string $field Field name, e.g. 'phone1'
* @return string Text description taken from language file, e.g. 'Phone number'
* @deprecated since Moodle 3.11 MDL-45242
* @see \core\user_fields
* @see \core_user\fields
*/
function get_user_field_name($field) {
debugging('get_user_field_name() is deprecated. Please use \core\user_fields::get_display_name() instead', DEBUG_DEVELOPER);
debugging('get_user_field_name() is deprecated. Please use \core_user\fields::get_display_name() instead', DEBUG_DEVELOPER);
return \core\user_fields::get_display_name($field);
return \core_user\fields::get_display_name($field);
}
/**
@@ -3386,15 +3386,15 @@ function get_user_field_name($field) {
* @param bool $order moves firstname and lastname to the top of the array / start of the string.
* @return array|string All name fields.
* @deprecated since Moodle 3.11 MDL-45242
* @see \core\user_fields
* @see \core_user\fields
*/
function get_all_user_name_fields($returnsql = false, $tableprefix = null, $prefix = null, $fieldprefix = null, $order = false) {
debugging('get_all_user_name_fields() is deprecated. Please use the \core\user_fields API instead', DEBUG_DEVELOPER);
debugging('get_all_user_name_fields() is deprecated. Please use the \core_user\fields API instead', DEBUG_DEVELOPER);
// This array is provided in this order because when called by fullname() (above) if firstname is before
// firstnamephonetic str_replace() will change the wrong placeholder.
$alternatenames = [];
foreach (\core\user_fields::get_name_fields() as $field) {
foreach (\core_user\fields::get_name_fields() as $field) {
$alternatenames[$field] = $field;
}
+1 -1
View File
@@ -1321,7 +1321,7 @@ function groups_user_groups_visible($course, $userid, $cm = null) {
function groups_get_groups_members($groupsids, $extrafields=null, $sort='lastname ASC') {
global $DB;
$userfieldsapi = \core\user_fields::for_userpic()->including(...($extrafields ?? []));
$userfieldsapi = \core_user\fields::for_userpic()->including(...($extrafields ?? []));
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
list($insql, $params) = $DB->get_in_or_equal($groupsids);
+2 -2
View File
@@ -3540,7 +3540,7 @@ function fullname($user, $override=false) {
}
// Get all of the name fields.
$allnames = \core\user_fields::get_name_fields();
$allnames = \core_user\fields::get_name_fields();
if ($CFG->debugdeveloper) {
foreach ($allnames as $allname) {
if (!property_exists($user, $allname)) {
@@ -3646,7 +3646,7 @@ function fullname($user, $override=false) {
*/
function username_load_fields_from_object($addtoobject, $secondobject, $prefix = null, $additionalfields = null) {
$fields = [];
foreach (\core\user_fields::get_name_fields() as $field) {
foreach (\core_user\fields::get_name_fields() as $field) {
$fields[$field] = $prefix . $field;
}
if ($additionalfields) {
+1 -1
View File
@@ -126,7 +126,7 @@ function core_myprofile_navigation(core_user\output\myprofile\tree $tree, $user,
$hiddenfields = array_flip(explode(',', $CFG->hiddenuserfields));
}
// TODO Does not support custom user profile fields (MDL-70456).
$identityfields = array_flip(\core\user_fields::get_identity_fields($courseorusercontext, false));
$identityfields = array_flip(\core_user\fields::get_identity_fields($courseorusercontext, false));
if (is_mnet_remote_user($user)) {
$sql = "SELECT h.id, h.name, h.wwwroot,
+7 -7
View File
@@ -220,18 +220,18 @@ class user_picture implements renderable {
// only touch the DB if we are missing data and complain loudly...
$needrec = false;
foreach (\core\user_fields::get_picture_fields() as $field) {
foreach (\core_user\fields::get_picture_fields() as $field) {
if (!property_exists($user, $field)) {
$needrec = true;
debugging('Missing '.$field.' property in $user object, this is a performance problem that needs to be fixed by a developer. '
.'Please use the \core\user_fields API to get the full list of required fields.', DEBUG_DEVELOPER);
.'Please use the \core_user\fields API to get the full list of required fields.', DEBUG_DEVELOPER);
break;
}
}
if ($needrec) {
$this->user = $DB->get_record('user', array('id' => $user->id),
implode(',', \core\user_fields::get_picture_fields()), MUST_EXIST);
implode(',', \core_user\fields::get_picture_fields()), MUST_EXIST);
} else {
$this->user = clone($user);
}
@@ -250,11 +250,11 @@ class user_picture implements renderable {
* @param string $fieldprefix prefix to add to all columns in their aliases, does not apply to 'id'
* @return string
* @deprecated since Moodle 3.11 MDL-45242
* @see \core\user_fields
* @see \core_user\fields
*/
public static function fields($tableprefix = '', array $extrafields = NULL, $idalias = 'id', $fieldprefix = '') {
debugging('user_picture::fields() is deprecated. Please use the \core\user_fields API instead.', DEBUG_DEVELOPER);
$userfields = \core\user_fields::for_userpic();
debugging('user_picture::fields() is deprecated. Please use the \core_user\fields API instead.', DEBUG_DEVELOPER);
$userfields = \core_user\fields::for_userpic();
if ($extrafields) {
$userfields->including(...$extrafields);
}
@@ -288,7 +288,7 @@ class user_picture implements renderable {
$return = new stdClass();
foreach (\core\user_fields::get_picture_fields() as $field) {
foreach (\core_user\fields::get_picture_fields() as $field) {
if ($field === 'id') {
if (property_exists($record, $idalias)) {
$return->id = $record->{$idalias};
+3 -3
View File
@@ -608,7 +608,7 @@ class flexible_table {
if (isset($this->columns[$column])) {
continue; // This column is OK.
}
if (in_array($column, \core\user_fields::get_name_fields()) &&
if (in_array($column, \core_user\fields::get_name_fields()) &&
isset($this->columns['fullname'])) {
continue; // This column is OK.
}
@@ -1235,7 +1235,7 @@ class flexible_table {
$nameformat = get_string('fullnamedisplay');
}
$requirednames = order_in_string(\core\user_fields::get_name_fields(), $nameformat);
$requirednames = order_in_string(\core_user\fields::get_name_fields(), $nameformat);
if (!empty($requirednames)) {
if ($this->is_sortable($column)) {
@@ -1315,7 +1315,7 @@ class flexible_table {
$sortdata = array_merge([$sortby => $sortorder], $sortdata);
}
$usernamefields = \core\user_fields::get_name_fields();
$usernamefields = \core_user\fields::get_name_fields();
$sortdata = array_filter($sortdata, function($sortby) use ($usernamefields) {
$isvalidsort = $sortby && $this->is_sortable($sortby);
$isvalidsort = $isvalidsort && empty($this->prefs['collapse'][$sortby]);
+2 -2
View File
@@ -3827,7 +3827,7 @@ EOF;
// User information for showing a picture.
$user = new stdClass();
$additionalfields = explode(',', implode(',', \core\user_fields::get_picture_fields()));
$additionalfields = explode(',', implode(',', \core_user\fields::get_picture_fields()));
$user = username_load_fields_from_object($user, $userinfo, null, $additionalfields);
$user->id = $userinfo->userid;
$expectedarray = new stdClass();
@@ -3856,7 +3856,7 @@ EOF;
// Return an object with user picture information.
$user = new stdClass();
$additionalfields = explode(',', implode(',', \core\user_fields::get_picture_fields()));
$additionalfields = explode(',', implode(',', \core_user\fields::get_picture_fields()));
$user = username_load_fields_from_object($user, $userinfo, 'author', $additionalfields);
$user->id = $userinfo->userid;
$expectedarray = new stdClass();
+2 -2
View File
@@ -74,7 +74,7 @@ class core_outputcomponents_testcase extends advanced_testcase {
* Tests user_picture::unalias.
*/
public function test_fields_unaliasing() {
$fields = implode(',', \core\user_fields::get_picture_fields());
$fields = implode(',', \core_user\fields::get_picture_fields());
$fields = array_map('trim', explode(',', $fields));
$fakerecord = new stdClass();
@@ -101,7 +101,7 @@ class core_outputcomponents_testcase extends advanced_testcase {
* Tests user_picture::unalias with null values.
*/
public function test_fields_unaliasing_null() {
$fields = implode(',', \core\user_fields::get_picture_fields());
$fields = implode(',', \core_user\fields::get_picture_fields());
$fields = array_map('trim', explode(',', $fields));
$fakerecord = new stdClass();
+1 -1
View File
@@ -111,7 +111,7 @@ information provided here is intended especially for developers.
e.g. ['completionsubmit' => 'Must submit']
* Admin setting admin_setting_configmulticheckbox now supports lazy-loading the options list by
supplying a callback function instead of an array of options.
* A new core API class \core\user_fields provides ways to get lists of user fields, and SQL related to
* A new core API class \core_user\fields provides ways to get lists of user fields, and SQL related to
those fields. This replaces existing functions get_extra_user_fields(), get_extra_user_fields_sql(),
get_user_field_name(), get_all_user_name_fields(), and user_picture::fields(), which have all been
deprecated.
+4 -4
View File
@@ -111,7 +111,7 @@ class api {
global $DB;
// Get the user fields we want.
$userfieldsapi = \core\user_fields::for_userpic()->including('lastaccess');
$userfieldsapi = \core_user\fields::for_userpic()->including('lastaccess');
$ufields = $userfieldsapi->get_sql('u', false, 'userfrom_', '', false)->selects;
$ufields2 = $userfieldsapi->get_sql('u2', false, 'userto_', '', false)->selects;
// Add the uniqueid column to make each row unique and avoid SQL errors.
@@ -1023,7 +1023,7 @@ class api {
debugging('\core_message\api::get_contacts_with_unread_message_count is deprecated and no longer used',
DEBUG_DEVELOPER);
$userfieldsapi = \core\user_fields::for_userpic()->including('lastaccess');
$userfieldsapi = \core_user\fields::for_userpic()->including('lastaccess');
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$unreadcountssql = "SELECT $userfields, count(m.id) as messagecount
FROM {message_contacts} mc
@@ -1065,7 +1065,7 @@ class api {
debugging('\core_message\api::get_non_contacts_with_unread_message_count is deprecated and no longer used',
DEBUG_DEVELOPER);
$userfieldsapi = \core\user_fields::for_userpic()->including('lastaccess');
$userfieldsapi = \core_user\fields::for_userpic()->including('lastaccess');
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$unreadcountssql = "SELECT $userfields, count(m.id) as messagecount
FROM {user} u
@@ -1888,7 +1888,7 @@ class api {
public static function get_blocked_users($userid) {
global $DB;
$userfieldsapi = \core\user_fields::for_userpic()->including('lastaccess');
$userfieldsapi = \core_user\fields::for_userpic()->including('lastaccess');
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$blockeduserssql = "SELECT $userfields
FROM {message_users_blocked} mub
+1 -1
View File
@@ -429,7 +429,7 @@ class helper {
}
list($useridsql, $usersparams) = $DB->get_in_or_equal($userids);
$userfieldsapi = \core\user_fields::for_userpic()->including('lastaccess');
$userfieldsapi = \core_user\fields::for_userpic()->including('lastaccess');
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$userssql = "SELECT $userfields, u.deleted, mc.id AS contactid, mub.id AS blockedid
FROM {user} u
+2 -2
View File
@@ -183,7 +183,7 @@ function message_search_users($courseids, $searchtext, $sort='', $exceptions='')
}
$fullname = $DB->sql_fullname();
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$ufields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
if (!empty($sort)) {
@@ -550,7 +550,7 @@ function message_get_messages($useridto, $useridfrom = 0, $notifications = -1, $
global $DB;
// If the 'useridto' value is empty then we are going to retrieve messages sent by the useridfrom to any user.
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
if (empty($useridto)) {
$userfields = $userfieldsapi->get_sql('u', false, 'userto', '', false)->selects;
$messageuseridtosql = 'u.id as useridto';
@@ -161,7 +161,7 @@ class send_email_task extends scheduled_task {
protected function get_users_messages_for_conversation(int $conversationid, int $userid) : moodle_recordset {
global $DB;
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$usernamefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$sql = "SELECT $usernamefields, m.*
FROM {messages} m
+1 -1
View File
@@ -169,7 +169,7 @@ class grading_app implements templatable, renderable {
$export->larrow = $output->larrow();
// List of identity fields to display (the user info will not contain any fields the user cannot view anyway).
// TODO Does not support custom user profile fields (MDL-70456).
$export->showuseridentity = implode(',', \core\user_fields::get_identity_fields(null, false));
$export->showuseridentity = implode(',', \core_user\fields::get_identity_fields(null, false));
$export->currentuserid = $USER->id;
$helpicon = new \help_icon('sendstudentnotifications', 'assign');
$export->helpicon = $helpicon->export_for_template($output);
+1 -1
View File
@@ -59,7 +59,7 @@ class mod_assign_extension_form extends moodleform {
$usershtml = '';
// TODO Does not support custom user profile fields (MDL-70456).
$extrauserfields = \core\user_fields::get_identity_fields($assign->get_context(), false);
$extrauserfields = \core_user\fields::get_identity_fields($assign->get_context(), false);
foreach ($userlist as $userid) {
if ($usercount >= 5) {
$usershtml .= get_string('moreusers', 'assign', count($userlist) - 5);
+1 -1
View File
@@ -475,7 +475,7 @@ class assign_feedback_file extends assign_feedback_plugin {
$this->assignment->is_blind_marking(),
$this->assignment->get_uniqueid_for_user($user->id),
// TODO Does not support custom user profile fields (MDL-70456).
\core\user_fields::get_identity_fields($this->assignment->get_context(), false));
\core_user\fields::get_identity_fields($this->assignment->get_context(), false));
$usershtml .= $this->assignment->get_renderer()->render($usersummary);
$usercount += 1;
}
+3 -3
View File
@@ -135,9 +135,9 @@ class assign_grading_table extends table_sql implements renderable {
$params['newstatus'] = ASSIGN_SUBMISSION_STATUS_NEW;
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($this->assignment->get_context(), false)->with_userpic();
$userfieldsapi = \core_user\fields::for_identity($this->assignment->get_context(), false)->with_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$extrauserfields = $userfieldsapi->get_required_fields([\core\user_fields::PURPOSE_IDENTITY]);
$extrauserfields = $userfieldsapi->get_required_fields([\core_user\fields::PURPOSE_IDENTITY]);
$fields = $userfields . ', ';
$fields .= 'u.id as userid, ';
$fields .= 's.status as status, ';
@@ -408,7 +408,7 @@ class assign_grading_table extends table_sql implements renderable {
foreach ($extrauserfields as $extrafield) {
$columns[] = $extrafield;
$headers[] = \core\user_fields::get_display_name($extrafield);
$headers[] = \core_user\fields::get_display_name($extrafield);
}
} else {
// Record ID.
+3 -3
View File
@@ -587,7 +587,7 @@ function assign_print_recent_activity($course, $viewfullnames, $timestart) {
// Do not use log table if possible, it may be huge.
$dbparams = array($timestart, $course->id, 'assign', ASSIGN_SUBMISSION_STATUS_SUBMITTED);
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$namefields = $userfieldsapi->get_sql('u', false, '', 'userid', false)->selects;;
if (!$submissions = $DB->get_records_sql("SELECT asb.id, asb.timemodified, cm.id AS cmid, um.id as recordid,
$namefields
@@ -745,7 +745,7 @@ function assign_get_recent_mod_activity(&$activities,
$params['timestart'] = $timestart;
$params['submitted'] = ASSIGN_SUBMISSION_STATUS_SUBMITTED;
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', 'userid', false)->selects;
if (!$submissions = $DB->get_records_sql('SELECT asb.id, asb.timemodified, ' .
@@ -833,7 +833,7 @@ function assign_get_recent_mod_activity(&$activities,
$activity->grade = $grades->items[0]->grades[$submission->userid]->str_long_grade;
}
$userfields = explode(',', implode(',', \core\user_fields::get_picture_fields()));
$userfields = explode(',', implode(',', \core_user\fields::get_picture_fields()));
foreach ($userfields as $userfield) {
if ($userfield == 'id') {
// Aliased in SQL above.
+4 -4
View File
@@ -2066,7 +2066,7 @@ class assign {
private function get_grading_sort_sql() {
$usersort = flexible_table::get_sort_for_table('mod_assign_grading');
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($this->context, false)->with_userpic();
$userfieldsapi = \core_user\fields::for_identity($this->context, false)->with_userpic();
$userfields = $userfieldsapi->get_required_fields();
$orderfields = explode(',', $usersort);
$validlist = [];
@@ -4149,7 +4149,7 @@ class assign {
$this->is_blind_marking(),
$this->get_uniqueid_for_user($user->id),
// TODO Does not support custom user profile fields (MDL-70456).
\core\user_fields::get_identity_fields($this->get_context(), false),
\core_user\fields::get_identity_fields($this->get_context(), false),
!$this->is_active_user($userid));
$o .= $this->get_renderer()->render($usersummary);
}
@@ -4999,7 +4999,7 @@ class assign {
$usercount = 0;
// TODO Does not support custom user profile fields (MDL-70456).
$extrauserfields = \core\user_fields::get_identity_fields($this->get_context(), false);
$extrauserfields = \core_user\fields::get_identity_fields($this->get_context(), false);
$viewfullnames = has_capability('moodle/site:viewfullnames', $this->get_context());
foreach ($userlist as $userid) {
if ($usercount >= 5) {
@@ -5064,7 +5064,7 @@ class assign {
$usercount = 0;
// TODO Does not support custom user profile fields (MDL-70456).
$extrauserfields = \core\user_fields::get_identity_fields($this->get_context(), false);
$extrauserfields = \core_user\fields::get_identity_fields($this->get_context(), false);
$viewfullnames = has_capability('moodle/site:viewfullnames', $this->get_context());
foreach ($userlist as $userid) {
if ($usercount >= 5) {
+2 -2
View File
@@ -156,7 +156,7 @@ class assign_override_form extends moodleform {
list($sort) = users_order_by_sql('u');
// Get the list of appropriate users, depending on whether and how groups are used.
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
if ($accessallgroups) {
$users = get_enrolled_users($this->context, '', 0,
'u.id, u.email, ' . $userfieldsapi->get_sql('u', false, '', '', false)->selects, $sort);
@@ -187,7 +187,7 @@ class assign_override_form extends moodleform {
$userchoices = array();
// TODO Does not support custom user profile fields (MDL-70456).
$canviewemail = in_array('email', \core\user_fields::get_identity_fields($this->context, false));
$canviewemail = in_array('email', \core_user\fields::get_identity_fields($this->context, false));
foreach ($users as $id => $user) {
if (empty($invalidusers[$id]) || (!empty($override) &&
$id == $override->userid)) {
+1 -1
View File
@@ -90,7 +90,7 @@ if ($override->groupid) {
$group = $DB->get_record('groups', array('id' => $override->groupid), 'id, name');
$confirmstr = get_string("overridedeletegroupsure", "assign", $group->name);
} else {
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$namefields = $userfieldsapi->get_sql('', false, '', '', false)->selects;
$user = $DB->get_record('user', array('id' => $override->userid),
'id, ' . $namefields);
+1 -1
View File
@@ -121,7 +121,7 @@ if ($groupmode) {
list($sort, $params) = users_order_by_sql('u');
$params['assignid'] = $assign->id;
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
if ($accessallgroups) {
$sql = 'SELECT o.*, ' . $userfieldsapi->get_sql('u', false, '', '', false)->selects . '
FROM {assign_overrides} o
+4 -4
View File
@@ -372,7 +372,7 @@ function chat_print_recent_activity($course, $viewfullnames, $timestart) {
$groupselect = "";
}
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
if (!$users = $DB->get_records_sql("SELECT $userfields
FROM {course_modules} cm
@@ -514,7 +514,7 @@ function chat_get_users($chatid, $groupid=0, $groupingid=0) {
$groupingjoin = '';
}
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$ufields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
return $DB->get_records_sql("SELECT DISTINCT $ufields, c.lastmessageping, c.firstping
FROM {chat_users} c
@@ -907,7 +907,7 @@ function chat_format_message($message, $courseid, $currentuser, $chatlastrow=nul
if (isset($users[$message->userid])) {
$user = $users[$message->userid];
} else if ($user = $DB->get_record('user', ['id' => $message->userid], implode(',', \core\user_fields::get_picture_fields()))) {
} else if ($user = $DB->get_record('user', ['id' => $message->userid], implode(',', \core_user\fields::get_picture_fields()))) {
$users[$message->userid] = $user;
} else {
return null;
@@ -939,7 +939,7 @@ function chat_format_message_theme ($message, $chatuser, $currentuser, $grouping
if (isset($users[$message->userid])) {
$sender = $users[$message->userid];
} else if ($sender = $DB->get_record('user', array('id' => $message->userid),
implode(',', \core\user_fields::get_picture_fields()))) {
implode(',', \core_user\fields::get_picture_fields()))) {
$users[$message->userid] = $sender;
} else {
return null;
+1 -1
View File
@@ -799,7 +799,7 @@ function choice_get_response_data($choice, $cm, $groupmode, $onlyactive) {
/// First get all the users who have access here
/// To start with we assume they are all "unanswered" then move them later
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($context, false)->with_userpic();
$userfieldsapi = \core_user\fields::for_identity($context, false)->with_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$allresponses[0] = get_enrolled_users($context, 'mod/choice:choose', $currentgroup,
$userfields, null, 0, 0, $onlyactive);
+4 -4
View File
@@ -96,7 +96,7 @@
$users = choice_get_response_data($choice, $cm, $groupmode, $onlyactive);
// TODO Does not support custom user profile fields (MDL-70456).
$extrafields = \core\user_fields::get_identity_fields($context, false);
$extrafields = \core_user\fields::get_identity_fields($context, false);
if ($download == "ods" && has_capability('mod/choice:downloadresponses', $context)) {
require_once("$CFG->libdir/odslib.class.php");
@@ -119,7 +119,7 @@
// Add headers for extra user fields.
foreach ($extrafields as $field) {
$myxls->write_string(0, $i++, \core\user_fields::get_display_name($field));
$myxls->write_string(0, $i++, \core_user\fields::get_display_name($field));
}
$myxls->write_string(0, $i++, get_string("group"));
@@ -180,7 +180,7 @@
// Add headers for extra user fields.
foreach ($extrafields as $field) {
$myxls->write_string(0, $i++, \core\user_fields::get_display_name($field));
$myxls->write_string(0, $i++, \core_user\fields::get_display_name($field));
}
$myxls->write_string(0, $i++, get_string("group"));
@@ -236,7 +236,7 @@
// Add headers for extra user fields.
foreach ($extrafields as $field) {
echo \core\user_fields::get_display_name($field) . "\t";
echo \core_user\fields::get_display_name($field) . "\t";
}
echo get_string("group"). "\t";
+1 -1
View File
@@ -4118,7 +4118,7 @@ function data_get_recordids($alias, $searcharray, $dataid, $recordids) {
function data_get_advanced_search_sql($sort, $data, $recordids, $selectdata, $sortorder) {
global $DB;
$userfieldsapi = \core\user_fields::for_userpic()->excluding('id');
$userfieldsapi = \core_user\fields::for_userpic()->excluding('id');
$namefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
if ($sort == 0) {
+1 -1
View File
@@ -1112,7 +1112,7 @@ function data_search_entries($data, $cm, $context, $mode, $currentgroup, $search
$advparams = array();
// This is used for the initial reduction of advanced search results with required entries.
$entrysql = '';
$userfieldsapi = \core\user_fields::for_userpic()->excluding('id');
$userfieldsapi = \core_user\fields::for_userpic()->excluding('id');
$namefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
// Find the field we are sorting on.
+1 -1
View File
@@ -62,7 +62,7 @@ $presets = data_get_available_presets($context);
$strdelete = get_string('deleted', 'data');
foreach ($presets as &$preset) {
if (!empty($preset->userid)) {
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$namefields = $userfieldsapi->get_sql('', false, '', '', false)->selects;
$presetuser = $DB->get_record('user', array('id' => $preset->userid), 'id, ' . $namefields, MUST_EXIST);
$preset->description = $preset->name.' ('.fullname($presetuser, true).')';
+2 -2
View File
@@ -294,7 +294,7 @@
echo $OUTPUT->notification(get_string('recorddeleted','data'), 'notifysuccess');
}
} else { // Print a confirmation page
$userfieldsapi = \core\user_fields::for_userpic()->excluding('id');
$userfieldsapi = \core_user\fields::for_userpic()->excluding('id');
$allnamefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$dbparams = array($delete);
if ($deleterecord = $DB->get_record_sql("SELECT dr.*, $allnamefields
@@ -331,7 +331,7 @@
$validrecords = array();
$recordids = array();
foreach ($multidelete as $value) {
$userfieldsapi = \core\user_fields::for_userpic()->excluding('id');
$userfieldsapi = \core_user\fields::for_userpic()->excluding('id');
$allnamefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$dbparams = array('id' => $value);
if ($deleterecord = $DB->get_record_sql("SELECT dr.*, $allnamefields
+3 -3
View File
@@ -121,9 +121,9 @@ class mod_feedback_responses_table extends table_sql {
);
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($this->get_context(), false)->with_userpic();
$userfieldsapi = \core_user\fields::for_identity($this->get_context(), false)->with_userpic();
$ufields = $userfieldsapi->get_sql('u', false, '', $this->useridfield, false)->selects;
$extrafields = $userfieldsapi->get_required_fields([\core\user_fields::PURPOSE_IDENTITY]);
$extrafields = $userfieldsapi->get_required_fields([\core_user\fields::PURPOSE_IDENTITY]);
$fields = 'c.id, c.timemodified as completed_timemodified, c.courseid, '.$ufields;
$from = '{feedback_completed} c '
. 'JOIN {user} u ON u.id = c.userid AND u.deleted = :notdeleted';
@@ -143,7 +143,7 @@ class mod_feedback_responses_table extends table_sql {
foreach ($extrafields as $field) {
$fields .= ", u.{$field}";
$tablecolumns[] = $field;
$tableheaders[] = \core\user_fields::get_display_name($field);
$tableheaders[] = \core_user\fields::get_display_name($field);
}
}
+3 -3
View File
@@ -388,7 +388,7 @@ function feedback_get_recent_mod_activity(&$activities, &$index,
$sqlargs = array();
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', 'useridagain', false)->selects;
$sql = " SELECT fk . * , fc . * , $userfields
FROM {feedback_completed} fc
@@ -986,7 +986,7 @@ function feedback_get_incomplete_users(cm_info $cm,
//first get all user who can complete this feedback
$cap = 'mod/feedback:complete';
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allnames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$fields = 'u.id, ' . $allnames . ', u.picture, u.email, u.imagealt';
if (!$allusers = get_users_by_capability($context,
@@ -1124,7 +1124,7 @@ function feedback_get_complete_users($cm,
$sortsql = '';
}
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$ufields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$sql = 'SELECT DISTINCT '.$ufields.', c.timemodified as completed_timemodified
FROM {user} u, {feedback_completed} c '.$fromgroup.'
+1 -1
View File
@@ -57,7 +57,7 @@ class export_form extends \moodleform {
'valuehtmlcallback' => function($value) {
global $OUTPUT;
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allusernames = $userfieldsapi->get_sql('', false, '', '', false)->selects;
$fields = 'id, ' . $allusernames;
$user = \core_user::get_user($value, $fields);
@@ -131,7 +131,7 @@ class discussion_list extends db_table_vault {
// - Most recent editor.
$thistable = new dml_table(self::TABLE, $alias, $alias);
$posttable = new dml_table('forum_posts', 'fp', 'p_');
$userfieldsapi = \core\user_fields::for_userpic()->including('deleted');
$userfieldsapi = \core_user\fields::for_userpic()->including('deleted');
$firstauthorfields = $userfieldsapi->get_sql('fa', false,
self::FIRST_AUTHOR_ALIAS, self::FIRST_AUTHOR_ID_ALIAS, false)->selects;
$latestuserfields = $userfieldsapi->get_sql('la', false,
@@ -274,7 +274,7 @@ class discussion_list extends db_table_vault {
$nameformat = get_string('fullnamedisplay', '', (object)['firstname' => 'firstname', 'lastname' => 'lastname']);
}
// Fetch all the available user name fields.
$availablefields = order_in_string(\core\user_fields::get_name_fields(), $nameformat);
$availablefields = order_in_string(\core_user\fields::get_name_fields(), $nameformat);
// We'll default to the first name if there's no available name field.
$returnfield = 'firstname';
if (!empty($availablefields)) {
+1 -1
View File
@@ -393,7 +393,7 @@ class subscriptions {
global $CFG, $DB;
if (empty($fields)) {
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allnames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$fields ="u.id,
u.username,
+1 -1
View File
@@ -839,7 +839,7 @@ function forum_print_post($post, $discussion, $forum, &$cm, $course, $ownpost=fa
// Build an object that represents the posting user
$postuser = new stdClass;
$postuserfields = explode(',', implode(',', \core\user_fields::get_picture_fields()));
$postuserfields = explode(',', implode(',', \core_user\fields::get_picture_fields()));
$postuser = username_load_fields_from_object($postuser, $post, null, $postuserfields);
$postuser->id = $post->userid;
$postuser->fullname = fullname($postuser, $cm->cache->caps['moodle/site:viewfullnames']);
+1 -1
View File
@@ -674,7 +674,7 @@ class mod_forum_external extends external_api {
$discussion->usermodifiedfullname = null;
$discussion->usermodifiedpictureurl = null;
} else {
$picturefields = explode(',', implode(',', \core\user_fields::get_picture_fields()));
$picturefields = explode(',', implode(',', \core_user\fields::get_picture_fields()));
// Load user objects from the results of the query.
$user = new stdclass();
+11 -11
View File
@@ -644,7 +644,7 @@ function forum_print_recent_activity($course, $viewfullnames, $timestart) {
// do not use log table if possible, it may be huge and is expensive to join with other tables
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$allnamefields = $userfieldsapi->get_sql('u', false, '', 'duserid', false)->selects;
if (!$posts = $DB->get_records_sql("SELECT p.*,
f.course, f.type AS forumtype, f.name AS forumname, f.intro, f.introformat, f.duedate,
@@ -972,7 +972,7 @@ function forum_scale_used_anywhere(int $scaleid): bool {
function forum_get_post_full($postid) {
global $CFG, $DB;
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allnames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
return $DB->get_record_sql("SELECT p.*, d.forum, $allnames, u.email, u.picture, u.imagealt
FROM {forum_posts} p
@@ -1002,7 +1002,7 @@ function forum_get_all_discussion_posts($discussionid, $sort, $tracking = false)
$params[] = $USER->id;
}
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allnames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$params[] = $discussionid;
if (!$posts = $DB->get_records_sql("SELECT p.*, $allnames, u.email, u.picture, u.imagealt $tr_sel
@@ -1301,7 +1301,7 @@ function forum_search_posts($searchterms, $courseid, $limitfrom, $limitnum,
FROM $fromsql
WHERE $selectsql";
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allnames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$searchsql = "SELECT p.*,
d.forum,
@@ -1342,7 +1342,7 @@ function forum_get_user_posts($forumid, $userid) {
}
}
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allnames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
return $DB->get_records_sql("SELECT p.*, d.forum, $allnames, u.email, u.picture, u.imagealt
FROM {forum} f
@@ -1434,7 +1434,7 @@ function forum_count_user_posts($forumid, $userid) {
function forum_get_post_from_log($log) {
global $CFG, $DB;
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allnames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
if ($log->action == "add post") {
@@ -1763,7 +1763,7 @@ function forum_get_discussions($cm, $forumsort="", $fullpost=true, $unused=-1, $
$postdata = "p.*";
}
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
if (empty($userlastmodified)) { // We don't need to know this
$umfields = "";
@@ -2439,7 +2439,7 @@ function forum_print_discussion_header(&$post, $forum, $group = -1, $datestring
// Picture
$postuser = new stdClass();
$postuserfields = explode(',', implode(',', \core\user_fields::get_picture_fields()));
$postuserfields = explode(',', implode(',', \core_user\fields::get_picture_fields()));
$postuser = username_load_fields_from_object($postuser, $post, null, $postuserfields);
$postuser->id = $post->userid;
echo '<td class="author">';
@@ -4114,7 +4114,7 @@ function forum_get_recent_mod_activity(&$activities, &$index, $timestart, $cours
$groupselect = "";
}
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$allnames = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
if (!$posts = $DB->get_records_sql("SELECT p.*, f.type AS forumtype, d.forum, d.groupid,
d.timestart, d.timeend, d.userid AS duserid,
@@ -4187,7 +4187,7 @@ function forum_get_recent_mod_activity(&$activities, &$index, $timestart, $cours
$tmpactivity->user = new stdClass();
$additionalfields = array('id' => 'userid', 'picture', 'imagealt', 'email');
$additionalfields = explode(',', implode(',', \core\user_fields::get_picture_fields()));
$additionalfields = explode(',', implode(',', \core_user\fields::get_picture_fields()));
$tmpactivity->user = username_load_fields_from_object($tmpactivity->user, $post, null, $additionalfields);
$tmpactivity->user->id = $post->userid;
@@ -6024,7 +6024,7 @@ function forum_get_posts_by_user($user, array $courses, $musthaveaccess = false,
// Prepare SQL to both count and search.
// We alias user.id to useridx because we forum_posts already has a userid field and not aliasing this would break
// oracle and mssql.
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$userfields = $userfieldsapi->get_sql('u', false, '', 'useridx', false)->selects;
$countsql = 'SELECT COUNT(*) ';
$selectsql = 'SELECT p.*, d.forum, d.name AS discussionname, '.$userfields.' ';
+1 -1
View File
@@ -126,7 +126,7 @@ class mod_forum_renderer extends plugin_renderer_base {
} else {
$cm = $modinfo->instances['forum'][$forum->id];
// TODO Does not support custom user profile fields (MDL-70456).
$canviewemail = in_array('email', \core\user_fields::get_identity_fields(context_module::instance($cm->id), false));
$canviewemail = in_array('email', \core_user\fields::get_identity_fields(context_module::instance($cm->id), false));
$strparams = new stdclass();
$strparams->name = format_string($forum->name);
$strparams->count = count($users);
@@ -544,7 +544,7 @@ class summary_table extends table_sql {
global $USER;
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core\user_fields::for_identity($this->userfieldscontext, false)->with_userpic();
$userfieldsapi = \core_user\fields::for_identity($this->userfieldscontext, false)->with_userpic();
$userfieldssql = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
// Define base SQL query format.
+2 -2
View File
@@ -182,7 +182,7 @@ function forum_rss_feed_discussions_sql($forum, $cm, $newsince=0) {
$forumsort = "d.timemodified DESC";
$postdata = "p.id AS postid, p.subject, p.created as postcreated, p.modified, p.discussion, p.userid, p.message as postmessage, p.messageformat AS postformat, p.messagetrust AS posttrust";
$userfieldsapi = \core\user_fields::for_userpic();
$userfieldsapi = \core_user\fields::for_userpic();
$userpicturefields = $userfieldsapi->get_sql('u', false, '', 'userid', false)->selects;
$sql = "SELECT $postdata, d.id as discussionid, d.name as discussionname, d.timemodified, d.usermodified, d.groupid,
@@ -236,7 +236,7 @@ function forum_rss_feed_posts_sql($forum, $cm, $newsince=0) {
$privatewhere = '';
}
$userfieldsapi = \core\user_fields::for_name();
$userfieldsapi = \core_user\fields::for_name();
$usernamefields = $userfieldsapi->get_sql('u', false, '', '', false)->selects;
$sql = "SELECT p.id AS postid,
d.id AS discussionid,

Some files were not shown because too many files have changed in this diff Show More