aboutsummaryrefslogtreecommitdiff
path: root/actions/admin/plugins
diff options
context:
space:
mode:
authormarcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>2009-03-03 11:18:09 +0000
committermarcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>2009-03-03 11:18:09 +0000
commit52b6fde352fd0282a8a3ddfc3f2ff218d97f7dbb (patch)
tree6a0499f00af2f806ab5a0b17b0714063b90c1652 /actions/admin/plugins
parent106050295f1363b94d69eda97e6cfb611b66a65e (diff)
downloadelgg-52b6fde352fd0282a8a3ddfc3f2ff218d97f7dbb.tar.gz
elgg-52b6fde352fd0282a8a3ddfc3f2ff218d97f7dbb.tar.bz2
Closes #831: Plugin view location is now cached in a file in dataroot and is invalidated on upgrade and plugin enable/disable/reorder. This means that views no longer have to be discovered on boot - reducing file IO from crazy amounts to 1. This also helps make adding new plugins a linear event.
git-svn-id: https://code.elgg.org/elgg/trunk@3025 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'actions/admin/plugins')
-rw-r--r--actions/admin/plugins/disable.php5
-rw-r--r--actions/admin/plugins/disableall.php5
-rw-r--r--actions/admin/plugins/enable.php7
-rw-r--r--actions/admin/plugins/enableall.php7
-rw-r--r--actions/admin/plugins/reorder.php5
5 files changed, 23 insertions, 6 deletions
diff --git a/actions/admin/plugins/disable.php b/actions/admin/plugins/disable.php
index cbe75a665..32ae451a7 100644
--- a/actions/admin/plugins/disable.php
+++ b/actions/admin/plugins/disable.php
@@ -32,7 +32,10 @@
register_error(sprintf(elgg_echo('admin:plugins:disable:no'), $p));
}
- elgg_view_regenerate_simplecache();
+ elgg_view_regenerate_simplecache();
+
+ $cache = elgg_get_filepath_cache();
+ $cache->delete('view_paths');
forward($_SERVER['HTTP_REFERER']);
exit;
diff --git a/actions/admin/plugins/disableall.php b/actions/admin/plugins/disableall.php
index efb91f773..a01b74fa5 100644
--- a/actions/admin/plugins/disableall.php
+++ b/actions/admin/plugins/disableall.php
@@ -29,7 +29,10 @@
register_error(sprintf(elgg_echo('admin:plugins:disable:no'), $p));
}
- elgg_view_regenerate_simplecache();
+ elgg_view_regenerate_simplecache();
+
+ $cache = elgg_get_filepath_cache();
+ $cache->delete('view_paths');
forward($_SERVER['HTTP_REFERER']);
exit;
diff --git a/actions/admin/plugins/enable.php b/actions/admin/plugins/enable.php
index 072924eec..d81ab0551 100644
--- a/actions/admin/plugins/enable.php
+++ b/actions/admin/plugins/enable.php
@@ -32,8 +32,11 @@
register_error(sprintf(elgg_echo('admin:plugins:enable:no'), $p));
}
- elgg_view_regenerate_simplecache();
-
+ elgg_view_regenerate_simplecache();
+
+ $cache = elgg_get_filepath_cache();
+ $cache->delete('view_paths');
+
forward($_SERVER['HTTP_REFERER']);
exit;
?> \ No newline at end of file
diff --git a/actions/admin/plugins/enableall.php b/actions/admin/plugins/enableall.php
index 5e0d8c3b5..f31b4593d 100644
--- a/actions/admin/plugins/enableall.php
+++ b/actions/admin/plugins/enableall.php
@@ -11,7 +11,7 @@
*/
require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php");
-
+
// block non-admin users
admin_gatekeeper();
@@ -29,7 +29,12 @@
register_error(sprintf(elgg_echo('admin:plugins:enable:no'), $p));
}
+ // Regen view cache
elgg_view_regenerate_simplecache();
+
+ // Regen paths cache
+ $cache = elgg_get_filepath_cache();
+ $cache->delete('view_paths');
forward($_SERVER['HTTP_REFERER']);
exit;
diff --git a/actions/admin/plugins/reorder.php b/actions/admin/plugins/reorder.php
index be5981394..0e328f54d 100644
--- a/actions/admin/plugins/reorder.php
+++ b/actions/admin/plugins/reorder.php
@@ -46,7 +46,10 @@
else
register_error(sprintf(elgg_echo('admin:plugins:reorder:no'), $plugin));
- elgg_view_regenerate_simplecache();
+ elgg_view_regenerate_simplecache();
+
+ $cache = elgg_get_filepath_cache();
+ $cache->delete('view_paths');
forward($_SERVER['HTTP_REFERER']);