aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/elgglib.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib/elgglib.php')
-rw-r--r--engine/lib/elgglib.php52
1 files changed, 36 insertions, 16 deletions
diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php
index 524fb548a..872e95c56 100644
--- a/engine/lib/elgglib.php
+++ b/engine/lib/elgglib.php
@@ -302,18 +302,6 @@
// Start the output buffer, find the requested view file, and execute it
ob_start();
- // Attempt to cache views [EXPERIMENTAL]
- /*if (ob_get_level()==1) {
- $view_hash = elgg_get_viewhash($view, $vars);
- $view_cache = elgg_get_filepath_cache();
- $cached_view = $view_cache->load($view_hash);
-
- if ($cached_view) {
- ob_get_clean();
- return $cached_view;
- }
- }*/
-
foreach($viewlist as $priority => $view) {
$view_location = elgg_get_view_location($view, $viewtype);
@@ -337,10 +325,6 @@
}
- // Cache view [EXPERIMENTAL]
- //if (ob_get_level()==1) // Only cache top level view
- // $view_cache->save($view_hash, $content);
-
// Save the output buffer into the $content variable
$content = ob_get_clean();
@@ -497,6 +481,42 @@
}
/**
+ * Function which resets the file path cache.
+ *
+ */
+ function elgg_filepath_cache_reset()
+ {
+ $cache = elgg_get_filepath_cache();
+ return $cache->delete('view_paths');
+ }
+
+ /**
+ * Saves a filepath cache.
+ *
+ * @param mixed $data
+ */
+ function elgg_filepath_cache_save($data)
+ {
+ $cache = elgg_get_filepath_cache();
+ return $cache->save('view_paths', $data);
+ }
+
+ /**
+ * Retrieve the contents of the filepath cache.
+ *
+ */
+ function elgg_filepath_cache_load()
+ {
+ $cache = elgg_get_filepath_cache();
+ $cached_view_paths = $cache->load('view_paths');
+
+ if ($cached_view_paths)
+ return $cached_view_paths;
+
+ return NULL;
+ }
+
+ /**
* Internal function for retrieving views used by elgg_view_tree
*
* @param unknown_type $dir