diff options
-rw-r--r-- | engine/lib/plugins.php | 8 | ||||
-rw-r--r-- | languages/en.php | 21 | ||||
-rw-r--r-- | views/default/admin/plugins.php | 30 | ||||
-rw-r--r-- | 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 @@ -331,16 +331,6 @@ To remove a widget drag it back to the <b>Widget gallery</b>.", '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 */ 'notifications:usersettings' => "Notification settings", @@ -461,6 +451,15 @@ To remove a widget drag it back to the <b>Widget gallery</b>.", '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 <b>Widget gallery</b>.", '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 <b>Widget gallery</b>.", '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 = "<a class='action_button' href=\"{$CONFIG->url}action/admin/plugins/enableall?__elgg_token=$token&__elgg_ts=$ts\">".elgg_echo('enableall')."</a>"; -$buttons .= "<a class='action_button' href=\"{$CONFIG->url}action/admin/plugins/disableall?__elgg_token=$token&__elgg_ts=$ts\">".elgg_echo('disableall')."</a> "; + +// @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 = "<a class='action_button' href=\"{$CONFIG->url}action/admin/plugins/enableall?__elgg_token=$token&__elgg_ts=$ts\">".elgg_echo('enableall')."</a> <a class='action_button disabled' href=\"{$CONFIG->url}action/admin/plugins/disableall?__elgg_token=$token&__elgg_ts=$ts\">".elgg_echo('disableall')."</a> "; + $buttons .= "<br /><br />"; +} 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); <?php } ?> </div> - <h3><?php echo $plugin; ?><?php if (elgg_view("settings/{$plugin}/edit")) { ?> <a class="plugin_settings small link" onclick="elgg_slide_toggle(this,'.plugin_details','.pluginsettings');">[<?php echo elgg_echo('settings'); ?>]</a><?php } ?></h3> + <h3><?php echo $plugin_pretty_name; ?><?php if (elgg_view("settings/{$plugin}/edit")) { ?> <a class="plugin_settings small link" onclick="elgg_slide_toggle(this,'.plugin_details','.pluginsettings');">[<?php echo elgg_echo('settings'); ?>]</a><?php } ?></h3> <?php if (elgg_view("settings/{$plugin}/edit")) { ?> <div class="pluginsettings hidden"> @@ -101,6 +103,7 @@ $token = generate_action_token($ts); ?> </div> <?php } ?> + <div><?php echo elgg_echo('admin:plugins:label:directory') . ": ". htmlspecialchars($plugin) ?></div> <div><?php echo elgg_echo('admin:plugins:label:version') . ": ". htmlspecialchars($manifest['version']) ?></div> <div><?php echo elgg_echo('admin:plugins:label:author') . ": ". htmlspecialchars($manifest['author']) ?></div> <div><?php echo elgg_echo('admin:plugins:label:copyright') . ": ". htmlspecialchars($manifest['copyright']) ?></div> |