aboutsummaryrefslogtreecommitdiff
path: root/views/default/admin/plugins
diff options
context:
space:
mode:
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-05-05 19:14:48 +0000
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-05-05 19:14:48 +0000
commitff31226fdeb972aac2f37f0098240cb366a9bb26 (patch)
tree1f0caa75c9a340cf28ce9a81a4cbe3230d13abf3 /views/default/admin/plugins
parent81ffac29fabc175eebdbf95578da046f4f00611b (diff)
downloadelgg-ff31226fdeb972aac2f37f0098240cb366a9bb26.tar.gz
elgg-ff31226fdeb972aac2f37f0098240cb366a9bb26.tar.bz2
Merged 18_new_admin branch to trunk.
git-svn-id: http://code.elgg.org/elgg/trunk@5977 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'views/default/admin/plugins')
-rw-r--r--views/default/admin/plugins/advanced.php106
-rw-r--r--views/default/admin/plugins/simple.php96
2 files changed, 202 insertions, 0 deletions
diff --git a/views/default/admin/plugins/advanced.php b/views/default/admin/plugins/advanced.php
new file mode 100644
index 000000000..d5def1eb1
--- /dev/null
+++ b/views/default/admin/plugins/advanced.php
@@ -0,0 +1,106 @@
+<?php
+/**
+ * Elgg administration advanced plugin screen
+ *
+ * Shows a list of all plugins sorted by load order.
+ *
+ * @package Elgg
+ * @subpackage Core
+ * @author Curverider Ltd
+ * @link http://elgg.org/
+ */
+
+regenerate_plugin_list();
+$installed_plugins = get_installed_plugins();
+$plugin_list = array();
+$show_category = get_input('category', NULL);
+
+// Get a list of the all categories
+// and trim down the plugin list if we're not viewing all categories.
+// @todo this could be cached somewhere after have the manifest loaded
+$categories = array();
+
+foreach ($installed_plugins as $id => $plugin) {
+ $plugin_categories = $plugin['manifest']['category'];
+
+ // handle plugins that don't declare categories
+ if ((!$plugin_categories && $show_category) || ($show_category && !in_array($show_category, $plugin_categories))) {
+ unset($installed_plugins[$id]);
+ }
+
+ foreach ($plugin_categories as $category) {
+ if (!array_key_exists($category, $categories)) {
+ $categories[$category] = elgg_echo("admin:plugins:label:moreinfo:categories:$category");
+ }
+ }
+}
+
+$ts = time();
+$token = generate_action_token($ts);
+$categories = array_merge(array('' => elgg_echo('admin:plugins:categories:all')), $categories);
+
+$category_pulldown = elgg_view('input/pulldown', array(
+ 'internalname' => 'category',
+ 'options_values' => $categories,
+ 'value' => $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'));
+
+// @todo Until "en/disable all" means "All plugins on this page" hide when not looking at all.
+if (!isset($show_category) || empty($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
+?>
+<div id="content_header" class="clearfloat">
+ <div class="content_header_title"><?php echo $title ?></div>
+ <div class="content_header_options"><?php echo $buttons ?></div>
+</div>
+<br />
+<?php
+
+$limit = get_input('limit', 10);
+$offset = get_input('offset', 0);
+
+$plugin_list = get_plugin_list();
+$max = 0;
+foreach($plugin_list as $key => $foo) {
+ if ($key > $max) $max = $key;
+}
+
+// Display list of plugins
+$n = 0;
+foreach ($installed_plugins as $plugin => $data) {
+ echo elgg_view('admin/components/plugin', array(
+ 'plugin' => $plugin,
+ 'details' => $data,
+ 'maxorder' => $max,
+ 'order' => array_search($plugin, $plugin_list)
+ ));
+ $n++;
+}
+?>
+<script type="text/javascript">
+ $(document).ready(function() {
+ $('a.manifest_details.link').click(function() {
+ elgg_slide_toggle($(this), '.plugin_details', '.manifest_file');
+ });
+ });
+</script> \ No newline at end of file
diff --git a/views/default/admin/plugins/simple.php b/views/default/admin/plugins/simple.php
new file mode 100644
index 000000000..ad85f9ce0
--- /dev/null
+++ b/views/default/admin/plugins/simple.php
@@ -0,0 +1,96 @@
+<?php
+/**
+ * Elgg administration simple plugin screen
+ *
+ * Shows an alphabetical list of "simple" plugins.
+ *
+ * @package Elgg
+ * @subpackage Core
+ * @author Curverider Ltd
+ * @link http://elgg.org/
+ */
+
+regenerate_plugin_list();
+$installed_plugins = get_installed_plugins();
+$plugin_list = array();
+$title = elgg_view_title(elgg_echo('admin:plugins'));
+
+foreach ($installed_plugins as $installed_name => $plugin) {
+ if (!isset($plugin['manifest']['admin_interface']) || $plugin['manifest']['admin_interface'] == 'advanced') {
+ continue;
+ }
+
+ $plugin['installed_name'] = $installed_name;
+
+ $plugin_list[$plugin['manifest']['name']] = $plugin;
+}
+
+ksort($plugin_list);
+$form_body .= <<<___END
+ <div id="content_header" class="clearfloat">
+ <div class="content_header_title">$title</div>
+ </div>
+ <ul class="admin_plugins margin_top">
+___END;
+
+foreach ($plugin_list as $name => $info) {
+ $manifest = $info['manifest'];
+ $version_valid = (isset($manifest['elgg_version'])) ? check_plugin_compatibility($manifest['elgg_version']) : FALSE;
+ if ($info['active']) {
+ $active_class = 'active';
+ $checked = 'checked="checked"';
+ } else {
+ $active_class = 'not_active';
+ $checked = '';
+ }
+
+ $author = $link = $version = $settings = '';
+
+ if (isset($manifest['author'])) {
+ $author = sprintf(elgg_echo('admin:plugins:author'), $manifest['author']);
+ }
+
+ if (isset($manifest['version'])) {
+ $version = ' | ' . sprintf(elgg_echo('admin:plugins:version'), $manifest['version']);
+ }
+
+ if (isset($manifest['website'])) {
+ $link = " | <a href=\"{$manifest['website']}\">" . elgg_echo('admin:plugins:plugin_website') . '</a>';
+ }
+
+ if (elgg_view_exists("settings/{$info['installed_name']}/edit")) {
+ $settings_href = "{$vars['url']}pg/admin/plugin_settings/{$info['installed_name']}";
+ $settings = " | <a class='plugin_settings link' href='$settings_href'>". elgg_echo('settings') ."</a>";
+ }
+
+ $form_body .= <<<___END
+ <li class="plugin_details $active_class">
+ <span class="plugin_controls">
+ <input type="checkbox" id="{$info['installed_name']}" class="plugin_enabled" $checked name="enabled_plugins[]" value="{$info['installed_name']}"/>
+ <label for="{$info['installed_name']}">$name</label>
+ </span>
+
+ <span class="plugin_info">
+ <span class="plugin_description">
+ {$manifest['description']}
+ </span>
+ <span class="plugin_metadata small">
+ $author
+ $version
+ $link
+ $settings
+ </span>
+ </span>
+ </li>
+___END;
+}
+
+$form_body .= '</ul>';
+$form_body .= elgg_view('input/submit', array('value' => elgg_echo('save')));
+$form_body .= elgg_view('input/reset', array('value' => elgg_echo('reset'), 'class' => 'action_button disabled'));
+
+echo elgg_view('input/form', array(
+ 'action' => "{$vars['url']}action/admin/plugins/simple_update_states",
+ 'body' => $form_body,
+ 'class' => 'admin_plugins_simpleview'
+)); \ No newline at end of file