aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/views.php
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-11-28 22:03:18 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-11-28 22:03:18 +0000
commit71dc8cbf9eecb4de149bc96bb5758b866116b1c8 (patch)
treeee3d99eb82fe42d0dfaee6d63003ca753001d03b /engine/lib/views.php
parenta1b7808dea79b3a547aa805b86d829fa1f5f19db (diff)
downloadelgg-71dc8cbf9eecb4de149bc96bb5758b866116b1c8.tar.gz
elgg-71dc8cbf9eecb4de149bc96bb5758b866116b1c8.tar.bz2
Fixes #2173 #2507 integrated the ie and admin stylesheets into the new simplecache code
git-svn-id: http://code.elgg.org/elgg/trunk@7465 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine/lib/views.php')
-rw-r--r--engine/lib/views.php52
1 files changed, 42 insertions, 10 deletions
diff --git a/engine/lib/views.php b/engine/lib/views.php
index 6c4cec0f2..e0e10bcb7 100644
--- a/engine/lib/views.php
+++ b/engine/lib/views.php
@@ -399,7 +399,7 @@ function elgg_view_exists($view, $viewtype = '', $recurse = true) {
* @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 automatically cached.
+ * @note CSS and the basic JS views are cached by the engine.
*
* @param string $viewname View name
*
@@ -422,6 +422,27 @@ function elgg_view_register_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 = $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.
@@ -484,6 +505,22 @@ function elgg_view_regenerate_simplecache($viewtype = NULL) {
}
/**
+ * 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
@@ -1329,17 +1366,10 @@ function elgg_is_valid_view_type($view_type) {
* Add the core Elgg head elements that could be cached
*/
function elgg_views_register_core_head_elements() {
- global $CONFIG;
-
- $base = elgg_get_site_url();
- $lastcache = $CONFIG->lastcache;
- $viewtype = elgg_get_viewtype();
-
- //$url = "{$base}_css/js.php?lastcache=$lastcache&js=initialise_elgg&viewtype=$viewtype";
- $url = "{$base}cache/js/initialise_elgg/$viewtype/initialise_elgg.$lastcache.js";
+ $url = elgg_view_get_simplecache_url('js', 'initialise_elgg');
elgg_register_js($url, 'initialise_elgg');
- $url = "{$base}cache/css/elgg/$viewtype/elgg.$lastcache.css";
+ $url = elgg_view_get_simplecache_url('css', 'elgg');
elgg_register_css($url, 'elgg');
}
@@ -1355,6 +1385,8 @@ function elgg_views_boot() {
global $CONFIG;
elgg_view_register_simplecache('css/elgg');
+ elgg_view_register_simplecache('ie/elgg');
+ elgg_view_register_simplecache('ie6/elgg');
elgg_view_register_simplecache('js/friendsPickerv1');
elgg_view_register_simplecache('js/initialise_elgg');