2006-01-17 05:13:38 +00:00
|
|
|
<?php
|
|
|
|
/* SVN FILE: $Id$ */
|
|
|
|
/**
|
|
|
|
* Basic Cake functionality.
|
|
|
|
*
|
|
|
|
* Core functions for including other source files, loading models and so forth.
|
|
|
|
*
|
|
|
|
* PHP versions 4 and 5
|
|
|
|
*
|
2007-02-02 10:39:45 +00:00
|
|
|
* CakePHP(tm) : Rapid Development Framework <http://www.cakephp.org/>
|
|
|
|
* Copyright 2005-2007, Cake Software Foundation, Inc.
|
2006-05-26 05:29:17 +00:00
|
|
|
* 1785 E. Sahara Avenue, Suite 490-204
|
|
|
|
* Las Vegas, Nevada 89104
|
2006-01-17 05:13:38 +00:00
|
|
|
*
|
|
|
|
* Licensed under The MIT License
|
|
|
|
* Redistributions of files must retain the above copyright notice.
|
|
|
|
*
|
|
|
|
* @filesource
|
2007-02-02 10:39:45 +00:00
|
|
|
* @copyright Copyright 2005-2007, Cake Software Foundation, Inc.
|
|
|
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project
|
2006-05-26 05:29:17 +00:00
|
|
|
* @package cake
|
|
|
|
* @subpackage cake.cake
|
2007-02-02 10:39:45 +00:00
|
|
|
* @since CakePHP(tm) v 0.2.9
|
2006-05-26 05:29:17 +00:00
|
|
|
* @version $Revision$
|
|
|
|
* @modifiedby $LastChangedBy$
|
|
|
|
* @lastmodified $Date$
|
|
|
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
2006-01-17 05:13:38 +00:00
|
|
|
*/
|
2006-08-06 18:00:49 +00:00
|
|
|
if (!defined('PHP5')) {
|
2006-08-08 16:38:02 +00:00
|
|
|
define ('PHP5', (phpversion() >= 5));
|
2006-08-06 18:00:49 +00:00
|
|
|
}
|
2006-01-17 05:13:38 +00:00
|
|
|
/**
|
|
|
|
* Configuration, directory layout and standard libraries
|
|
|
|
*/
|
2006-05-26 05:29:17 +00:00
|
|
|
if (!isset($bootstrap)) {
|
|
|
|
require CORE_PATH . 'cake' . DS . 'basics.php';
|
|
|
|
require APP_PATH . 'config' . DS . 'core.php';
|
|
|
|
require CORE_PATH . 'cake' . DS . 'config' . DS . 'paths.php';
|
|
|
|
}
|
2006-06-18 05:16:23 +00:00
|
|
|
$TIME_START = getMicrotime();
|
2006-05-26 05:29:17 +00:00
|
|
|
require LIBS . 'object.php';
|
2007-04-30 07:38:47 +00:00
|
|
|
require LIBS . 'cache.php';
|
2006-05-26 05:29:17 +00:00
|
|
|
require LIBS . 'session.php';
|
|
|
|
require LIBS . 'security.php';
|
|
|
|
require LIBS . 'inflector.php';
|
|
|
|
require LIBS . 'configure.php';
|
|
|
|
$paths = Configure::getInstance();
|
2007-04-30 07:38:47 +00:00
|
|
|
|
2007-06-20 06:15:35 +00:00
|
|
|
if (isset($cakeCache)) {
|
2007-04-30 07:38:47 +00:00
|
|
|
$cache = 'File';
|
|
|
|
$settings = array();
|
|
|
|
|
2007-06-20 06:15:35 +00:00
|
|
|
if (isset($cakeCache[0])) {
|
2007-04-30 07:38:47 +00:00
|
|
|
$cache = $cakeCache[0];
|
|
|
|
}
|
2007-06-20 06:15:35 +00:00
|
|
|
if (isset($cakeCache[1])) {
|
2007-04-30 07:38:47 +00:00
|
|
|
$settings = $cakeCache[1];
|
|
|
|
}
|
|
|
|
Cache::engine($cache, $settings);
|
|
|
|
} else {
|
|
|
|
Cache::engine();
|
|
|
|
}
|
2007-04-30 09:12:49 +00:00
|
|
|
Configure::store(null, 'class.paths');
|
|
|
|
Configure::load('class.paths');
|
|
|
|
Configure::write('debug', DEBUG);
|
2007-04-14 21:35:48 +00:00
|
|
|
/**
|
|
|
|
* Check for IIS Server
|
|
|
|
*/
|
|
|
|
if (!defined('SERVER_IIS') && php_sapi_name() == 'isapi') {
|
|
|
|
define('SERVER_IIS', true);
|
|
|
|
}
|
2006-01-17 05:13:38 +00:00
|
|
|
/**
|
2007-03-02 20:38:57 +00:00
|
|
|
* Get the application path and request URL
|
2006-01-17 05:13:38 +00:00
|
|
|
*/
|
2006-05-26 05:29:17 +00:00
|
|
|
if (empty($uri) && defined('BASE_URL')) {
|
|
|
|
$uri = setUri();
|
2006-01-17 05:13:38 +00:00
|
|
|
|
2007-04-29 00:19:29 +00:00
|
|
|
if ($uri === '/' || $uri === '/index.php' || $uri === '/'.APP_DIR.'/') {
|
2006-05-26 05:29:17 +00:00
|
|
|
$_GET['url'] = '/';
|
|
|
|
$url = '/';
|
|
|
|
} else {
|
|
|
|
if (strpos($uri, 'index.php') !== false) {
|
|
|
|
$uri = r('?', '', $uri);
|
2006-06-18 05:16:23 +00:00
|
|
|
$elements = explode('/index.php', $uri);
|
2007-03-28 16:35:59 +00:00
|
|
|
} elseif (preg_match('/^[\/\?\/|\/\?|\?\/]/', $uri)) {
|
|
|
|
$elements = array(1 => preg_replace('/^[\/\?\/|\/\?|\?\/]/', '', $uri));
|
2006-05-26 05:29:17 +00:00
|
|
|
} else {
|
2007-03-28 16:35:59 +00:00
|
|
|
$elements = array();
|
2006-05-26 05:29:17 +00:00
|
|
|
}
|
2006-01-17 05:13:38 +00:00
|
|
|
|
2006-05-26 05:29:17 +00:00
|
|
|
if (!empty($elements[1])) {
|
|
|
|
$_GET['url'] = $elements[1];
|
|
|
|
$url = $elements[1];
|
|
|
|
} else {
|
2007-03-28 16:35:59 +00:00
|
|
|
$url = $_GET['url'] = '/';
|
|
|
|
}
|
|
|
|
if (strpos($url, '/') === 0 && $url != '/') {
|
|
|
|
$url = $_GET['url'] = substr($url, 1);
|
2006-05-26 05:29:17 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (empty($_GET['url'])) {
|
|
|
|
$url = null;
|
|
|
|
} else {
|
|
|
|
$url = $_GET['url'];
|
|
|
|
}
|
|
|
|
}
|
2006-01-17 05:13:38 +00:00
|
|
|
|
2006-05-26 05:29:17 +00:00
|
|
|
if (strpos($url, 'ccss/') === 0) {
|
|
|
|
include WWW_ROOT . DS . 'css.php';
|
2006-06-18 05:16:23 +00:00
|
|
|
exit();
|
|
|
|
}
|
|
|
|
|
|
|
|
$folders = array('js' => 'text/javascript', 'css' => 'text/css');
|
|
|
|
$requestPath = explode('/', $url);
|
|
|
|
|
|
|
|
if (in_array($requestPath[0], array_keys($folders))) {
|
|
|
|
if (file_exists(VENDORS . join(DS, $requestPath))) {
|
|
|
|
header('Content-type: ' . $folders[$requestPath[0]]);
|
2006-06-23 23:13:16 +00:00
|
|
|
include (VENDORS . join(DS, $requestPath));
|
2006-06-18 05:16:23 +00:00
|
|
|
exit();
|
|
|
|
}
|
2006-05-26 05:29:17 +00:00
|
|
|
}
|
2006-02-25 19:20:18 +00:00
|
|
|
|
2006-05-26 05:29:17 +00:00
|
|
|
require CAKE . 'dispatcher.php';
|
2006-03-14 13:58:29 +00:00
|
|
|
|
2006-05-26 05:29:17 +00:00
|
|
|
if (defined('CACHE_CHECK') && CACHE_CHECK === true) {
|
|
|
|
if (empty($uri)) {
|
|
|
|
$uri = setUri();
|
|
|
|
}
|
2006-06-18 05:16:23 +00:00
|
|
|
$filename = CACHE . 'views' . DS . convertSlash($uri) . '.php';
|
2006-03-14 13:58:29 +00:00
|
|
|
|
2006-05-26 05:29:17 +00:00
|
|
|
if (file_exists($filename)) {
|
2006-11-25 04:31:26 +00:00
|
|
|
uses('controller' . DS . 'component', DS . 'view' . DS . 'view');
|
2006-05-26 05:29:17 +00:00
|
|
|
$v = null;
|
|
|
|
$view = new View($v);
|
|
|
|
$view->renderCache($filename, $TIME_START);
|
2007-06-20 06:15:35 +00:00
|
|
|
} elseif (file_exists(CACHE . 'views' . DS . convertSlash($uri) . '_index.php')) {
|
2006-11-25 04:31:26 +00:00
|
|
|
uses('controller' . DS . 'component', DS . 'view' . DS . 'view');
|
2006-05-26 05:29:17 +00:00
|
|
|
$v = null;
|
|
|
|
$view = new View($v);
|
|
|
|
$view->renderCache(CACHE . 'views' . DS . convertSlash($uri) . '_index.php', $TIME_START);
|
|
|
|
}
|
|
|
|
}
|
2006-01-17 05:13:38 +00:00
|
|
|
?>
|