2005-06-23 14:13:50 +00:00
< ? php
2005-05-15 21:41:38 +00:00
/**
2009-05-01 21:05:46 +00:00
* Index
2005-12-23 21:57:26 +00:00
*
2009-05-01 21:05:46 +00:00
* The Front Controller for handling every request
2005-08-21 06:49:02 +00:00
*
2010-10-03 16:38:58 +00:00
* PHP 5
2005-08-21 06:49:02 +00:00
*
2009-05-01 21:05:46 +00:00
* CakePHP ( tm ) : Rapid Development Framework ( http :// cakephp . org )
2010-01-26 19:18:20 +00:00
* Copyright 2005 - 2010 , Cake Software Foundation , Inc . ( http :// cakefoundation . org )
2005-08-21 06:49:02 +00:00
*
2005-12-23 21:57:26 +00:00
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice .
2005-08-21 06:49:02 +00:00
*
2010-01-26 19:18:20 +00:00
* @ copyright Copyright 2005 - 2010 , Cake Software Foundation , Inc . ( http :// cakefoundation . org )
* @ link http :// cakephp . org CakePHP ( tm ) Project
2008-10-30 17:30:26 +00:00
* @ package cake
* @ subpackage cake . app . webroot
* @ since CakePHP ( tm ) v 0.2 . 9
2009-11-06 06:51:51 +00:00
* @ license MIT License ( http :// www . opensource . org / licenses / mit - license . php )
2005-05-22 23:24:09 +00:00
*/
2006-02-25 04:42:31 +00:00
/**
2008-06-19 14:45:54 +00:00
* Use the DS to separate the directories in other defines
2006-02-25 04:42:31 +00:00
*/
2006-05-26 05:29:17 +00:00
if ( ! defined ( 'DS' )) {
2007-12-29 03:30:46 +00:00
define ( 'DS' , DIRECTORY_SEPARATOR );
2006-05-26 05:29:17 +00:00
}
2005-05-22 23:24:09 +00:00
/**
2006-02-16 09:29:28 +00:00
* These defines should only be edited if you have cake installed in
* a directory layout other than the way it is distributed .
2008-06-19 14:45:54 +00:00
* When using custom settings be sure to use the DS and do not add a trailing DS .
*/
/**
* The full path to the directory which holds " app " , WITHOUT a trailing DS .
*
2005-06-14 19:57:01 +00:00
*/
2006-05-26 05:29:17 +00:00
if ( ! defined ( 'ROOT' )) {
2007-12-29 03:30:46 +00:00
define ( 'ROOT' , dirname ( dirname ( dirname ( __FILE__ ))));
2006-05-26 05:29:17 +00:00
}
2008-06-19 14:45:54 +00:00
/**
* The actual directory name for the " app " .
*
*/
2006-05-26 05:29:17 +00:00
if ( ! defined ( 'APP_DIR' )) {
2007-12-29 03:30:46 +00:00
define ( 'APP_DIR' , basename ( dirname ( dirname ( __FILE__ ))));
2006-05-26 05:29:17 +00:00
}
2006-02-16 09:29:28 +00:00
/**
2008-06-19 14:45:54 +00:00
* The absolute path to the " cake " directory , WITHOUT a trailing DS .
*
2006-02-16 09:29:28 +00:00
*/
2006-05-26 05:29:17 +00:00
if ( ! defined ( 'CAKE_CORE_INCLUDE_PATH' )) {
2007-12-29 03:30:46 +00:00
define ( 'CAKE_CORE_INCLUDE_PATH' , ROOT );
2006-05-26 05:29:17 +00:00
}
2008-06-19 14:45:54 +00:00
/**
* Editing below this line should NOT be necessary .
* Change at your own risk .
*
*/
2006-05-26 05:29:17 +00:00
if ( ! defined ( 'WEBROOT_DIR' )) {
2007-12-29 03:30:46 +00:00
define ( 'WEBROOT_DIR' , basename ( dirname ( __FILE__ )));
2006-05-26 05:29:17 +00:00
}
if ( ! defined ( 'WWW_ROOT' )) {
2007-12-29 03:30:46 +00:00
define ( 'WWW_ROOT' , dirname ( __FILE__ ) . DS );
2006-05-26 05:29:17 +00:00
}
if ( ! defined ( 'CORE_PATH' )) {
2010-11-14 05:06:01 +00:00
define ( 'APP_PATH' , ROOT . DS . APP_DIR . DS );
define ( 'CORE_PATH' , CAKE_CORE_INCLUDE_PATH . DS );
2006-05-26 05:29:17 +00:00
}
2007-03-05 15:14:35 +00:00
if ( ! include ( CORE_PATH . 'cake' . DS . 'bootstrap.php' )) {
2008-06-19 14:45:54 +00:00
trigger_error ( " CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your " . DS . " cake core directory and your " . DS . " vendors root directory. " , E_USER_ERROR );
2007-03-05 15:14:35 +00:00
}
2006-05-26 05:29:17 +00:00
if ( isset ( $_GET [ 'url' ]) && $_GET [ 'url' ] === 'favicon.ico' ) {
2007-07-25 04:38:28 +00:00
return ;
2006-05-26 05:29:17 +00:00
} else {
2010-11-14 16:34:10 +00:00
require LIBS . 'dispatcher.php' ;
2007-12-29 03:30:46 +00:00
$Dispatcher = new Dispatcher ();
2010-11-14 19:45:09 +00:00
$Dispatcher -> dispatch ( new CakeRequest ( isset ( $_GET [ 'url' ]) ? $_GET [ 'url' ] : null ));
2006-05-26 05:29:17 +00:00
}