aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>2009-03-03 17:18:28 +0000
committermarcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>2009-03-03 17:18:28 +0000
commit7c001993ab645dcbe32fc908a912a06f9efa00a7 (patch)
tree9c14c189854a79b32fd22a04468c44dbeb412b06
parent30ada369dc7a386474632bbef096d82ef4195fe8 (diff)
downloadelgg-7c001993ab645dcbe32fc908a912a06f9efa00a7.tar.gz
elgg-7c001993ab645dcbe32fc908a912a06f9efa00a7.tar.bz2
Stub for experimental view caching (disabled)
git-svn-id: https://code.elgg.org/elgg/trunk@3045 36083f99-b078-4883-b0ff-0f9b5a30f544
-rw-r--r--engine/lib/elgglib.php61
1 files changed, 21 insertions, 40 deletions
diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php
index ffa76d711..e106e8bd8 100644
--- a/engine/lib/elgglib.php
+++ b/engine/lib/elgglib.php
@@ -155,18 +155,14 @@
}
/**
- * Generate a view hash.
+ * Generate a view hash [EXPERIMENTAL].
*
* @param string $view The view name
* @param array $vars The view parameters
* @return string The hash.
*/
function elgg_get_viewhash($view, $vars)
- {
- global $VIEW_CACHE_DISABLED, $CONFIG;
-
- if (($VIEW_CACHE_DISABLED) || (!$CONFIG->viewcache)) return false;
-
+ {
$unchanged_vars = unserialize(serialize($vars));
// This is a bit of a hack, but basically we have to remove things that change on each pageload
@@ -180,32 +176,7 @@
return md5(current_page_url() . $view . serialize($uncharged_vars)); // This should be enough to stop artefacts
}
-
- /**
- * Cache a view.
- *
- * @param string $view The content.
- * @param string $content The content.
- * @param string $viewhash The hash
- * @return bool
- */
- function elgg_cache_view($view, $content, $viewhash)
- {
- global $view_cache, $VIEW_CACHE_DISABLED, $CONFIG;
-
- if (($VIEW_CACHE_DISABLED) || (!$CONFIG->viewcache)) return false;
-
- // Cache
- if ($viewhash)
- {
- error_log("MARCUS : Caching $view:$viewhash");
- $view_cache->save($viewhash, $content);
-
- return $viewhash;
- }
-
- return false;
- }
+
/**
* Get a cached view based on its hash.
@@ -314,11 +285,7 @@
return $template_handler($view, $vars);
}
- // Attempt to memcache views.
- /*$view_hash = elgg_get_viewhash($view, $vars);
- $cached_view = elgg_get_cached_view($view_hash);
- if ($cached_view) return $cached_view;*/
-
+
// Get the current viewtype
$viewtype = elgg_get_viewtype();
@@ -330,6 +297,19 @@
}
// 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);
@@ -354,15 +334,16 @@
}
+ // 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();
// Plugin hook
$content = trigger_plugin_hook('display','view',array('view' => $view),$content);
- // Cache view
- //elgg_cache_view($view, $content, $view_hash);
-
// Return $content
return $content;