From adad5a2ea53a69e58a39c37871d31782c00354a9 Mon Sep 17 00:00:00 2001 From: brettp Date: Mon, 5 Apr 2010 20:42:03 +0000 Subject: load_plugin_manifest() converts multiple keys with the same name into assoc arrays. git-svn-id: http://code.elgg.org/elgg/trunk@5627 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/plugins.php | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) (limited to 'engine/lib/plugins.php') diff --git a/engine/lib/plugins.php b/engine/lib/plugins.php index b12ea704a..4861ffd09 100644 --- a/engine/lib/plugins.php +++ b/engine/lib/plugins.php @@ -306,14 +306,21 @@ function get_plugin_name($mainfilename = false) { * * Example file: * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * * * @param string $plugin Plugin name. * @return array of values @@ -330,7 +337,17 @@ function load_plugin_manifest($plugin) { $key = $element->attributes['key']; $value = $element->attributes['value']; - $elements[$key] = $value; + // create arrays if multiple fields are set + if (array_key_exists($key, $elements)) { + if (!is_array($elements[$key])) { + $orig = $elements[$key]; + $elements[$key] = array($orig); + } + + $elements[$key][] = $value; + } else { + $elements[$key] = $value; + } } return $elements; -- cgit v1.2.3