aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/minimizer/css.php
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2013-10-02 10:11:18 +0200
committerBjoern Schiessle <schiessle@owncloud.com>2013-10-02 10:11:18 +0200
commit8b08b1b455b474de3fa376dfafa3de63727364ea (patch)
tree536b2d4ba4f979d69f4f6e73755e06635345f78a /lib/private/minimizer/css.php
parent084f76fd14125023d5b7277c558eb86a20ea07d3 (diff)
parent535ed8369f701a184340a428e82cc8d7cc7588bb (diff)
downloadnextcloud-server-8b08b1b455b474de3fa376dfafa3de63727364ea.tar.gz
nextcloud-server-8b08b1b455b474de3fa376dfafa3de63727364ea.zip
Merge branch 'master' into sharing_mail_notification_master
Conflicts: lib/private/util.php
Diffstat (limited to 'lib/private/minimizer/css.php')
-rw-r--r--lib/private/minimizer/css.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/private/minimizer/css.php b/lib/private/minimizer/css.php
new file mode 100644
index 00000000000..8d130572e2b
--- /dev/null
+++ b/lib/private/minimizer/css.php
@@ -0,0 +1,38 @@
+<?php
+
+require_once 'mediawiki/CSSMin.php';
+
+class OC_Minimizer_CSS extends OC_Minimizer
+{
+ protected $contentType = 'text/css';
+
+ public function minimizeFiles($files) {
+ $css_out = '';
+ $webroot = (string) OC::$WEBROOT;
+ foreach($files as $file_info) {
+ $file = $file_info[0] . '/' . $file_info[2];
+ $css_out .= '/* ' . $file . ' */' . "\n";
+ $css = file_get_contents($file);
+
+ $in_root = false;
+ foreach(OC::$APPSROOTS as $app_root) {
+ if(strpos($file, $app_root['path'].'/') === 0) {
+ $in_root = rtrim($webroot.$app_root['url'], '/');
+ break;
+ }
+ }
+ if ($in_root !== false) {
+ $css = str_replace('%appswebroot%', $in_root, $css);
+ $css = str_replace('%webroot%', $webroot, $css);
+ }
+ $remote = $file_info[1];
+ $remote .= '/';
+ $remote .= dirname($file_info[2]);
+ $css_out .= CSSMin::remap($css, dirname($file), $remote, true);
+ }
+ if (!defined('DEBUG') || !DEBUG) {
+ $css_out = CSSMin::minify($css_out);
+ }
+ return $css_out;
+ }
+}