aboutsummaryrefslogtreecommitdiffstats
path: root/include/template.class.php
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--include/template.class.php44
1 files changed, 30 insertions, 14 deletions
diff --git a/include/template.class.php b/include/template.class.php
index 698de6723..4ec79a9d2 100644
--- a/include/template.class.php
+++ b/include/template.class.php
@@ -1143,9 +1143,11 @@ final class FileCombiner
return 1;
}
+ $is_css = $this->type == "css";
global $conf;
$key = array();
-
+ if ($is_css)
+ $key[] = get_absolute_root_url(false);//because we modify bg url
for ($i=0; $i<count($this->files); $i++)
{
$key[] = $this->files[$i];
@@ -1156,7 +1158,21 @@ final class FileCombiner
$file = base_convert(crc32($key),10,36);
$file = self::OUT_SUB_DIR . $file . '.' . $this->type;
- if (file_exists( PHPWG_ROOT_PATH . $file ) )
+
+ $exists = file_exists( PHPWG_ROOT_PATH . $file );
+ if ($exists)
+ {
+ $is_reload =
+ (isset($_SERVER['HTTP_CACHE_CONTROL']) && strpos($_SERVER['HTTP_CACHE_CONTROL'], 'max-age=0') !== false)
+ || (isset($_SERVER['HTTP_PRAGMA']) && strpos($_SERVER['HTTP_PRAGMA'], 'no-cache'));
+ if ($is_reload)
+ {// the user pressed F5 in the browser
+ if ($is_css || $conf['template_compile_check']==false)
+ $exists = false; // we foce regeneration of css because @import sub-files are never checked for modification
+ }
+ }
+
+ if ($exists)
{
$out_file = $file;
$out_version = false;
@@ -1169,10 +1185,10 @@ final class FileCombiner
foreach ($this->files as $input_file)
{
$output .= "/* BEGIN $input_file */\n";
- if ($this->type == "css")
+ if ($is_css)
$output .= self::process_css($input_file);
else
- $output .= self::process_js($input_file);
+ $output .= self::process_js($input_file);
$output .= "\n";
}
@@ -1183,16 +1199,16 @@ final class FileCombiner
return 2;
}
- private static function process_js($file)
- {
- $js = file_get_contents(PHPWG_ROOT_PATH . $file);
- if (strpos($file, '.min')===false and strpos($file, '.packed')===false )
- {
- //TODO minify javascript with some php lib from www...
- }
- return $js;
- }
-
+ private static function process_js($file)
+ {
+ $js = file_get_contents(PHPWG_ROOT_PATH . $file);
+ if (strpos($file, '.min')===false and strpos($file, '.packed')===false )
+ {
+ //TODO minify javascript with some php lib from www...
+ }
+ return $js;
+ }
+
private static function process_css($file)
{
static $PATTERN = "#url\(\s*['|\"]{0,1}(.*?)['|\"]{0,1}\s*\)#";