From eb538def799eb54e1ce29996dfbc56f4c960e3f3 Mon Sep 17 00:00:00 2001 From: brettp Date: Mon, 5 Apr 2010 22:13:53 +0000 Subject: Added category and name as valid plugin manifest keys/values. git-svn-id: http://code.elgg.org/elgg/trunk@5629 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/plugins.php | 8 ++++++-- languages/en.php | 21 +++++++++++---------- views/default/admin/plugins.php | 30 +++++++++++++++++++++++++++--- views/default/admin/plugins_opt/plugin.php | 5 ++++- 4 files changed, 48 insertions(+), 16 deletions(-) diff --git a/engine/lib/plugins.php b/engine/lib/plugins.php index 4861ffd09..bc703f6c6 100644 --- a/engine/lib/plugins.php +++ b/engine/lib/plugins.php @@ -331,7 +331,11 @@ function load_plugin_manifest($plugin) { $xml = xml_to_object(file_get_contents($CONFIG->pluginspath . $plugin. "/manifest.xml")); if ($xml) { - $elements = array(); + // set up some defaults to normalize expected values to arrays + $elements = array( + 'screenshot' => array(), + 'category' => array() + ); foreach ($xml->children as $element) { $key = $element->attributes['key']; @@ -358,7 +362,7 @@ function load_plugin_manifest($plugin) { /** * This function checks a plugin manifest 'elgg_version' value against the current install - * returning TRUE if the elgg_version is <= the current install's version. + * returning TRUE if the elgg_version is >= the current install's version. * @param $manifest_elgg_version_string The build version (eg 2009010201). * @return bool */ diff --git a/languages/en.php b/languages/en.php index c3a76c6d1..62a8a7d09 100644 --- a/languages/en.php +++ b/languages/en.php @@ -330,16 +330,6 @@ To remove a widget drag it back to the Widget gallery.", 'riveritem:single:user' => 'a user', 'riveritem:plural:user' => 'some users', -/** - * Plugins - */ - 'plugins:settings:save:ok' => "Settings for the %s plugin were saved successfully.", - 'plugins:settings:save:fail' => "There was a problem saving settings for the %s plugin.", - 'plugins:usersettings:save:ok' => "User settings for the %s plugin were saved successfully.", - 'plugins:usersettings:save:fail' => "There was a problem saving user settings for the %s plugin.", - 'admin:plugins:label:version' => "Version", - 'item:object:plugin' => 'Plugin configuration settings', - /** * Notifications */ @@ -461,6 +451,15 @@ To remove a widget drag it back to the Widget gallery.", 'admin:site:opt:description' => "Configure the site technical and non-technical settings. ", 'admin:site:access:warning' => "Changing the access setting only affects the permissions on content created in the future.", +/** + * Plugins + */ + 'plugins:settings:save:ok' => "Settings for the %s plugin were saved successfully.", + 'plugins:settings:save:fail' => "There was a problem saving settings for the %s plugin.", + 'plugins:usersettings:save:ok' => "User settings for the %s plugin were saved successfully.", + 'plugins:usersettings:save:fail' => "There was a problem saving user settings for the %s plugin.", + 'item:object:plugin' => 'Plugin configuration settings', + 'admin:plugins' => "Tool Administration", 'admin:plugins:description' => "This admin panel allows you to control and configure tools installed on your site.", 'admin:plugins:opt:linktext' => "Configure tools...", @@ -471,6 +470,7 @@ To remove a widget drag it back to the Widget gallery.", 'admin:plugins:label:website' => "URL", 'admin:plugins:label:moreinfo' => 'more info', 'admin:plugins:label:version' => 'Version', + 'admin:plugins:label:directory' => 'Directory', 'admin:plugins:warning:elggversionunknown' => 'Warning: This plugin does not specify a compatible Elgg version.', 'admin:plugins:warning:elggtoolow' => 'Warning: This plugin requires a later version of Elgg!', 'admin:plugins:reorder:yes' => "Plugin %s was reordered successfully.", @@ -479,6 +479,7 @@ To remove a widget drag it back to the Widget gallery.", 'admin:plugins:disable:no' => "Plugin %s could not be disabled.", 'admin:plugins:enable:yes' => "Plugin %s was enabled successfully.", 'admin:plugins:enable:no' => "Plugin %s could not be enabled.", + 'admin:plugins:categories:all' => 'All categories', 'admin:statistics' => "Statistics", 'admin:statistics:description' => "This is an overview of statistics on your site. If you need more detailed statistics, a professional administration feature is available.", diff --git a/views/default/admin/plugins.php b/views/default/admin/plugins.php index a2bc99b1c..d92c837f6 100644 --- a/views/default/admin/plugins.php +++ b/views/default/admin/plugins.php @@ -12,11 +12,35 @@ global $CONFIG; $ts = time(); $token = generate_action_token($ts); +$categories = array_merge(array('' => elgg_echo('admin:plugins:categories:all')), $vars['categories']); + +$category_pulldown = elgg_view('input/pulldown', array( + 'internalname' => 'category', + 'options_values' => $categories, + 'value' => $vars['show_category'] +)); + +$category_button = elgg_view('input/button', array( + 'value' => elgg_echo('filter'), + 'class' => 'action_button' +)); + +$category_form = elgg_view('input/form', array( + 'body' => $category_pulldown . $category_button +)); // Page Header elements $title = elgg_view_title(elgg_echo('admin:plugins')); -$buttons = "url}action/admin/plugins/enableall?__elgg_token=$token&__elgg_ts=$ts\">".elgg_echo('enableall').""; -$buttons .= "url}action/admin/plugins/disableall?__elgg_token=$token&__elgg_ts=$ts\">".elgg_echo('disableall')." "; + +// @todo Until "en/disable all" means "All plugins on this page" hide when not looking at all. +if (!isset($vars['show_category']) || empty($vars['show_category'])) { + $buttons = "url}action/admin/plugins/enableall?__elgg_token=$token&__elgg_ts=$ts\">".elgg_echo('enableall')." url}action/admin/plugins/disableall?__elgg_token=$token&__elgg_ts=$ts\">".elgg_echo('disableall')." "; + $buttons .= "

"; +} else { + $buttons = ''; +} + +$buttons .= $category_form; // construct page header ?> @@ -45,4 +69,4 @@ $n = 0; foreach ($installed_plugins as $plugin => $data) { echo elgg_view("admin/plugins_opt/plugin", array('plugin' => $plugin, 'details' => $data, 'maxorder' => $max, 'order' => array_search($plugin, $plugin_list))); $n++; -} \ No newline at end of file +} diff --git a/views/default/admin/plugins_opt/plugin.php b/views/default/admin/plugins_opt/plugin.php index 6184580d8..c03477bea 100644 --- a/views/default/admin/plugins_opt/plugin.php +++ b/views/default/admin/plugins_opt/plugin.php @@ -17,6 +17,8 @@ $details = $vars['details']; $active = $details['active']; $manifest = $details['manifest']; +$plugin_pretty_name = (isset($manifest['name'])) ? $manifest['name'] : $plugin; + // Check elgg version if available $version_check_valid = false; if ($manifest['elgg_version']) { @@ -64,7 +66,7 @@ $token = generate_action_token($ts); -

[]

+

[]

+
-- cgit v1.2.3