diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2009-06-29 15:38:55 -0700 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-06-29 15:38:55 -0700 |
commit | 006b63030a364677143799c7ce41eabb10c86eee (patch) | |
tree | 5cd807c68da2318722820c6ac397398ba95175ca | |
parent | 86596f9595393159b32504ad3238031ab57722c8 (diff) |
Combine the Combined::javascript and Combined::css into a single method implemented
by the magic method __call. The first parameter is the content type for text/xxxx
and the 2nd parameter is the key of the combined file.
-rw-r--r-- | modules/gallery/controllers/combined.php | 46 |
1 files changed, 5 insertions, 41 deletions
diff --git a/modules/gallery/controllers/combined.php b/modules/gallery/controllers/combined.php index 399a60f4..8a157e6b 100644 --- a/modules/gallery/controllers/combined.php +++ b/modules/gallery/controllers/combined.php @@ -18,48 +18,11 @@ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ class Combined_Controller extends Controller { - public function javascript($key) { - if (preg_match('/[^0-9a-f]/', $key)) { - // The key can't contain non-hex, so just terminate early - Kohana::show_404(); - } - - // We don't need to save the session for this request - Session::abort_save(); - - // Our data is immutable, so if they already have a copy then it needs no updating. - if (!empty($_SERVER["HTTP_IF_MODIFIED_SINCE"])) { - header('HTTP/1.0 304 Not Modified'); - return; - } - - $cache = Cache::instance(); - if (strpos($_SERVER["HTTP_ACCEPT_ENCODING"], "gzip") !== false ) { - $content = $cache->get("{$key}_gz"); - } - - if (empty($content)) { - $content = $cache->get($key); - } - - if (empty($content)) { + public function __call($type, $key) { + if (empty($key)) { Kohana::show_404(); } - - if (strpos($_SERVER["HTTP_ACCEPT_ENCODING"], "gzip") !== false) { - header("Content-Encoding: gzip"); - header("Cache-Control: public"); - } - - header("Content-Type: text/javascript; charset=UTF-8"); - header("Expires: Tue, 19 Jan 2038 00:00:00 GMT"); - header("Last-Modified: " . gmdate("D, d M Y H:i:s T", time())); - - Kohana::close_buffers(false); - print $content; - } - - public function css($key) { + $key = $key[0]; if (preg_match('/[^0-9a-f]/', $key)) { // The key can't contain non-hex, so just terminate early Kohana::show_404(); @@ -92,12 +55,13 @@ class Combined_Controller extends Controller { header("Cache-Control: public"); } - header("Content-Type: text/css; charset=UTF-8"); + header("Content-Type: text/$type; charset=UTF-8"); header("Expires: Tue, 19 Jan 2038 00:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s T", time())); Kohana::close_buffers(false); print $content; } + } |