From 896a57156e01406bbf3bb8ee2b4c84a9cad8d10c Mon Sep 17 00:00:00 2001 From: brettp Date: Sat, 12 Feb 2011 19:57:39 +0000 Subject: Refs #2898: Using an XML namespace instead of version attribute on plugin manifests. git-svn-id: http://code.elgg.org/elgg/trunk@8170 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/classes/ElggPluginManifest.php | 19 ++++++++++++++----- mod/blog/manifest.xml | 2 +- mod/bookmarks/manifest.xml | 2 +- mod/categories/manifest.xml | 2 +- mod/defaultwidgets/manifest.xml | 2 +- mod/developers/manifest.xml | 2 +- mod/diagnostics/manifest.xml | 2 +- mod/embed/manifest.xml | 2 +- mod/file/manifest.xml | 2 +- mod/garbagecollector/manifest.xml | 2 +- mod/groups/manifest.xml | 2 +- mod/htmlawed/manifest.xml | 2 +- mod/invitefriends/manifest.xml | 2 +- mod/logbrowser/manifest.xml | 2 +- mod/logrotate/manifest.xml | 2 +- mod/messageboard/manifest.xml | 2 +- mod/messages/manifest.xml | 2 +- mod/minify/manifest.xml | 4 ++-- mod/notifications/manifest.xml | 2 +- mod/oauth_lib/manifest.xml | 2 +- mod/pages/manifest.xml | 2 +- mod/profile/manifest.xml | 2 +- mod/reportedcontent/manifest.xml | 2 +- mod/search/manifest.xml | 2 +- mod/sitepages/manifest.xml | 2 +- mod/tagcloud/manifest.xml | 2 +- mod/thewire/manifest.xml | 2 +- mod/tinymce/manifest.xml | 2 +- mod/twitter/manifest.xml | 2 +- mod/twitterservice/manifest.xml | 2 +- mod/uservalidationbyemail/manifest.xml | 2 +- mod/zaudio/manifest.xml | 2 +- 32 files changed, 46 insertions(+), 37 deletions(-) diff --git a/engine/classes/ElggPluginManifest.php b/engine/classes/ElggPluginManifest.php index fcd0094c4..e230cd3f2 100644 --- a/engine/classes/ElggPluginManifest.php +++ b/engine/classes/ElggPluginManifest.php @@ -8,8 +8,8 @@ * as $this->parser. * * To add new parser versions, name them ElggPluginManifestParserXX - * where XX is the version specified in the top-level - * tag. + * where XX is the version specified in the top-level + * tag's XML namespace. * * @package Elgg.Core * @subpackage Plugins @@ -22,6 +22,12 @@ class ElggPluginManifest { */ protected $parser; + /** + * The root for plugin manifest namespaces. + * This is in the format http://www.elgg.org/plugin_manifest/ + */ + protected $namespace_root = 'http://www.elgg.org/plugin_manifest/'; + /** * The expected structure of a plugins requires element */ @@ -144,12 +150,15 @@ class ElggPluginManifest { } // set manifest api version - if (isset($manifest_obj->attributes['version'])) { - $this->apiVersion = (float)$manifest_obj->attributes['version']; + if (isset($manifest_obj->attributes['xmlns'])) { + $namespace = $manifest_obj->attributes['xmlns']; + $version = str_replace($this->namespace_root, '', $namespace); } else { - $this->apiVersion = 1.7; + $version = 1.7; } + $this->apiVersion = $version; + $parser_class_name = 'ElggPluginManifestParser' . str_replace('.', '', $this->apiVersion); // @todo currently the autoloader freaks out if a class doesn't exist. diff --git a/mod/blog/manifest.xml b/mod/blog/manifest.xml index 2712b1ed9..4d84e25b2 100644 --- a/mod/blog/manifest.xml +++ b/mod/blog/manifest.xml @@ -1,5 +1,5 @@ - + Blog Curverider 1.8 diff --git a/mod/bookmarks/manifest.xml b/mod/bookmarks/manifest.xml index 76bb5e54b..82deaf5b4 100644 --- a/mod/bookmarks/manifest.xml +++ b/mod/bookmarks/manifest.xml @@ -1,5 +1,5 @@ - + Bookmarks Curverider 1.7 diff --git a/mod/categories/manifest.xml b/mod/categories/manifest.xml index 86ac985e7..cc4e339ce 100644 --- a/mod/categories/manifest.xml +++ b/mod/categories/manifest.xml @@ -1,5 +1,5 @@ - + Site-wide Categories Curverider 1.7 diff --git a/mod/defaultwidgets/manifest.xml b/mod/defaultwidgets/manifest.xml index f5860882e..bb3e4332c 100644 --- a/mod/defaultwidgets/manifest.xml +++ b/mod/defaultwidgets/manifest.xml @@ -1,5 +1,5 @@ - + Default Widgets Milan Magudia & Curverider 2.04 diff --git a/mod/developers/manifest.xml b/mod/developers/manifest.xml index ed5aadd62..407c65bf1 100644 --- a/mod/developers/manifest.xml +++ b/mod/developers/manifest.xml @@ -1,5 +1,5 @@ - + Elgg Developer Tools Cash Costello 1.0 diff --git a/mod/diagnostics/manifest.xml b/mod/diagnostics/manifest.xml index 2a006adcf..194306f7b 100644 --- a/mod/diagnostics/manifest.xml +++ b/mod/diagnostics/manifest.xml @@ -1,5 +1,5 @@ - + Diagnostics Curverider Ltd 1.5 diff --git a/mod/embed/manifest.xml b/mod/embed/manifest.xml index 866516e25..aeb85430a 100644 --- a/mod/embed/manifest.xml +++ b/mod/embed/manifest.xml @@ -1,5 +1,5 @@ - + Embed Curverider 1.8 diff --git a/mod/file/manifest.xml b/mod/file/manifest.xml index 3a10dbf68..545e40905 100644 --- a/mod/file/manifest.xml +++ b/mod/file/manifest.xml @@ -1,5 +1,5 @@ - + File Curverider 1.8 diff --git a/mod/garbagecollector/manifest.xml b/mod/garbagecollector/manifest.xml index 6d6e370b4..a9135321d 100644 --- a/mod/garbagecollector/manifest.xml +++ b/mod/garbagecollector/manifest.xml @@ -1,5 +1,5 @@ - + Garbage Collector Curverider ltd 1.5 diff --git a/mod/groups/manifest.xml b/mod/groups/manifest.xml index f5f43acf7..ce079b18f 100644 --- a/mod/groups/manifest.xml +++ b/mod/groups/manifest.xml @@ -1,5 +1,5 @@ - + Groups Curverider ltd 1.8 diff --git a/mod/htmlawed/manifest.xml b/mod/htmlawed/manifest.xml index 50f18f938..2168619fb 100644 --- a/mod/htmlawed/manifest.xml +++ b/mod/htmlawed/manifest.xml @@ -1,5 +1,5 @@ - + HTMLawed Curverider Ltd 1.5 diff --git a/mod/invitefriends/manifest.xml b/mod/invitefriends/manifest.xml index 647caaf05..adb8832e6 100644 --- a/mod/invitefriends/manifest.xml +++ b/mod/invitefriends/manifest.xml @@ -1,5 +1,5 @@ - + Invite Friends Curverider 1.7 diff --git a/mod/logbrowser/manifest.xml b/mod/logbrowser/manifest.xml index d96f01579..7898092b5 100644 --- a/mod/logbrowser/manifest.xml +++ b/mod/logbrowser/manifest.xml @@ -1,5 +1,5 @@ - + Log Browser Curverider Ltd 1.5 diff --git a/mod/logrotate/manifest.xml b/mod/logrotate/manifest.xml index 0b974f77a..a54095149 100644 --- a/mod/logrotate/manifest.xml +++ b/mod/logrotate/manifest.xml @@ -1,5 +1,5 @@ - + Log Rotate Curverider Ltd 1.5 diff --git a/mod/messageboard/manifest.xml b/mod/messageboard/manifest.xml index d3a5d6498..c29acbd4f 100644 --- a/mod/messageboard/manifest.xml +++ b/mod/messageboard/manifest.xml @@ -1,5 +1,5 @@ - + Message Board Curverider 1.7 diff --git a/mod/messages/manifest.xml b/mod/messages/manifest.xml index 1e0eb4670..35377cc5f 100644 --- a/mod/messages/manifest.xml +++ b/mod/messages/manifest.xml @@ -1,5 +1,5 @@ - + Messages Curverider? 1.8 diff --git a/mod/minify/manifest.xml b/mod/minify/manifest.xml index 0ae6dde24..bdf815b8b 100644 --- a/mod/minify/manifest.xml +++ b/mod/minify/manifest.xml @@ -1,5 +1,5 @@ - + Minify Evan Winslow 0.2 @@ -10,4 +10,4 @@ elgg_release 1.7 - \ No newline at end of file + diff --git a/mod/notifications/manifest.xml b/mod/notifications/manifest.xml index 6e1d82517..a7d197937 100644 --- a/mod/notifications/manifest.xml +++ b/mod/notifications/manifest.xml @@ -1,5 +1,5 @@ - + Notifications Curverider 1.7 diff --git a/mod/oauth_lib/manifest.xml b/mod/oauth_lib/manifest.xml index 76b2bfecc..c91f5c168 100644 --- a/mod/oauth_lib/manifest.xml +++ b/mod/oauth_lib/manifest.xml @@ -1,5 +1,5 @@ - + OAuth Libraries Curverider 1.8 diff --git a/mod/pages/manifest.xml b/mod/pages/manifest.xml index 63c12d865..fdd9af2d6 100644 --- a/mod/pages/manifest.xml +++ b/mod/pages/manifest.xml @@ -1,5 +1,5 @@ - + Pages Curverider 1.8 diff --git a/mod/profile/manifest.xml b/mod/profile/manifest.xml index c9bbe703b..ac0b5a444 100644 --- a/mod/profile/manifest.xml +++ b/mod/profile/manifest.xml @@ -1,5 +1,5 @@ - + Profile The default profile plugin. Elgg.org diff --git a/mod/reportedcontent/manifest.xml b/mod/reportedcontent/manifest.xml index 6eb994aa5..2f37c5bfe 100644 --- a/mod/reportedcontent/manifest.xml +++ b/mod/reportedcontent/manifest.xml @@ -1,5 +1,5 @@ - + Reported Content Curverider 1.7 diff --git a/mod/search/manifest.xml b/mod/search/manifest.xml index df1fe2010..a9b50af17 100644 --- a/mod/search/manifest.xml +++ b/mod/search/manifest.xml @@ -1,5 +1,5 @@ - + Search Curverider Ltd, The MITRE Corporation 1.8 diff --git a/mod/sitepages/manifest.xml b/mod/sitepages/manifest.xml index ae4c5d8dc..86b6e92f7 100644 --- a/mod/sitepages/manifest.xml +++ b/mod/sitepages/manifest.xml @@ -1,5 +1,5 @@ - + Site Pages Curverider 1.8 diff --git a/mod/tagcloud/manifest.xml b/mod/tagcloud/manifest.xml index 3103a5477..a49e8ff62 100644 --- a/mod/tagcloud/manifest.xml +++ b/mod/tagcloud/manifest.xml @@ -1,5 +1,5 @@ - + Tag Cloud Cash Costello 1.0 diff --git a/mod/thewire/manifest.xml b/mod/thewire/manifest.xml index d62884ea0..563b28152 100644 --- a/mod/thewire/manifest.xml +++ b/mod/thewire/manifest.xml @@ -1,5 +1,5 @@ - + The Wire Curverider 1.8 diff --git a/mod/tinymce/manifest.xml b/mod/tinymce/manifest.xml index b7fc2ae1a..0eeab71eb 100644 --- a/mod/tinymce/manifest.xml +++ b/mod/tinymce/manifest.xml @@ -1,5 +1,5 @@ - + TinyMCE Curverider 1.8 diff --git a/mod/twitter/manifest.xml b/mod/twitter/manifest.xml index 7c2102106..f6c4f3984 100644 --- a/mod/twitter/manifest.xml +++ b/mod/twitter/manifest.xml @@ -1,5 +1,5 @@ - + Twitter Curverider 1.7 diff --git a/mod/twitterservice/manifest.xml b/mod/twitterservice/manifest.xml index 737512ecf..993cef1d8 100644 --- a/mod/twitterservice/manifest.xml +++ b/mod/twitterservice/manifest.xml @@ -1,5 +1,5 @@ - + Twitter Services Curverider 1.8 diff --git a/mod/uservalidationbyemail/manifest.xml b/mod/uservalidationbyemail/manifest.xml index 164cab547..d7fbdbe7e 100644 --- a/mod/uservalidationbyemail/manifest.xml +++ b/mod/uservalidationbyemail/manifest.xml @@ -1,5 +1,5 @@ - + User Validation by Email Curverider Ltd 1.7 diff --git a/mod/zaudio/manifest.xml b/mod/zaudio/manifest.xml index 78fc69057..80a703bf2 100644 --- a/mod/zaudio/manifest.xml +++ b/mod/zaudio/manifest.xml @@ -1,5 +1,5 @@ - + Zaudio Curverider 1.8 -- cgit v1.2.3