aboutsummaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authormarcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>2009-04-08 17:16:36 +0000
committermarcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>2009-04-08 17:16:36 +0000
commit4cfe0887d68f3d89d63e2d7a857fc12186e6fae1 (patch)
tree7763205315543230b23d482848c37d8924cd465a /engine
parentb24464ac9d6bd12b78740197531b582e0fdcd5d4 (diff)
downloadelgg-4cfe0887d68f3d89d63e2d7a857fc12186e6fae1.tar.gz
elgg-4cfe0887d68f3d89d63e2d7a857fc12186e6fae1.tar.bz2
Close #968: View path cache can now be turned on and off
git-svn-id: https://code.elgg.org/elgg/trunk@3197 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine')
-rw-r--r--engine/lib/configuration.php6
-rw-r--r--engine/lib/elgglib.php50
2 files changed, 50 insertions, 6 deletions
diff --git a/engine/lib/configuration.php b/engine/lib/configuration.php
index fb33d7461..e5c87acb6 100644
--- a/engine/lib/configuration.php
+++ b/engine/lib/configuration.php
@@ -182,6 +182,12 @@
$CONFIG->simplecache_enabled = $simplecache_enabled;
} else {
$CONFIG->simplecache_enabled = 1;
+ }
+ $viewpath_cache_enabled = datalist_get('viewpath_cache_enabled');
+ if ($viewpath_cache_enabled !== false) {
+ $CONFIG->viewpath_cache_enabled = $viewpath_cache_enabled;
+ } else {
+ $CONFIG->viewpath_cache_enabled = 1;
}
if (isset($CONFIG->site) && ($CONFIG->site instanceof ElggSite)) {
$CONFIG->wwwroot = $CONFIG->site->url;
diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php
index 81d2290f6..392f6cd8b 100644
--- a/engine/lib/elgglib.php
+++ b/engine/lib/elgglib.php
@@ -431,8 +431,14 @@
*/
function elgg_filepath_cache_save($data)
{
- $cache = elgg_get_filepath_cache();
- return $cache->save('view_paths', $data);
+ global $CONFIG;
+
+ if ($CONFIG->viewpath_cache_enabled) {
+ $cache = elgg_get_filepath_cache();
+ return $cache->save('view_paths', $data);
+ }
+
+ return false;
}
/**
@@ -441,16 +447,48 @@
*/
function elgg_filepath_cache_load()
{
- $cache = elgg_get_filepath_cache();
- $cached_view_paths = $cache->load('view_paths');
+ global $CONFIG;
- if ($cached_view_paths)
- return $cached_view_paths;
+ if ($CONFIG->viewpath_cache_enabled) {
+ $cache = elgg_get_filepath_cache();
+ $cached_view_paths = $cache->load('view_paths');
+
+ if ($cached_view_paths)
+ return $cached_view_paths;
+ }
return NULL;
}
/**
+ * Enable the filepath cache.
+ *
+ */
+ function elgg_enable_filepath_cache()
+ {
+ global $CONFIG;
+
+ datalist_set('viewpath_cache_enabled',1);
+ $CONFIG->viewpath_cache_enabled = 1;
+ elgg_filepath_cache_reset();
+
+ }
+
+ /**
+ * Disable filepath cache.
+ *
+ */
+ function elgg_disable_filepath_cache()
+ {
+ global $CONFIG;
+
+ datalist_set('viewpath_cache_enabled',0);
+ $CONFIG->viewpath_cache_enabled = 0;
+ elgg_filepath_cache_reset();
+
+ }
+
+ /**
* Internal function for retrieving views used by elgg_view_tree
*
* @param unknown_type $dir