This commit is contained in:
Ilya Tregubov
2024-09-19 14:04:48 +08:00
5 changed files with 20 additions and 10 deletions
@@ -0,0 +1,7 @@
issueNumber: MDL-82494
notes:
core_user:
- message: >
The user profile field `display_name()` method now accepts an optional
`$escape` parameter to define whether to escape the returned name
type: changed
+1 -1
View File
@@ -333,7 +333,7 @@ function core_myprofile_navigation(core_user\output\myprofile\tree $tree, $user,
foreach ($fields as $formfield) {
if ($formfield->show_field_content()) {
$node = new core_user\output\myprofile\node('contact', 'custom_field_' . $formfield->field->shortname,
format_string($formfield->field->name), null, null, $formfield->display_data());
$formfield->display_name(), null, null, $formfield->display_data());
$tree->add_node($node);
}
}
@@ -18,7 +18,6 @@ declare(strict_types=1);
namespace core_reportbuilder\local\helpers;
use core\context\system;
use core\lang_string;
use core_text;
use core_reportbuilder\local\filters\{boolean_select, date, select, text};
@@ -132,8 +131,7 @@ class user_profile_fields {
$columns[] = (new column(
'profilefield_' . core_text::strtolower($profilefield->field->shortname),
new lang_string('customfieldcolumn', 'core_reportbuilder',
format_string($profilefield->field->name, true, ['escape' => false, 'context' => system::instance()])),
new lang_string('customfieldcolumn', 'core_reportbuilder', $profilefield->display_name(false)),
$this->entityname
))
->add_joins($this->get_joins())
@@ -218,8 +216,7 @@ class user_profile_fields {
$filter = (new filter(
$classname,
'profilefield_' . core_text::strtolower($profilefield->field->shortname),
new lang_string('customfieldcolumn', 'core_reportbuilder',
format_string($profilefield->field->name, true, ['escape' => false, 'context' => system::instance()])),
new lang_string('customfieldcolumn', 'core_reportbuilder', $profilefield->display_name(false)),
$this->entityname,
$userinfosql,
$userinfoparams,
+6 -4
View File
@@ -149,11 +149,13 @@ class profile_field_base {
/**
* Display the name of the profile field.
*
* @param bool $escape
* @return string
*/
public function display_name(): string {
return format_text($this->field->name, FORMAT_MOODLE, [
'para' => false,
public function display_name(bool $escape = true): string {
return format_string($this->field->name, true, [
'context' => context_system::instance(),
'escape' => $escape,
]);
}
@@ -1008,7 +1010,7 @@ function get_profile_field_list(): array {
if (!isset($data[$categoryname])) {
$data[$categoryname] = [];
}
$data[$categoryname][$field->inputname] = $field->field->name;
$data[$categoryname][$field->inputname] = $field->display_name();
}
}
return $data;
+4
View File
@@ -194,6 +194,8 @@ final class externallib_test extends externallib_advanced_testcase {
// Create complex user profile field supporting multi-lang.
filter_set_global_state('multilang', TEXTFILTER_ON);
filter_set_applies_to_strings('multilang', true);
$name = '<span lang="en" class="multilang">Employment status</span>'.
'<span lang="es" class="multilang">Estado de Empleo</span>';
$statuses = 'UE\nSE\n<span lang="en" class="multilang">Other</span><span lang="es" class="multilang">Otro</span>';
@@ -360,6 +362,8 @@ final class externallib_test extends externallib_advanced_testcase {
// Create complex user profile field supporting multi-lang.
filter_set_global_state('multilang', TEXTFILTER_ON);
filter_set_applies_to_strings('multilang', true);
$name = '<span lang="en" class="multilang">Employment status</span>' .
'<span lang="es" class="multilang">Estado de Empleo</span>';
$statuses = 'UE\nSE\n<span lang="en" class="multilang">Other</span><span lang="es" class="multilang">Otro</span>';