]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Added category and name as valid plugin manifest keys/values.
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Mon, 5 Apr 2010 22:13:53 +0000 (22:13 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Mon, 5 Apr 2010 22:13:53 +0000 (22:13 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@5629 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/plugins.php
languages/en.php
views/default/admin/plugins.php
views/default/admin/plugins_opt/plugin.php

index 4861ffd09f18c98fcefce5859a0cbbc796ed2e7c..bc703f6c6621f6016794c3d220cbc8e5c516aa79 100644 (file)
@@ -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
  */
index c3a76c6d174e31884298529092161a269a7bf5f3..62a8a7d0981be1f9613ee067376a6177d239c69a 100644 (file)
@@ -330,16 +330,6 @@ To remove a widget drag it back to the <b>Widget gallery</b>.",
        '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 <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.",
index a2bc99b1ce33865cae9c5526ea36035467ed6011..d92c837f6925a63f93bed040bc5764291a6dafdd 100644 (file)
@@ -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&amp;__elgg_ts=$ts\">".elgg_echo('enableall')."</a>";
-$buttons .= "<a class='action_button' href=\"{$CONFIG->url}action/admin/plugins/disableall?__elgg_token=$token&amp;__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&amp;__elgg_ts=$ts\">".elgg_echo('enableall')."</a>  <a class='action_button disabled' href=\"{$CONFIG->url}action/admin/plugins/disableall?__elgg_token=$token&amp;__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
+}
index 6184580d8d5f19b73698ecaf195c2175e0a3b511..c03477beabc18f76c50e55dda6fda256a8222d1c 100644 (file)
@@ -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>