From ebf65d37ec50cce097ad8cddfb43acc5ea5aea21 Mon Sep 17 00:00:00 2001 From: Adrian Lang <lang@cosmocode.de> Date: Wed, 17 Mar 2010 16:40:36 +0100 Subject: [PATCH] Rewrite p_get_metadata to not issue a E_Notice --- inc/parserutils.php | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/inc/parserutils.php b/inc/parserutils.php index 4102ee711..cb8bc079d 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -222,7 +222,7 @@ function p_get_instructions($text){ * * @author Esther Brunner <esther@kaffeehaus.ch> */ -function p_get_metadata($id, $key=false, $render=false){ +function p_get_metadata($id, $key='', $render=false){ global $ID, $INFO, $cache_metadata; // cache the current page @@ -241,19 +241,17 @@ function p_get_metadata($id, $key=false, $render=false){ if (!empty($INFO) && ($id == $INFO['id'])) { $INFO['meta'] = $meta['current']; } } - // filter by $key - if ($key){ - list($key, $subkey) = explode(' ', $key, 2); - $subkey = trim($subkey); + $val = $meta['current']; - if ($subkey) { - return isset($meta['current'][$key][$subkey]) ? $meta['current'][$key][$subkey] : null; + // filter by $key + foreach(explode(' ', trim($key), 2) as $cur_key) { + $cur_key = trim($cur_key); + if (!isset($val[$cur_key])) { + return null; } - - return isset($meta['current'][$key]) ? $meta['current'][$key] : null; + $val = $val[$cur_key]; } - - return $meta['current']; + return $val; } /** -- GitLab