From 17c28c8161e8c551ce4e4a1345e525cbb785fb59 Mon Sep 17 00:00:00 2001 From: Sem Date: Sun, 8 Jul 2012 09:48:50 +0200 Subject: Fixes #3646. Added suport for Repository, Bugtracker and Donations in manifest. --- documentation/info/manifest.xml | 3 +++ engine/classes/ElggPluginManifest.php | 26 ++++++++++++++++++++++++ engine/classes/ElggPluginManifestParser18.php | 11 ++++++---- engine/tests/api/plugins.php | 18 +++++++++++++++++ engine/tests/test_files/plugin_18/manifest.xml | 3 +++ languages/en.php | 3 +++ mod/blog/manifest.xml | 1 + mod/bookmarks/manifest.xml | 1 + mod/categories/manifest.xml | 1 + mod/custom_index/manifest.xml | 1 + mod/dashboard/manifest.xml | 1 + mod/developers/manifest.xml | 3 +++ mod/diagnostics/manifest.xml | 1 + mod/embed/manifest.xml | 1 + mod/externalpages/manifest.xml | 1 + mod/file/manifest.xml | 1 + mod/garbagecollector/manifest.xml | 1 + mod/groups/manifest.xml | 1 + mod/htmlawed/manifest.xml | 1 + mod/invitefriends/manifest.xml | 1 + mod/likes/manifest.xml | 1 + mod/logbrowser/manifest.xml | 1 + mod/logrotate/manifest.xml | 1 + mod/members/manifest.xml | 1 + mod/messageboard/manifest.xml | 1 + mod/messages/manifest.xml | 3 ++- mod/notifications/manifest.xml | 1 + mod/oauth_api/manifest.xml | 1 + mod/pages/manifest.xml | 1 + mod/profile/manifest.xml | 1 + mod/reportedcontent/manifest.xml | 1 + mod/search/manifest.xml | 1 + mod/tagcloud/manifest.xml | 1 + mod/thewire/manifest.xml | 1 + mod/tinymce/manifest.xml | 1 + mod/twitter/manifest.xml | 1 + mod/twitter_api/manifest.xml | 1 + mod/uservalidationbyemail/manifest.xml | 1 + mod/zaudio/manifest.xml | 1 + views/default/css/admin.php | 3 ++- views/default/object/plugin/full.php | 28 ++++++++++++++++++++++++-- 41 files changed, 124 insertions(+), 8 deletions(-) diff --git a/documentation/info/manifest.xml b/documentation/info/manifest.xml index baa6cc3fa..494158481 100644 --- a/documentation/info/manifest.xml +++ b/documentation/info/manifest.xml @@ -6,6 +6,9 @@ A concise description. This is a longer, more interesting description of my plugin, its features, and other important information. http://www.elgg.org/ + https://github.com/Elgg/Elgg + http://trac.elgg.org + http://elgg.org/supporter.php (C) Elgg 2011 GNU General Public License version 2 diff --git a/engine/classes/ElggPluginManifest.php b/engine/classes/ElggPluginManifest.php index 7e79c15c8..5eb248c2c 100644 --- a/engine/classes/ElggPluginManifest.php +++ b/engine/classes/ElggPluginManifest.php @@ -276,6 +276,32 @@ class ElggPluginManifest { } } + /** + * Returns the repository url + * + * @return sting + */ + public function getRepository() { + return $this->parser->getAttribute('repository'); + } + + /** + * Returns the bug tracker page + * + * @return sting + */ + public function getBugTracker() { + return $this->parser->getAttribute('bugtracker'); + } + + /** + * Returns the donations page + * + * @return sting + */ + public function getDonationsPage() { + return $this->parser->getAttribute('donations'); + } /** * Returns the version of the plugin. diff --git a/engine/classes/ElggPluginManifestParser18.php b/engine/classes/ElggPluginManifestParser18.php index 554e28c02..3b753f17b 100644 --- a/engine/classes/ElggPluginManifestParser18.php +++ b/engine/classes/ElggPluginManifestParser18.php @@ -13,10 +13,10 @@ class ElggPluginManifestParser18 extends ElggPluginManifestParser { * @var array */ protected $validAttributes = array( - 'name', 'author', 'version', 'blurb', 'description', - 'website', 'copyright', 'license', 'requires', 'suggests', - 'screenshot', 'category', 'conflicts', 'provides', - 'activate_on_install' + 'name', 'author', 'version', 'blurb', 'description','website', + 'repository', 'bugtracker', 'donations', 'copyright', 'license', + 'requires', 'suggests', 'conflicts', 'provides', + 'screenshot', 'category', 'activate_on_install' ); /** @@ -46,6 +46,9 @@ class ElggPluginManifestParser18 extends ElggPluginManifestParser { case 'website': case 'copyright': case 'license': + case 'repository': + case 'bugtracker': + case 'donations': case 'activate_on_install': $parsed[$element->name] = $element->content; break; diff --git a/engine/tests/api/plugins.php b/engine/tests/api/plugins.php index 8ecb0a46c..66297266c 100644 --- a/engine/tests/api/plugins.php +++ b/engine/tests/api/plugins.php @@ -68,6 +68,9 @@ class ElggCorePluginsAPITest extends ElggCoreUnitTest { 'blurb' => 'A concise description.', 'description' => 'A longer, more interesting description.', 'website' => 'http://www.elgg.org/', + 'repository' => 'https://github.com/Elgg/Elgg', + 'bugtracker' => 'http://trac.elgg.org', + 'donations' => 'http://elgg.org/supporter.php', 'copyright' => '(C) Elgg Foundation 2011', 'license' => 'GNU General Public License version 2', @@ -164,6 +167,21 @@ class ElggCorePluginsAPITest extends ElggCoreUnitTest { $this->assertEqual($this->manifest18->getWebsite(), 'http://www.elgg.org/'); $this->assertEqual($this->manifest17->getWebsite(), 'http://www.elgg.org/'); } + + public function testElggPluginManifestGetRepository() { + $this->assertEqual($this->manifest18->getRepository(), 'https://github.com/Elgg/Elgg'); + $this->assertEqual($this->manifest17->getRepository(), ''); + } + + public function testElggPluginManifestGetBugtracker() { + $this->assertEqual($this->manifest18->getBugTracker(), 'http://trac.elgg.org'); + $this->assertEqual($this->manifest17->getBugTracker(), ''); + } + + public function testElggPluginManifestGetDonationsPage() { + $this->assertEqual($this->manifest18->getDonationsPage(), 'http://elgg.org/supporter.php'); + $this->assertEqual($this->manifest17->getDonationsPage(), ''); + } public function testElggPluginManifestGetCopyright() { $this->assertEqual($this->manifest18->getCopyright(), '(C) Elgg Foundation 2011'); diff --git a/engine/tests/test_files/plugin_18/manifest.xml b/engine/tests/test_files/plugin_18/manifest.xml index 9654b6422..5d788616a 100644 --- a/engine/tests/test_files/plugin_18/manifest.xml +++ b/engine/tests/test_files/plugin_18/manifest.xml @@ -6,6 +6,9 @@ A concise description. A longer, more interesting description. http://www.elgg.org/ + https://github.com/Elgg/Elgg + http://trac.elgg.org + http://elgg.org/supporter.php (C) Elgg Foundation 2011 GNU General Public License version 2 diff --git a/languages/en.php b/languages/en.php index 18d0c88d9..23f1c3a19 100644 --- a/languages/en.php +++ b/languages/en.php @@ -686,6 +686,9 @@ $english = array( 'admin:plugins:label:categories' => 'Categories', 'admin:plugins:label:licence' => "Licence", 'admin:plugins:label:website' => "URL", + 'admin:plugins:label:repository' => "Code", + 'admin:plugins:label:bugtracker' => "Report issue", + 'admin:plugins:label:donate' => "Donate", 'admin:plugins:label:moreinfo' => 'more info', 'admin:plugins:label:version' => 'Version', 'admin:plugins:label:location' => 'Location', diff --git a/mod/blog/manifest.xml b/mod/blog/manifest.xml index 29ee1bfc8..a68c30969 100644 --- a/mod/blog/manifest.xml +++ b/mod/blog/manifest.xml @@ -9,6 +9,7 @@ Blog plugin Adds simple blogging capabilities to your Elgg installation. http://elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/bookmarks/manifest.xml b/mod/bookmarks/manifest.xml index b95af87f8..ebe8704a6 100644 --- a/mod/bookmarks/manifest.xml +++ b/mod/bookmarks/manifest.xml @@ -9,6 +9,7 @@ Add and comment on bookmarks. Adds the ability for users to bookmark internal and external sites. Other users can then comment on the bookmarks. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/categories/manifest.xml b/mod/categories/manifest.xml index 4a6bd0864..dbc84bed0 100644 --- a/mod/categories/manifest.xml +++ b/mod/categories/manifest.xml @@ -8,6 +8,7 @@ Add site-wide categories Site-wide Categories lets administrators define categories that users across the site can add content to. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/custom_index/manifest.xml b/mod/custom_index/manifest.xml index 80187efbc..3bdcbd333 100644 --- a/mod/custom_index/manifest.xml +++ b/mod/custom_index/manifest.xml @@ -6,6 +6,7 @@ bundled A demonstration of how to create a front page plugin. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/dashboard/manifest.xml b/mod/dashboard/manifest.xml index cbbc1044c..20ed074a7 100644 --- a/mod/dashboard/manifest.xml +++ b/mod/dashboard/manifest.xml @@ -6,6 +6,7 @@ bundled A widget-based dashboard for your users http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/developers/manifest.xml b/mod/developers/manifest.xml index 93a12945d..58e8e24f0 100644 --- a/mod/developers/manifest.xml +++ b/mod/developers/manifest.xml @@ -8,6 +8,9 @@ Developer tools for Elgg A set of tools for writing plugins and themes. It is recommended that you have this plugin at the top of the plugin list. http://www.elgg.org/ + https://github.com/Elgg/Elgg + http://trac.elgg.org + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/diagnostics/manifest.xml b/mod/diagnostics/manifest.xml index 21e847d22..df4a81b02 100644 --- a/mod/diagnostics/manifest.xml +++ b/mod/diagnostics/manifest.xml @@ -8,6 +8,7 @@ admin Elgg diagnostics tool http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/embed/manifest.xml b/mod/embed/manifest.xml index 81ca9194e..546471647 100644 --- a/mod/embed/manifest.xml +++ b/mod/embed/manifest.xml @@ -7,6 +7,7 @@ enhancement Allows users to easily upload and embed media into text areas. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/externalpages/manifest.xml b/mod/externalpages/manifest.xml index f2aef09f3..8c474ddab 100644 --- a/mod/externalpages/manifest.xml +++ b/mod/externalpages/manifest.xml @@ -6,6 +6,7 @@ bundled Create simple web pages for about, contact, privacy, and terms. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/file/manifest.xml b/mod/file/manifest.xml index 26282a8e3..7d69f4280 100644 --- a/mod/file/manifest.xml +++ b/mod/file/manifest.xml @@ -8,6 +8,7 @@ widget File browser plugin http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/garbagecollector/manifest.xml b/mod/garbagecollector/manifest.xml index 5aafebf38..ddf15656a 100644 --- a/mod/garbagecollector/manifest.xml +++ b/mod/garbagecollector/manifest.xml @@ -7,6 +7,7 @@ admin Perform some database cleanup tasks http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/groups/manifest.xml b/mod/groups/manifest.xml index fd28360d0..574ba1985 100644 --- a/mod/groups/manifest.xml +++ b/mod/groups/manifest.xml @@ -8,6 +8,7 @@ widget Provides group support for elgg http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/htmlawed/manifest.xml b/mod/htmlawed/manifest.xml index 6807e96a4..e4d8fa145 100644 --- a/mod/htmlawed/manifest.xml +++ b/mod/htmlawed/manifest.xml @@ -7,6 +7,7 @@ security Provides security filtering. Running a site with this plugin disabled is extremely insecure. DO NOT DISABLE. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/invitefriends/manifest.xml b/mod/invitefriends/manifest.xml index b36238a05..220948c30 100644 --- a/mod/invitefriends/manifest.xml +++ b/mod/invitefriends/manifest.xml @@ -7,6 +7,7 @@ social Invite friends via email invites. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/likes/manifest.xml b/mod/likes/manifest.xml index 62835fcf5..e0a9b10f2 100644 --- a/mod/likes/manifest.xml +++ b/mod/likes/manifest.xml @@ -7,6 +7,7 @@ social Enables users to like content on the site. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/logbrowser/manifest.xml b/mod/logbrowser/manifest.xml index 4527e2cbb..17b08803c 100644 --- a/mod/logbrowser/manifest.xml +++ b/mod/logbrowser/manifest.xml @@ -7,6 +7,7 @@ admin Browse the system event log http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/logrotate/manifest.xml b/mod/logrotate/manifest.xml index 1aa62e2e7..79b37dbbc 100644 --- a/mod/logrotate/manifest.xml +++ b/mod/logrotate/manifest.xml @@ -7,6 +7,7 @@ admin Rotate the system log at specific intervals http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/members/manifest.xml b/mod/members/manifest.xml index 8b18c9f91..40a05892c 100644 --- a/mod/members/manifest.xml +++ b/mod/members/manifest.xml @@ -6,6 +6,7 @@ bundled Lists the members of your site http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/messageboard/manifest.xml b/mod/messageboard/manifest.xml index 617813725..b4188ab31 100644 --- a/mod/messageboard/manifest.xml +++ b/mod/messageboard/manifest.xml @@ -7,6 +7,7 @@ widget This plugin allows users to put a message board on their profile for other users to post comments. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/messages/manifest.xml b/mod/messages/manifest.xml index 73a58d9d4..83f7bba64 100644 --- a/mod/messages/manifest.xml +++ b/mod/messages/manifest.xml @@ -6,8 +6,9 @@ bundled communication Elgg internal messages plugin. This plugin lets user send each other messages. - See COPYRIGHT.txt http://www.elgg.org/ + http://elgg.org/supporter.php + See COPYRIGHT.txt GNU General Public License version 2 elgg_release diff --git a/mod/notifications/manifest.xml b/mod/notifications/manifest.xml index 205476881..d961ce138 100644 --- a/mod/notifications/manifest.xml +++ b/mod/notifications/manifest.xml @@ -6,6 +6,7 @@ bundled Elgg notifications plugin http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/oauth_api/manifest.xml b/mod/oauth_api/manifest.xml index 991be6a22..96b9c7280 100644 --- a/mod/oauth_api/manifest.xml +++ b/mod/oauth_api/manifest.xml @@ -7,6 +7,7 @@ bundled api http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/pages/manifest.xml b/mod/pages/manifest.xml index 4cf999f45..a764171b4 100644 --- a/mod/pages/manifest.xml +++ b/mod/pages/manifest.xml @@ -8,6 +8,7 @@ widget Collaborative editing tool. Enables users to create pages similar to a wiki without having to know wiki syntax. http://www.elgg.org + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/profile/manifest.xml b/mod/profile/manifest.xml index 86fbc7b7b..b7ad5185e 100644 --- a/mod/profile/manifest.xml +++ b/mod/profile/manifest.xml @@ -7,6 +7,7 @@ bundled social http://elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License Version 2 true diff --git a/mod/reportedcontent/manifest.xml b/mod/reportedcontent/manifest.xml index e96620b01..d98ff383b 100644 --- a/mod/reportedcontent/manifest.xml +++ b/mod/reportedcontent/manifest.xml @@ -6,6 +6,7 @@ bundled Adds the option for users to report content and for admins to check it out. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/search/manifest.xml b/mod/search/manifest.xml index 513d3a6b9..1bc974729 100644 --- a/mod/search/manifest.xml +++ b/mod/search/manifest.xml @@ -6,6 +6,7 @@ bundled Allow search across entities of the site http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/tagcloud/manifest.xml b/mod/tagcloud/manifest.xml index c0f89f35e..fd91d92b8 100644 --- a/mod/tagcloud/manifest.xml +++ b/mod/tagcloud/manifest.xml @@ -7,6 +7,7 @@ widget Widget-based tag clouds. http://cashcostello.com/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/thewire/manifest.xml b/mod/thewire/manifest.xml index 962ed12f1..950ecfbed 100644 --- a/mod/thewire/manifest.xml +++ b/mod/thewire/manifest.xml @@ -7,6 +7,7 @@ content Microblogging for Elgg http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/tinymce/manifest.xml b/mod/tinymce/manifest.xml index 61bf0c22c..fb36c4141 100644 --- a/mod/tinymce/manifest.xml +++ b/mod/tinymce/manifest.xml @@ -7,6 +7,7 @@ enhancement TinyMCE plugin. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/twitter/manifest.xml b/mod/twitter/manifest.xml index 18fa8c957..18031deec 100644 --- a/mod/twitter/manifest.xml +++ b/mod/twitter/manifest.xml @@ -7,6 +7,7 @@ widget Elgg simple twitter widget http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/twitter_api/manifest.xml b/mod/twitter_api/manifest.xml index 86bba4b50..88d43aa5e 100644 --- a/mod/twitter_api/manifest.xml +++ b/mod/twitter_api/manifest.xml @@ -7,6 +7,7 @@ api bundled http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/uservalidationbyemail/manifest.xml b/mod/uservalidationbyemail/manifest.xml index 800dd2641..6a15fd0cf 100644 --- a/mod/uservalidationbyemail/manifest.xml +++ b/mod/uservalidationbyemail/manifest.xml @@ -7,6 +7,7 @@ security Simple user account validation via email. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/mod/zaudio/manifest.xml b/mod/zaudio/manifest.xml index 54f819658..a103052aa 100644 --- a/mod/zaudio/manifest.xml +++ b/mod/zaudio/manifest.xml @@ -8,6 +8,7 @@ multimedia This simple plugin lets users play mp3's in the page. http://www.elgg.org/ + http://elgg.org/supporter.php See COPYRIGHT.txt GNU General Public License version 2 diff --git a/views/default/css/admin.php b/views/default/css/admin.php index 78ec95c26..437b0f00f 100644 --- a/views/default/css/admin.php +++ b/views/default/css/admin.php @@ -1460,7 +1460,8 @@ a.elgg-widget-collapsed:before { padding: 5px 10px; margin: 4px 0; } -ul.elgg-plugin-categories, ul.elgg-plugin-categories > li { +ul.elgg-plugin-categories, ul.elgg-plugin-categories > li, +ul.elgg-plugin-resources, ul.elgg-plugin-resources > li { display: inline; } .elgg-plugin-category-bundled { diff --git a/views/default/object/plugin/full.php b/views/default/object/plugin/full.php index db0a52416..a96acd4ec 100644 --- a/views/default/object/plugin/full.php +++ b/views/default/object/plugin/full.php @@ -172,6 +172,26 @@ $website = elgg_view('output/url', array( 'is_trusted' => true, )); +$resources = array( + 'repository' => $plugin->getManifest()->getRepository(), + 'bugtracker' => $plugin->getManifest()->getBugTracker(), + 'donate' => $plugin->getManifest()->getDonationsPage(), +); + +$resources_html = "
    "; +foreach ($resources as $id => $href) { + if ($href) { + $resources_html .= "
  • "; + $resources_html .= elgg_view('output/url', array( + 'href' => $href, + 'text' => elgg_echo("admin:plugins:label:$id"), + 'is_trusted' => true, + )); + $resources_html .= "
  • "; + } +} +$resources_html .= "
"; + $copyright = elgg_view('output/text', array('value' => $plugin->getManifest()->getCopyright())); $license = elgg_view('output/text', array('value' => $plugin->getManifest()->getLicense())); @@ -242,7 +262,11 @@ if (elgg_view_exists($settings_view_old) || elgg_view_exists($settings_view_new)

- + +
- \ No newline at end of file + -- cgit v1.2.3