2008-05-30 11:40:08 +00:00
< ? php
/**
2010-01-13 05:17:15 +00:00
* Index
*
* The Front Controller for handling every request
2008-05-30 11:40:08 +00:00
*
2010-10-03 16:38:58 +00:00
* PHP 5
2008-05-30 11:40:08 +00:00
*
2009-11-06 06:46:59 +00:00
* CakePHP ( tm ) : Rapid Development Framework ( http :// cakephp . org )
2011-05-29 21:31:39 +00:00
* Copyright 2005 - 2011 , Cake Software Foundation , Inc . ( http :// cakefoundation . org )
2008-05-30 11:40:08 +00:00
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice .
*
2011-05-29 21:31:39 +00:00
* @ copyright Copyright 2005 - 2011 , Cake Software Foundation , Inc . ( http :// cakefoundation . org )
2010-01-26 22:03:03 +00:00
* @ link http :// cakephp . org CakePHP ( tm ) Project
2010-12-24 18:57:20 +00:00
* @ package app . webroot
2008-10-30 17:30:26 +00:00
* @ 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 )
2008-05-30 11:40:08 +00:00
*/
/**
2008-06-19 14:45:54 +00:00
* Use the DS to separate the directories in other defines
2008-05-30 11:40:08 +00:00
*/
if ( ! defined ( 'DS' )) {
define ( 'DS' , DIRECTORY_SEPARATOR );
}
/**
* 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 .
*
2008-05-30 11:40:08 +00:00
*/
if ( ! defined ( 'ROOT' )) {
define ( 'ROOT' , dirname ( dirname ( dirname ( __FILE__ ))));
}
2008-06-19 14:45:54 +00:00
/**
* The actual directory name for the " app " .
*
*/
2008-05-30 11:40:08 +00:00
if ( ! defined ( 'APP_DIR' )) {
define ( 'APP_DIR' , basename ( dirname ( dirname ( __FILE__ ))));
}
2011-07-28 17:44:07 +00:00
2008-05-30 11:40:08 +00:00
/**
2008-06-19 14:45:54 +00:00
* The absolute path to the " cake " directory , WITHOUT a trailing DS .
*
2011-07-28 17:44:07 +00:00
* Un - comment this line to specify a fixed path to CakePHP .
* This should point at the directory containg `Cake` .
*
* For ease of development CakePHP uses PHP ' s include_path . If you
* need to squeeze a bit more performance you can set this path .
2011-07-31 19:26:43 +00:00
*
* Leaving this constant undefined will result in it being defined in Cake / bootstrap . php
2008-05-30 11:40:08 +00:00
*/
2011-07-30 17:41:43 +00:00
//define('CAKE_CORE_INCLUDE_PATH', __CAKE_PATH__);
2008-06-19 14:45:54 +00:00
/**
2010-01-13 05:17:15 +00:00
* Editing below this line should NOT be necessary .
2008-06-19 14:45:54 +00:00
* Change at your own risk .
*
*/
2008-05-30 11:40:08 +00:00
if ( ! defined ( 'WEBROOT_DIR' )) {
define ( 'WEBROOT_DIR' , basename ( dirname ( __FILE__ )));
}
if ( ! defined ( 'WWW_ROOT' )) {
define ( 'WWW_ROOT' , dirname ( __FILE__ ) . DS );
}
2011-07-28 17:44:07 +00:00
if ( ! defined ( 'CAKE_CORE_INCLUDE_PATH' )) {
if ( ! include ( 'Cake' . DS . 'bootstrap.php' )) {
$failed = true ;
}
} else {
if ( ! include ( CAKE_CORE_INCLUDE_PATH . DS . 'Cake' . DS . 'bootstrap.php' )) {
$failed = true ;
}
2008-05-30 11:40:08 +00:00
}
2011-07-28 17:44:07 +00:00
if ( ! empty ( $failed )) {
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 );
2008-05-30 11:40:08 +00:00
}
2011-02-20 18:12:04 +00:00
2011-02-20 18:29:19 +00:00
if ( isset ( $_SERVER [ 'PATH_INFO' ]) && $_SERVER [ 'PATH_INFO' ] == '/favicon.ico' ) {
return ;
}
2011-04-20 16:02:16 +00:00
App :: uses ( 'Dispatcher' , 'Routing' );
2011-07-28 17:44:07 +00:00
2011-02-20 18:12:04 +00:00
$Dispatcher = new Dispatcher ();
2011-07-03 18:54:43 +00:00
$Dispatcher -> dispatch ( new CakeRequest (), new CakeResponse ( array ( 'charset' => Configure :: read ( 'App.encoding' ))));