diff --git a/lib/outputcomponents.php b/lib/outputcomponents.php index 01c3499bd9c..1760ae144d2 100644 --- a/lib/outputcomponents.php +++ b/lib/outputcomponents.php @@ -3492,7 +3492,10 @@ class custom_menu_item implements renderable, templatable { */ public function __construct($text, moodle_url $url = null, $title = null, $sort = null, custom_menu_item $parent = null, array $attributes = []) { - $this->text = $text; + + // Use class setter method for text to ensure it's always a string type. + $this->set_text($text); + $this->url = $url; $this->title = $title; $this->sort = (int)$sort; @@ -3769,7 +3772,7 @@ class custom_menu extends custom_menu_item { $settings = explode('|', $line); foreach ($settings as $i => $setting) { $setting = trim($setting); - if (!empty($setting)) { + if ($setting !== '') { switch ($i) { case 0: // Menu text. $itemtext = ltrim($setting, '-');