MDL-78308 output: better parsing of custom menu item configuration.

Previously certain values would cause deprecation notices in PHP8.1.
This commit is contained in:
Paul Holden
2023-05-18 10:19:16 +01:00
parent 0ec98042d6
commit 01b12e91ac
+5 -2
View File
@@ -3493,7 +3493,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;
@@ -3770,7 +3773,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, '-');