'Security', 'db/$Action' => 'DatabaseAdmin', '$Controller/$Action/$ID/$OtherID' => '*', 'images/$Action/$Class/$ID/$Field' => 'Image_Uploader', '' => 'RootURLController', )); Director::addRules(1, array( '$URLSegment/$Action/$ID/$OtherID' => 'ModelAsController', )); // Load error handlers Debug::loadErrorHandlers(); // Connect to database require_once("core/model/DB.php"); if(isset($_GET['debug_profile'])) Profiler::mark('DB::connect'); DB::connect($databaseConfig); if(isset($_GET['debug_profile'])) Profiler::unmark('DB::connect'); // Get the request URL $baseURL = dirname(dirname($_SERVER['SCRIPT_NAME'])); if(isset($_GET['url'])) { $url = $_GET['url']; // Lighttpd uses this } else { list($url, $query) = explode('?', $_SERVER['REQUEST_URI'], 2); parse_str($query, $_GET); if($_GET) $_REQUEST = array_merge((array)$_REQUEST, (array)$_GET); } if(substr($url,0,strlen($baseURL)) == $baseURL) $url = substr($url,strlen($baseURL)); // Direct away - this is the "main" function, that hands control to the appropriate controller if(isset($_GET['debug_profile'])) Profiler::unmark('main.php init'); Director::direct($url); if(isset($_GET['debug_profile'])) { Profiler::unmark('all_execution'); Profiler::show(isset($_GET['profile_trace'])); } ?>