Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBart Visscher <bartv@thisnet.nl>2012-05-14 19:57:43 +0400
committerBart Visscher <bartv@thisnet.nl>2012-05-16 20:53:46 +0400
commitf71fec8cdcb5d7d24b7dfa30dfaf24c5115e51c1 (patch)
tree4b510fcd7da78d67fa995c6daa33c3d7cd13842e /lib/minimizer.php
parent2faae817f183e82975251d5023417e2f331971d3 (diff)
Combine and minimize core and default app css files
Diffstat (limited to 'lib/minimizer.php')
-rw-r--r--lib/minimizer.php39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/minimizer.php b/lib/minimizer.php
new file mode 100644
index 00000000000..2d2708c59e9
--- /dev/null
+++ b/lib/minimizer.php
@@ -0,0 +1,39 @@
+<?php
+
+abstract class OC_Minimizer
+{
+ protected $files = array();
+
+ protected function appendIfExist($root, $webroot, $file) {
+ if (is_file($root.'/'.$file)) {
+ $this->files[] = array($root, $webroot, $file);
+ return true;
+ }
+ return false;
+ }
+
+ public function getLastModified($files) {
+ $last_modified = 0;
+ foreach($files as $file_info) {
+ $file = $file_info[0] . '/' . $file_info[2];
+ $filemtime = filemtime($file);
+ if ($filemtime > $last_modified) {
+ $last_modified = $filemtime;
+ }
+ }
+ return $last_modified;
+ }
+
+ abstract public function minimizeFiles($files);
+
+ public function output($files) {
+ header('Content-Type: '.$this->contentType);
+ OC_Response::enableCaching();
+ $last_modified = $this->getLastModified($files);
+ OC_Response::setLastModifiedHeader($last_modified);
+
+ $out = $this->minimizeFiles($files);
+ header('Content-Length: '.strlen($out));
+ echo $out;
+ }
+}