aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/views.php
diff options
context:
space:
mode:
authorewinslow <ewinslow@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-02-15 01:11:03 +0000
committerewinslow <ewinslow@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-02-15 01:11:03 +0000
commit9af0f9be12346d2008cf6de6e5ab7bd083c09c8c (patch)
treed9c4185482b16fb50dcd9df5d20f6cc3fd76a219 /engine/lib/views.php
parent9ce11d138f9868b872fe8206dbc3c2f44723605a (diff)
downloadelgg-9af0f9be12346d2008cf6de6e5ab7bd083c09c8c.tar.gz
elgg-9af0f9be12346d2008cf6de6e5ab7bd083c09c8c.tar.bz2
Fixes #2920: Moved simplecache functions into cache.php
git-svn-id: http://code.elgg.org/elgg/trunk@8248 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine/lib/views.php')
-rw-r--r--engine/lib/views.php200
1 files changed, 0 insertions, 200 deletions
diff --git a/engine/lib/views.php b/engine/lib/views.php
index 865212a06..49fba8bf6 100644
--- a/engine/lib/views.php
+++ b/engine/lib/views.php
@@ -1453,206 +1453,6 @@ function autoregister_views($view_base, $folder, $base_location_path, $viewtype)
}
/**
- * Registers a view to simple cache.
- *
- * Simple cache is a caching mechanism that saves the output of
- * views and its extensions into a file. If the view is called
- * by the {@link simplecache/view.php} file, the Elgg framework will
- * not be loaded and the contents of the view will returned
- * from file.
- *
- * @warning Simple cached views must take no parameters and return
- * the same content no matter who is logged in.
- *
- * @note CSS and the basic JS views are cached by the engine.
- *
- * @param string $viewname View name
- *
- * @return void
- * @link http://docs.elgg.org/Views/Simplecache
- * @see elgg_view_regenerate_simplecache()
- */
-function elgg_view_register_simplecache($viewname) {
- global $CONFIG;
-
- if (!isset($CONFIG->views)) {
- $CONFIG->views = new stdClass;
- }
-
- if (!isset($CONFIG->views->simplecache)) {
- $CONFIG->views->simplecache = array();
- }
-
- $CONFIG->views->simplecache[] = $viewname;
-}
-
-/**
- * Get the URL for the cached file
- *
- * @param string $type The file type: css or js
- * @param string $view The view name
- * @return string
- * @since 1.8.0
- */
-function elgg_view_get_simplecache_url($type, $view) {
- global $CONFIG;
- $lastcache = (int)$CONFIG->lastcache;
-
- if (elgg_view_is_simplecache_enabled()) {
- $viewtype = elgg_get_viewtype();
- $url = elgg_get_site_url() . "cache/$type/$view/$viewtype/$view.$lastcache.$type";
- } else {
- $url = elgg_get_site_url() . "pg/$type/$view.$lastcache.$type";
- }
- return $url;
-}
-
-/**
- * Regenerates the simple cache.
- *
- * @warning This does not invalidate the cache, but actively resets it.
- *
- * @param string $viewtype Optional viewtype to regenerate
- *
- * @return void
- * @see elgg_view_register_simplecache()
- */
-function elgg_view_regenerate_simplecache($viewtype = NULL) {
- global $CONFIG;
-
- if (!isset($CONFIG->views->simplecache) || !is_array($CONFIG->views->simplecache)) {
- return;
- }
-
- $lastcached = time();
-
- // @todo elgg_view() checks if the page set is done (isset($CONFIG->pagesetupdone)) and
- // triggers an event if it's not. Calling elgg_view() here breaks submenus
- // (at least) because the page setup hook is called before any
- // contexts can be correctly set (since this is called before page_handler()).
- // To avoid this, lie about $CONFIG->pagehandlerdone to force
- // the trigger correctly when the first view is actually being output.
- $CONFIG->pagesetupdone = TRUE;
-
- if (!file_exists($CONFIG->dataroot . 'views_simplecache')) {
- mkdir($CONFIG->dataroot . 'views_simplecache');
- }
-
- if (isset($viewtype)) {
- $viewtypes = array($viewtype);
- } else {
- $viewtypes = $CONFIG->view_types;
- }
-
- $original_viewtype = elgg_get_viewtype();
-
- foreach ($viewtypes as $viewtype) {
- elgg_set_viewtype($viewtype);
- foreach ($CONFIG->views->simplecache as $view) {
- $viewcontents = elgg_view($view);
- $viewname = md5(elgg_get_viewtype() . $view);
- if ($handle = fopen($CONFIG->dataroot . 'views_simplecache/' . $viewname, 'w')) {
- fwrite($handle, $viewcontents);
- fclose($handle);
- }
- }
-
- datalist_set("simplecache_lastupdate_$viewtype", $lastcached);
- datalist_set("simplecache_lastcached_$viewtype", $lastcached);
- }
-
- elgg_set_viewtype($original_viewtype);
-
- // needs to be set for links in html head
- $CONFIG->lastcache = $lastcached;
-
- unset($CONFIG->pagesetupdone);
-}
-
-/**
- * Is simple cache enabled
- *
- * @return bool
- * @since 1.8.0
- */
-function elgg_view_is_simplecache_enabled() {
- global $CONFIG;
-
- if ($CONFIG->simplecache_enabled) {
- return true;
- }
-
- return false;
-}
-
-/**
- * Enables the simple cache.
- *
- * @access private
- * @see elgg_view_register_simplecache()
- * @return void
- */
-function elgg_view_enable_simplecache() {
- global $CONFIG;
-
- datalist_set('simplecache_enabled', 1);
- $CONFIG->simplecache_enabled = 1;
- elgg_view_regenerate_simplecache();
-}
-
-/**
- * Disables the simple cache.
- *
- * @warning Simplecache is also purged when disabled.
- *
- * @access private
- * @see elgg_view_register_simplecache()
- * @return void
- */
-function elgg_view_disable_simplecache() {
- global $CONFIG;
- if ($CONFIG->simplecache_enabled) {
- datalist_set('simplecache_enabled', 0);
- $CONFIG->simplecache_enabled = 0;
-
- // purge simple cache
- if ($handle = opendir($CONFIG->dataroot . 'views_simplecache')) {
- while (false !== ($file = readdir($handle))) {
- if ($file != "." && $file != "..") {
- unlink($CONFIG->dataroot . 'views_simplecache/' . $file);
- }
- }
- closedir($handle);
- }
- }
-}
-
-/**
- * Invalidates all cached views in the simplecache
- *
- * @return bool
- * @since 1.7.4
- */
-function elgg_invalidate_simplecache() {
- global $CONFIG;
-
- $return = TRUE;
-
- if ($handle = opendir($CONFIG->dataroot . 'views_simplecache')) {
- while (false !== ($file = readdir($handle))) {
- if ($file != "." && $file != "..") {
- $return = $return && unlink($CONFIG->dataroot . 'views_simplecache/' . $file);
- }
- }
- closedir($handle);
- } else {
- $return = FALSE;
- }
-
- return $return;
-}
-
-/**
* Add the core Elgg head elements that could be cached
*/
function elgg_views_register_core_head_elements() {