summaryrefslogtreecommitdiff
path: root/inc/parserutils.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/parserutils.php')
-rw-r--r--inc/parserutils.php6
1 files changed, 4 insertions, 2 deletions
diff --git a/inc/parserutils.php b/inc/parserutils.php
index 77ad21646..7078161e3 100644
--- a/inc/parserutils.php
+++ b/inc/parserutils.php
@@ -289,11 +289,13 @@ function p_set_metadata($id, $data, $render=false, $persistent=true){
if (is_array($value)){
#FIXME not sure if this is the intended thing:
- if(!is_array($meta['current'][$key])) $meta['current'][$key] = array($meta['current'][$key]);
+ if(!empty($meta['current'][$key]) && !is_array($meta['current'][$key]))
+ $meta['current'][$key] = array($meta['current'][$key]);
$meta['current'][$key] = array_merge($meta['current'][$key], $value);
if ($persistent) {
- if(!is_array($meta['persistent'][$key])) $meta['persistent'][$key] = array($meta['persistent'][$key]);
+ if(!empty($meta['persistent'][$key]) && !is_array($meta['persistent'][$key]))
+ $meta['persistent'][$key] = array($meta['persistent'][$key]);
$meta['persistent'][$key] = array_merge($meta['persistent'][$key], $value);
}
}