aboutsummaryrefslogtreecommitdiff
path: root/actions/admin/plugins/set_priority.php
diff options
context:
space:
mode:
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-01-05 04:36:07 +0000
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-01-05 04:36:07 +0000
commitf2123cdc42c8da21a297158fbb655f72bc92edce (patch)
tree6eb8c0a4492e5dddd29a87ad68a4ecadc7f01230 /actions/admin/plugins/set_priority.php
parent252c054437ac1d3ad43aca1e71ebb936b55d60d2 (diff)
downloadelgg-f2123cdc42c8da21a297158fbb655f72bc92edce.tar.gz
elgg-f2123cdc42c8da21a297158fbb655f72bc92edce.tar.bz2
Fixes #2760. Refs #2759. Updated plugin admin actions to use the new system. Added plugin dependency views in admin. ElggPluginPackage->checkDependencies() now returns the detected value.
git-svn-id: http://code.elgg.org/elgg/trunk@7838 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'actions/admin/plugins/set_priority.php')
-rw-r--r--actions/admin/plugins/set_priority.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/actions/admin/plugins/set_priority.php b/actions/admin/plugins/set_priority.php
new file mode 100644
index 000000000..1203e22de
--- /dev/null
+++ b/actions/admin/plugins/set_priority.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Changes the load priority of a plugin.
+ *
+ * Plugin priority affects view, action, and page handler
+ * overriding as well as the order of view extensions. Plugins with higher
+ * priority are loaded after and override plugins with lower priorities.
+ *
+ * NOTE: When viewing the admin page (advanced plugin admin in >= 1.8) plugins
+ * LOWER on the page have HIGHER priority and will override views, etc
+ * from plugins above them.
+ *
+ * @package Elgg.Core
+ * @subpackage Administration.Plugins
+ */
+
+$plugin_guid = get_input('plugin_guid');
+$priority = get_input('priority');
+
+$plugin = get_entity($plugin_guid);
+
+if (!($plugin instanceof ElggPlugin)) {
+ register_error(elgg_echo('admin:plugins:set_priority:no', array($plugin_guid)));
+ forward(REFERER);
+}
+
+if ($plugin->setPriority($priority)) {
+ //system_message(elgg_echo('admin:plugins:set_priority:yes', array($plugin->manifest->getName())));
+} else {
+ register_error(elgg_echo('admin:plugins:set_priority:no', array($plugin->manifest->getName())));
+}
+
+elgg_delete_admin_notice('first_installation_plugin_reminder');
+
+// don't regenerate the simplecache because the plugin won't be
+// loaded until next run. Just invalidate and let it regnerate as needed
+elgg_invalidate_simplecache();
+elgg_filepath_cache_reset();
+
+forward(REFERER); \ No newline at end of file