diff options
author | Bart Visscher <bartv@thisnet.nl> | 2012-06-04 23:02:05 +0200 |
---|---|---|
committer | Bart Visscher <bartv@thisnet.nl> | 2012-06-04 23:02:05 +0200 |
commit | 4a5973662c78eb5769e7b06d7d559572f57e663f (patch) | |
tree | 774e2f775b3789f5f40bd2459ddec05df1b73c31 /lib/minimizer.php | |
parent | 786325a4bb976d92de54c472c2c3bd8a73cbef22 (diff) | |
parent | 3fee3a4633e5d4d65f7eabf2d387e209efedbc70 (diff) | |
download | nextcloud-server-4a5973662c78eb5769e7b06d7d559572f57e663f.tar.gz nextcloud-server-4a5973662c78eb5769e7b06d7d559572f57e663f.zip |
Merge branch 'unstable'
Conflicts:
apps/files_external/tests/config.php
apps/files_versions/ajax/getVersions.php
apps/files_versions/appinfo/app.php
apps/files_versions/history.php
apps/files_versions/js/versions.js
apps/files_versions/templates/history.php
apps/files_versions/versions.php
lib/base.php
Diffstat (limited to 'lib/minimizer.php')
-rw-r--r-- | lib/minimizer.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/minimizer.php b/lib/minimizer.php new file mode 100644 index 00000000000..9f9ef086c4a --- /dev/null +++ b/lib/minimizer.php @@ -0,0 +1,40 @@ +<?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); + OC_Response::setETagHeader(md5($out)); + header('Content-Length: '.strlen($out)); + echo $out; + } +} |