00001 <?php
00024 final class Kumbia
00025 {
00030 const KUMBIA_VERSION = '1.0';
00036 static public $data = array();
00041 public static function init_application()
00042 {
00046 Load::boot();
00047
00051 require CORE_PATH . 'kumbia/controller.php';
00052
00056 include_once APP_PATH . 'application.php';
00057
00061 $config = Config::read('config.ini');
00062
00066 bindtextdomain('default', APP_PATH . 'locale/');
00067 textdomain('default');
00068 if(isset($config['application']['locale']) && $config['application']['locale']) {
00069 setlocale(LC_ALL, $config['application']['locale']);
00070 }
00071
00075 if (isset($config['application']['timezone'])) {
00076 date_default_timezone_set($config['application']['timezone']);
00077 }
00078
00082 define('APP_CHARSET', strtoupper($config['application']['charset']));
00083 }
00090 public static function main($url)
00091 {
00095 require CORE_PATH . 'kumbia/router.php';
00099 Router::rewrite($url);
00100
00104 require CORE_PATH . 'kumbia/dispatcher.php';
00108 require CORE_PATH . 'extensions/messages/flash.php';
00109
00113 require CORE_PATH . 'kumbia/util.php';
00117 require CORE_PATH . 'kumbia/load.php';
00118
00123 self::init_application();
00124
00128 ob_start();
00129
00133 $controller = Dispatcher::execute();
00134 while (Router::getRouted()) {
00135 Router::setRouted(false);
00136 $controller = Dispatcher::execute();
00137 }
00138
00142 if($controller->view || $controller->template) {
00143 require CORE_PATH . 'kumbia/view.php';
00144 View::render($controller, $url);
00145 } else {
00146 ob_end_flush();
00147 }
00148
00149
00150 exit(0);
00151 }
00156 public static function stylesheet_link_tags()
00157 {
00158 $imports = self::$data['KUMBIA_CSS_IMPORTS'];
00159 if ($imports && is_array($imports)) {
00160 foreach ($imports as $css) {
00161 echo $css;
00162 }
00163 } else {
00164 echo $imports;
00165 }
00166 }
00167 }