cakephp2-php8/index.php

88 lines
2.5 KiB
PHP
Raw Normal View History

<?PHP
//////////////////////////////////////////////////////////////////////////
// + $Id$
// +------------------------------------------------------------------+ //
// + Cake <https://developers.nextco.com/cake/> + //
// + Copyright: (c) 2005, Cake Authors/Developers + //
// + Author(s): Michal Tatarynowicz aka Pies <tatarynowicz@gmail.com> + //
// + Larry E. Masters aka PhpNut <nut@phpnut.com> + //
// + Kamil Dzielinski aka Brego <brego.dk@gmail.com> + //
// +------------------------------------------------------------------+ //
// + Licensed under The MIT License + //
// + Redistributions of files must retain the above copyright notice. + //
// + See: http://www.opensource.org/licenses/mit-license.php + //
//////////////////////////////////////////////////////////////////////////
/**
* This file collects requests if:
* - no mod_rewrite is avilable or .htaccess files are not supported
* - /public is not set as a web root.
*
* @filesource
* @author Cake Authors/Developers
* @copyright Copyright (c) 2005, Cake Authors/Developers
* @link https://developers.nextco.com/cake/wiki/Authors Authors/Developers
* @package cake
* @since Cake v 0.2.9
* @version $Revision$
* @modifiedby $LastChangedBy$
* @lastmodified $Date$
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
/**
* Get Cake's root directory
*/
define ('DS', DIRECTORY_SEPARATOR);
define ('ROOT', dirname(__FILE__).DS);
/**
* We need to redefine some constants and variables, so that Cake knows it is
* working without mod_rewrite.
*/
define ('BASE_URL', $_SERVER['SCRIPT_NAME'].'?url=');
/**
* As mod_rewrite (or .htaccess files) is not working, we need to take care
* of what would normally be rewrited, i.e. the static files in /public
*/
if (empty($_GET['url']) || ($_GET['url'] == '/'))
{
require (ROOT.'public/index.php');
}
else
{
$elements = explode('/index.php?url=', $_SERVER['REQUEST_URI']);
$base = $elements[0].'/public';
$path = $elements[1];
$filename = ROOT.'public'.str_replace('/', DS, $path);
$url = $base.$path;
if (file_exists($filename))
{
if (preg_match('/^.*\.([a-z]+)$/i', $filename, $ext))
{
switch ($ext[1])
{
case 'jpg':
case 'jpeg':
header('Content-type: image/jpeg');
break;
case 'css':
header('Content-type: text/css');
}
}
print (file_get_contents($filename));
die();
}
else
{
require (ROOT.'public/index.php');
}
}
?>