diff options
author | Christian Schneider | 2007-10-18 12:42:31 +0000 |
---|---|---|
committer | Christian Schneider | 2007-10-18 12:42:31 +0000 |
commit | 3aee6d57f18ae1d43d5f6b141fc9e5a22bea4f39 (patch) | |
tree | 9147b1619001c1d19a8164e4f88d70b677bad13a /itjs.php | |
parent | 3f1dbb8bc67b578266ca679e572eca0c90a23876 (diff) | |
download | itools-3aee6d57f18ae1d43d5f6b141fc9e5a22bea4f39.tar.gz itools-3aee6d57f18ae1d43d5f6b141fc9e5a22bea4f39.tar.bz2 itools-3aee6d57f18ae1d43d5f6b141fc9e5a22bea4f39.zip |
Also support css files through ITools Joining Service(TM)
Diffstat (limited to 'itjs.php')
-rw-r--r-- | itjs.php | 40 |
1 files changed, 30 insertions, 10 deletions
@@ -2,15 +2,21 @@ /* ** $Id$ ** -** itjs.php - Delivers /itjs/ files through AliasMatch in httpd.conf +** Copyright (C) 1995-2007 by the ITools Authors. +** This file is part of ITools - the Internet Tools Library ** -** ITools - the Internet Tools Library +** ITools is free software; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published by +** the Free Software Foundation; either version 3 of the License, or +** (at your option) any later version. ** -** Copyright (C) 1995-2003 by the ITools Authors. -** This program is free software; you can redistribute it and/or -** modify it under the terms of either the GNU General Public License -** or the GNU Lesser General Public License, as published by the Free -** Software Foundation. See http://www.gnu.org/licenses/ for details. +** ITools is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program. If not, see <http://www.gnu.org/licenses/>. */ require "itools/itools.lib"; @@ -22,13 +28,27 @@ $data = ""; $files = itjs::filenames(basename($_SERVER['PHP_SELF'])); foreach ($files as $file) - $data .= ereg('\.php|\.html$', $file) ? @include($file) : @file_get_contents($file); +{ + ob_start(); # Needs to capture inside loop to guarantee file order + $data .= it::replace(array('^1$' => ""), @include($file)); + $data .= ob_get_clean(); +} $checksum = strlen($data) . itjs::checksum($files); -if (ereg('\.gif$', $file)) +if (it::match('\.gif$', $file)) +{ header("Content-Type: image/gif"); -else if (!ereg('\.html$', $file)) +} +else if (it::match('\.css', $_SERVER['PHP_SELF'])) +{ + header("Content-Type: text/css"); + ob_start('ob_gzhandler'); + $data .= "\n#it_boot_dom { display:none }\n"; # Append magic style for it_boot + if (!it::match('^devel', $GLOBALS['ULTRASERVERTYPE'])) + $data = it::replace(array('[ \t]*([{};])[ \t]*' => '$1', '/\*.*?\*/'=> ""), $data); +} +else if (!it::match('\.html$', $file)) { if ($_REQUEST['boot'] && !$_REQUEST['retry']) ob_start('ob_gzhandler'); |