If a theme server is being used, do not minify theme CSS (as doing so could cause 404s)

This commit is contained in:
Craig Andrews 2009-12-04 23:17:46 -05:00
parent f4fc8481e2
commit 88e50003ae
2 changed files with 21 additions and 10 deletions

View File

@ -79,23 +79,33 @@ class MinifyPlugin extends Plugin
$url = parse_url($src); $url = parse_url($src);
if( empty($url->scheme) && empty($url->host) && empty($url->query) && empty($url->fragment)) if( empty($url->scheme) && empty($url->host) && empty($url->query) && empty($url->fragment))
{ {
$src = common_path('main/min?f='.$src.'&v=' . STATUSNET_VERSION); $src = $this->minifyUrl($src);
} }
} }
function onStartCssLinkElement($action,&$src,&$theme,&$media) { function onStartCssLinkElement($action,&$src,&$theme,&$media) {
$allowThemeMinification =
is_null(common_config('theme', 'dir'))
&& is_null(common_config('theme', 'path'))
&& is_null(common_config('theme', 'server'));
$url = parse_url($src); $url = parse_url($src);
if( empty($url->scheme) && empty($url->host) && empty($url->query) && empty($url->fragment)) if( empty($url->scheme) && empty($url->host) && empty($url->query) && empty($url->fragment))
{ {
if(file_exists(Theme::file($src,$theme))){ if(!isset($theme)) {
//src is a relative path, so we can do minification $theme = common_config('site', 'theme');
if(isset($theme)) {
$src = common_path('main/min?f=theme/'.$theme.'/'.$src.'&v=' . STATUSNET_VERSION);
} else {
$src = common_path('main/min?f=theme/default/'.$src.'&v=' . STATUSNET_VERSION);
}
} }
if($allowThemeMinification && file_exists(INSTALLDIR.'/local/theme/'.$theme.'/'.$src)) {
$src = $this->minifyUrl('local/theme/'.$theme.'/'.$src);
} else if($allowThemeMinification && file_exists(INSTALLDIR.'/theme/'.$theme.'/'.$src)) {
$src = $this->minifyUrl('theme/'.$theme.'/'.$src);
}else if(file_exists(INSTALLDIR.'/'.$src)){
$src = $this->minifyUrl($src);
} }
} }
} }
function minifyUrl($src) {
return common_local_url('minify',null,array('f' => $src ,v => STATUSNET_VERSION));
}
}

View File

@ -1,7 +1,8 @@
The Minify plugin minifies your CSS and Javascript, removing whitespace and comments. The Minify plugin minifies your CSS and Javascript, removing whitespace and comments.
Note that if enabled this plugin and use a theme server Note that if enabled this plugin and use a theme server,
($config['theme']['server']), your theme server will not be used. (if any of $config['theme']['server'], $config['theme']['path'],
$config['theme']['dir'] are set) theme CSS will not be minified.
Installation Installation
============ ============