Load style.css from theme when autocache is enabled
This commit is contained in:
parent
154070a739
commit
f72b8babc0
@ -306,6 +306,7 @@ class Page {
|
|||||||
// store local copy for speed.
|
// store local copy for speed.
|
||||||
$autocache_css = $config->get_bool("autocache_css");
|
$autocache_css = $config->get_bool("autocache_css");
|
||||||
$autocache_js = $config->get_bool("autocache_js");
|
$autocache_js = $config->get_bool("autocache_js");
|
||||||
|
$theme_name = $config->get_string('theme', 'default');
|
||||||
|
|
||||||
if (!$autocache_css && !$autocache_js) {
|
if (!$autocache_css && !$autocache_js) {
|
||||||
return false; // caching disabled
|
return false; // caching disabled
|
||||||
@ -352,8 +353,21 @@ class Page {
|
|||||||
$replace = 'url("../../${1}")';
|
$replace = 'url("../../${1}")';
|
||||||
$contents_from_extensions = preg_replace($pattern, $replace, $contents_from_extensions);
|
$contents_from_extensions = preg_replace($pattern, $replace, $contents_from_extensions);
|
||||||
}
|
}
|
||||||
// Combine the two
|
// Get CSS from theme
|
||||||
$data = $contents_from_lib .' '. $contents_from_extensions;
|
$contents_from_theme = '';
|
||||||
|
$css_files = glob("themes/$theme_name/style.css");
|
||||||
|
if($css_files) {
|
||||||
|
foreach($css_files as $css_file) {
|
||||||
|
$contents_from_theme .= file_get_contents($css_file);
|
||||||
|
}
|
||||||
|
// Can't directly cache the CSS files, as they might have relative locations to images, etc. in them.
|
||||||
|
// We have to adjust the URLs accordingly before saving the cached file.
|
||||||
|
$pattern = '/url[\s]*\([\s]*["\']?([^"\'\)]+)["\']?[\s]*\)/';
|
||||||
|
$replace = 'url("../../${1}")';
|
||||||
|
$contents_from_theme = preg_replace($pattern, $replace, $contents_from_theme);
|
||||||
|
}
|
||||||
|
// Combine the three
|
||||||
|
$data = $contents_from_lib .' '. $contents_from_extensions .' '. $contents_from_theme;
|
||||||
|
|
||||||
// Minify the CSS if enabled.
|
// Minify the CSS if enabled.
|
||||||
if($config->get_bool("autocache_min_css")) {
|
if($config->get_bool("autocache_min_css")) {
|
||||||
@ -388,6 +402,12 @@ class Page {
|
|||||||
$this->add_html_header('<link rel="stylesheet" href="'.$data_href.'/'.$css_file.'" type="text/css">');
|
$this->add_html_header('<link rel="stylesheet" href="'.$data_href.'/'.$css_file.'" type="text/css">');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$css_files = glob("themes/$theme_name/style.css");
|
||||||
|
if($css_files) {
|
||||||
|
foreach($css_files as $css_file) {
|
||||||
|
$this->add_html_header('<link rel="stylesheet" href="'.$data_href.'/'.$css_file.'" type="text/css">');
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user