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
*
2009-05-01 21:05:46 +00:00
* CakePHP ( tm ) : Rapid Development Framework ( http :// cakephp . org )
2013-02-08 11:59:49 +00:00
* Copyright ( c ) 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
2013-02-08 12:22:51 +00:00
* For full copyright and license information , please see the LICENSE . txt
2005-12-23 21:57:26 +00:00
* Redistributions of files must retain the above copyright notice .
2005-08-21 06:49:02 +00:00
*
2013-02-08 11:59:49 +00:00
* @ copyright Copyright ( c ) Cake Software Foundation , Inc . ( http :// cakefoundation . org )
2010-01-26 19:18:20 +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
2013-05-30 22:11:14 +00:00
* @ license http :// www . opensource . org / licenses / mit - license . php MIT License
2005-05-22 23:24:09 +00:00
*/
2013-05-30 22:11:14 +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
*/
2012-04-30 23:38:16 +00:00
if ( ! defined ( 'DS' )) {
define ( 'DS' , DIRECTORY_SEPARATOR );
}
2013-01-29 03:21:58 +00:00
2005-05-22 23:24:09 +00:00
/**
2014-08-05 01:53:40 +00:00
* These defines should only be edited if you have CakePHP installed in
2006-02-16 09:29:28 +00:00
* 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
*/
2012-04-30 23:38:16 +00:00
if ( ! defined ( 'ROOT' )) {
define ( 'ROOT' , dirname ( dirname ( dirname ( __FILE__ ))));
}
2013-02-08 13:41:57 +00:00
2008-06-19 14:45:54 +00:00
/**
* The actual directory name for the " app " .
*
*/
2012-04-30 23:38:16 +00:00
if ( ! defined ( 'APP_DIR' )) {
define ( 'APP_DIR' , basename ( dirname ( dirname ( __FILE__ ))));
}
2011-07-28 17:44:07 +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 .
*
2011-07-28 17:44:07 +00:00
* Un - comment this line to specify a fixed path to CakePHP .
2011-10-18 17:06:29 +00:00
* This should point at the directory containing `Cake` .
2011-07-28 17:44:07 +00:00
*
2013-02-08 13:41:57 +00:00
* For ease of development CakePHP uses PHP ' s include_path . If you
2011-07-28 17:44:07 +00:00
* cannot modify your include_path set this value .
2011-07-31 19:26:43 +00:00
*
* Leaving this constant undefined will result in it being defined in Cake / bootstrap . php
2013-02-08 13:41:57 +00:00
*
* The following line differs from its sibling
* / lib / Cake / Console / Templates / skel / webroot / index . php
2006-02-16 09:29:28 +00:00
*/
2013-02-08 13:41:57 +00:00
//define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'lib');
2008-06-19 14:45:54 +00:00
2014-08-05 01:53:40 +00:00
/**
* This auto - detects CakePHP as a composer installed library .
* You may remove this if you are not planning to use composer ( not recommended , though ) .
*/
$vendorPath = ROOT . DS . APP_DIR . DS . 'Vendor' . DS . 'cakephp' . DS . 'cakephp' . DS . 'lib' ;
$dispatcher = 'Cake' . DS . 'Console' . DS . 'ShellDispatcher.php' ;
if ( ! defined ( 'CAKE_CORE_INCLUDE_PATH' ) && file_exists ( $vendorPath . DS . $dispatcher )) {
define ( 'CAKE_CORE_INCLUDE_PATH' , $vendorPath );
}
2008-06-19 14:45:54 +00:00
/**
* Editing below this line should NOT be necessary .
* Change at your own risk .
*
*/
2012-04-30 23:38:16 +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
2012-07-12 17:29:42 +00:00
// for built-in server
2013-10-23 02:18:59 +00:00
if ( php_sapi_name () === 'cli-server' ) {
2013-07-27 21:01:35 +00:00
if ( $_SERVER [ 'REQUEST_URI' ] !== '/' && file_exists ( WWW_ROOT . $_SERVER [ 'PHP_SELF' ])) {
2013-01-29 03:21:58 +00:00
return false ;
}
2012-07-27 01:22:50 +00:00
$_SERVER [ 'PHP_SELF' ] = '/' . basename ( __FILE__ );
2012-07-12 17:29:42 +00:00
}
2012-04-30 23:38:16 +00:00
if ( ! defined ( 'CAKE_CORE_INCLUDE_PATH' )) {
if ( function_exists ( 'ini_set' )) {
ini_set ( 'include_path' , ROOT . DS . 'lib' . PATH_SEPARATOR . ini_get ( 'include_path' ));
}
2013-10-15 23:40:45 +00:00
if ( ! include 'Cake' . DS . 'bootstrap.php' ) {
2012-04-30 23:38:16 +00:00
$failed = true ;
2006-05-26 05:29:17 +00:00
}
2012-04-30 23:38:16 +00:00
} else {
2013-10-15 23:40:45 +00:00
if ( ! include CAKE_CORE_INCLUDE_PATH . DS . 'Cake' . DS . 'bootstrap.php' ) {
2012-04-30 23:38:16 +00:00
$failed = true ;
2007-03-05 15:14:35 +00:00
}
2012-04-30 23:38:16 +00:00
}
if ( ! empty ( $failed )) {
2013-02-08 13:41:57 +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 );
2012-04-30 23:38:16 +00:00
}
2011-02-20 18:12:04 +00:00
2012-04-30 23:38:16 +00:00
App :: uses ( 'Dispatcher' , 'Routing' );
2011-07-03 18:35:54 +00:00
2012-04-30 23:38:16 +00:00
$Dispatcher = new Dispatcher ();
2013-02-08 13:41:57 +00:00
$Dispatcher -> dispatch (
new CakeRequest (),
new CakeResponse ()
);