MDL-22015 Fixing get_string regression

The passed $a placeholder object can be some advanced object like $USER for example.
If such object contained other objects or arrays as properties, casting
to string in the loop throws error. This patch just skips all arrays and
objects when trying to find $a property value.
Thanks to Sam H. for spotting this.
This commit is contained in:
David Mudrak
2010-04-13 06:22:57 +00:00
parent c7b9082a6a
commit d19e47031c
+4
View File
@@ -5938,6 +5938,10 @@ class core_string_manager implements string_manager {
// we do not support numeric keys - sorry!
continue;
}
if (is_object($value) or is_array($value)) {
// we support just string as value
continue;
}
$search[] = '{$a->'.$key.'}';
$replace[] = (string)$value;
}