]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #2173 #2507 integrated the ie and admin stylesheets into the new simplecache...
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sun, 28 Nov 2010 22:03:18 +0000 (22:03 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sun, 28 Nov 2010 22:03:18 +0000 (22:03 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7465 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/admin.php
engine/lib/elgglib.php
engine/lib/views.php
views/default/friends/picker.php
views/default/page_elements/html_begin.php

index 3c070203ecf2f7511f22bc5b6b7680b7174ea66c..aab4b3aeaed7978401c5d923f37c9094dc6a00b6 100644 (file)
@@ -161,7 +161,7 @@ function admin_init() {
  */
 function admin_pagesetup() {
        if (elgg_in_context('admin')) {
-               $url = elgg_get_site_url() . 'pg/css/admin.css';
+               $url = elgg_view_get_simplecache_url('css', 'admin');
                elgg_register_css($url, 'admin');
                elgg_unregister_css('elgg');
        }
index 7bf23df5e42258d40073c67c2363cf3263b28cb4..ec67f97cf9f6ece0226b48b619e811c0b08635dd 100644 (file)
@@ -2123,7 +2123,7 @@ function _elgg_shutdown_hook() {
  */
 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');
@@ -2133,7 +2133,6 @@ function js_page_handler($page) {
                header("Content-Length: " . strlen($return));
 
                echo $return;
-               exit;
        }
 }
 
@@ -2150,9 +2149,10 @@ function js_page_handler($page) {
 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);
index 6c4cec0f2039e94b564a6804b62df4cbf4a0c6d2..e0e10bcb7a40caa2e085e35a965fad579caa0b24 100644 (file)
@@ -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
  *
@@ -421,6 +421,27 @@ function elgg_view_register_simplecache($viewname) {
        $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.
  *
@@ -483,6 +504,22 @@ function elgg_view_regenerate_simplecache($viewtype = NULL) {
        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.
  *
@@ -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');
 
index b8cc1560c08bb694016d8335066bf45979e61558..6a9551732abba71813643220c62726209c12934a 100644 (file)
@@ -12,7 +12,8 @@
 $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');
 
index a673d8ff6d70fb1a643a0def0234c580be75dc0e..23879dde823bf860c1cc0e5de0f226578cf74abd 100644 (file)
@@ -65,13 +65,16 @@ foreach ($css as $link) {
        <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