*/
function js_page_handler($page) {
if (is_array($page) && sizeof($page)) {
- $js = str_replace('.js', '', $page[0]);
+ $js = substr($page[0], 0, strpos($page[0], '.'));
$return = elgg_view('js/' . $js);
header('Content-type: text/javascript');
header("Content-Length: " . strlen($return));
echo $return;
- exit;
}
}
function css_page_handler($page) {
if (!isset($page[0])) {
// default css
+ $page[0] = 'elgg';
}
- $css = str_replace('.css', '', $page[0]);
+ $css = substr($page[0], 0, strpos($page[0], '.'));
$return = elgg_view("css/$css");
header("Content-type: text/css", 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
*
$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 = $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.
*
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.
*
* 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');
}
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');
$base = elgg_get_site_url();
$viewtype = elgg_get_viewtype();
elgg_register_js("{$base}vendors/jquery/jquery.easing.1.3.packed.js", 'jquery.easing');
-elgg_register_js("{$base}cache/js/friendsPickerv1/default/friendsPickerv1.{$vars['config']->lastcache}.js", 'friendsPicker');
+$url = elgg_view_get_simplecache_url('js', 'friendsPickerv1');
+elgg_register_js($url, 'friendsPicker');
$chararray = elgg_echo('friendspicker:chararray');
<link rel="stylesheet" href="<?php echo $link; ?>" type="text/css" />
<?php
}
+
+$ie_url = elgg_view_get_simplecache_url('css', 'ie');
+$ie6_url = elgg_view_get_simplecache_url('css', 'ie6');
?>
<!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="<?php echo elgg_get_site_url(); ?>pg/css/ie6.css" />
+ <link rel="stylesheet" type="text/css" href="<?php echo $ie_url; ?>" />
<![endif]-->
<!--[if gt IE 6]>
- <link rel="stylesheet" type="text/css" href="<?php echo elgg_get_site_url(); ?>pg/css/ie.css" />
+ <link rel="stylesheet" type="text/css" href="<?php echo $ie6_url; ?>" />
<![endif]-->
<?php