From 5c8e53478a20108699ae555b861896eb1ddc9d78 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Tue, 2 Apr 2024 16:02:14 +0100 Subject: [PATCH] MDL-81406 repository_equella: correctly obtain/format profile fields. --- repository/equella/lib.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/repository/equella/lib.php b/repository/equella/lib.php index 368ddfe3995..a3d7626515b 100644 --- a/repository/equella/lib.php +++ b/repository/equella/lib.php @@ -260,10 +260,12 @@ class repository_equella extends repository { /** * Add Instance settings input to Moodle form * - * @param moodleform $mform + * @param MoodleQuickForm $mform */ public static function instance_config_form($mform) { - global $DB; + global $CFG; + require_once("{$CFG->dirroot}/user/profile/lib.php"); + $mform->addElement('text', 'equella_url', get_string('equellaurl', 'repository_equella')); $mform->setType('equella_url', PARAM_URL); @@ -271,8 +273,11 @@ class repository_equella extends repository { $mform->addRule('equella_url', $strrequired, 'required', null, 'client'); $userfieldoptions = ['default' => get_string('equellausername', 'repository_equella')]; - foreach ($DB->get_records('user_info_field', ['datatype' => 'text']) as $params) { - $userfieldoptions[$params->shortname] = $params->name; + foreach (profile_get_custom_fields() as $field) { + if ($field->datatype != 'text') { + continue; + } + $userfieldoptions[$field->shortname] = format_string($field->name, true, ['context' => context_system::instance()]); } $mform->addElement('select', 'equella_userfield', get_string('equellauserfield', 'repository_equella'), $userfieldoptions); $mform->setDefault('equella_userfield', $userfieldoptions['default']);