In line #103 you have passed $value
to htmlspecialcharacters
after you have set $value
as an array earlier, before line #94 or at #96.
htmlspecialcharacters
is expecting a string, not an array, as the first argument.
You need to changeUpdated:
To be executing line #103 you have failed to bemeet the same as #100condition on #94, $multiple is True and pass it $val
$value is an array. The error message says that $value is an array therefore $multiple must be false.
I attempted to recreate your described scenario of creating a menu item to create an article and I can confirm $multiple is false by default but I can't cause the message because $value is a string and not an array.
The $multiple is set by a field in the $value
.xml file for the form or custom field that has the attribute of multiple="true" and for $value to be an array then the field is probably a drop down list or checkbox field type with more than one value that can be set.
Given I can't recreate the error with a standard Joomla install then is it possible you have custom field(s) added to the category or article or an override of the article/category form that has a new or modified field that is missing a multiple="true" statement?