Elgg  Version 1.9
/root/Elgg/engine/lib/cache.php

Get the URL for the cached fileThis automatically registers the view with Elgg's simplecache.

$blog_js = elgg_get_simplecache_url('js', 'blog/save_draft'); elgg_register_js('elgg.blog', $blog_js); elgg_load_js('elgg.blog');

Parameters
string$typeThe file type: css or js
string$viewThe view name after css/ or js/
Returns
string
Since
1.8.0
<?php
/* Filepath Cache */
global $CONFIG;
static $FILE_PATH_CACHE;
if (!$FILE_PATH_CACHE) {
$FILE_PATH_CACHE = new ElggFileCache($CONFIG->dataroot . 'system_cache/');
}
return $FILE_PATH_CACHE;
}
$cache->clear();
}
global $CONFIG;
if ($CONFIG->system_cache_enabled) {
return $cache->save($type, $data);
}
return false;
}
global $CONFIG;
if ($CONFIG->system_cache_enabled) {
$cached_data = $cache->load($type);
if ($cached_data) {
return $cached_data;
}
}
return null;
}
global $CONFIG;
datalist_set('system_cache_enabled', 1);
$CONFIG->system_cache_enabled = 1;
}
global $CONFIG;
datalist_set('system_cache_enabled', 0);
$CONFIG->system_cache_enabled = 0;
}
/* Simplecache */
function elgg_register_simplecache_view($view_name) {
elgg_register_external_view($view_name, true);
}
// handle file type passed with view name
if (($type === 'js' || $type === 'css') && 0 === strpos($view, $type . '/')) {
$view = substr($view, strlen($type) + 1);
}
return _elgg_get_simplecache_root() . "$type/$view";
}
// stored in datalist as 'simplecache_lastupdate'
$lastcache = (int)elgg_get_config('lastcache');
} else {
}
return elgg_normalize_url("/cache/$lastcache/$viewtype/");
}
if (preg_match('~(?:^|/)(css|js)(?:$|/)~', $view, $m)) {
return $m[1];
} else {
return 'unknown';
}
}
return (bool) elgg_get_config('simplecache_enabled');
}
datalist_set('simplecache_enabled', 1);
elgg_set_config('simplecache_enabled', 1);
}
if (elgg_get_config('simplecache_enabled')) {
datalist_set('simplecache_enabled', 0);
elgg_set_config('simplecache_enabled', 0);
// purge simple cache
_elgg_rmdir(elgg_get_data_path() . "views_simplecache");
}
}
function _elgg_rmdir($dir) {
$files = array_diff(scandir($dir), array('.', '..'));
foreach ($files as $file) {
if (is_dir("$dir/$file")) {
_elgg_rmdir("$dir/$file");
} else {
unlink("$dir/$file");
}
}
return rmdir($dir);
}
global $CONFIG;
if (!isset($CONFIG->views->simplecache) || !is_array($CONFIG->views->simplecache)) {
return false;
}
_elgg_rmdir("{$CONFIG->dataroot}views_simplecache");
mkdir("{$CONFIG->dataroot}views_simplecache");
$time = time();
datalist_set("simplecache_lastupdate", $time);
$CONFIG->lastcache = $time;
return true;
}
function _elgg_load_cache() {
global $CONFIG;
$CONFIG->system_cache_loaded = false;
$CONFIG->views = new stdClass();
$data = elgg_load_system_cache('view_locations');
if (!is_string($data)) {
return;
}
$CONFIG->views->locations = unserialize($data);
$data = elgg_load_system_cache('view_types');
if (!is_string($data)) {
return;
}
$CONFIG->view_types = unserialize($data);
$CONFIG->system_cache_loaded = true;
}
function _elgg_cache_init() {
global $CONFIG;
if (!defined('UPGRADING') && empty($CONFIG->lastcache)) {
$CONFIG->lastcache = (int)datalist_get('simplecache_lastupdate');
}
// cache system data if enabled and not loaded
if ($CONFIG->system_cache_enabled && !$CONFIG->system_cache_loaded) {
elgg_save_system_cache('view_locations', serialize($CONFIG->views->locations));
elgg_save_system_cache('view_types', serialize($CONFIG->view_types));
}
if ($CONFIG->system_cache_enabled && !$CONFIG->i18n_loaded_from_cache) {
foreach ($CONFIG->translations as $lang => $map) {
elgg_save_system_cache("$lang.lang", serialize($map));
}
}
}
elgg_register_event_handler('ready', 'system', '_elgg_cache_init');
$files
Definition: crop.php:36
$view
Definition: crop.php:68
$type
Definition: add.php:8
_elgg_cache_init()
Initializes the simplecache lastcache variable and creates system cache files when appropriate.
Definition: cache.php:328
elgg_reset_system_cache()
Reset the system cache by deleting the caches.
Definition: cache.php:40
elgg_invalidate_simplecache()
Deletes all cached views in the simplecache and sets the lastcache and lastupdate time to 0 for every...
Definition: cache.php:278
elgg_load_system_cache($type)
Retrieve the contents of a system cache.
Definition: cache.php:69
_elgg_get_view_filetype($view)
Returns the type of output expected from the view.
Definition: cache.php:200
_elgg_load_cache()
Loads the system cache during engine boot.
Definition: cache.php:301
elgg_is_simplecache_enabled()
Is simple cache enabled.
Definition: cache.php:214
_elgg_rmdir($dir)
Recursively deletes a directory, including all hidden files.
Definition: cache.php:257
elgg_disable_system_cache()
Disables the system disk cache.
Definition: cache.php:108
_elgg_get_simplecache_root()
Get the base url for simple cache requests.
Definition: cache.php:172
elgg_enable_simplecache()
Enables the simple cache.
Definition: cache.php:225
elgg_disable_simplecache()
Disables the simple cache.
Definition: cache.php:240
elgg_save_system_cache($type, $data)
Saves a system cache.
Definition: cache.php:52
elgg_get_system_cache()
Returns an ElggCache object suitable for caching system information.
Definition: cache.php:20
elgg_get_simplecache_url($type, $view)
Definition: cache.php:155
elgg_register_simplecache_view($view_name)
Registers a view to simple cache.
Definition: cache.php:136
elgg_enable_system_cache()
Enables the system disk cache.
Definition: cache.php:92
datalist_get($name)
Get the value of a datalist element.
datalist_set($name, $value)
Set the value for a datalist element.
elgg_set_config($name, $value)
Set an Elgg configuration value.
elgg_get_config($name, $site_guid=0)
Get an Elgg configuration value.
elgg_get_data_path()
Get the data directory path for this installation.
elgg_register_event_handler($event, $object_type, $callback, $priority=500)
Register a callback as an Elgg event handler.
Definition: elgglib.php:669
reload_all_translations()
Reload all translations from all registered paths.
Definition: languages.php:365
$viewtype
Definition: start.php:132
$lang
Definition: html.php:12
$data
Definition: opendd.php:13
elgg_normalize_url($url)
Definition: output.php:290
global $CONFIG
$m
Definition: metadata.php:11
$lastcache
Definition: languages.php:8
elgg_get_viewtype()
Return the current view type.
Definition: views.php:91
elgg_register_external_view($view, $cacheable=false)
Registers a view as being available externally (i.e.
Definition: views.php:231