protected function cleanPath() { $pathInfo = cleanInjection(requestUri()); // ---------------------------------------------------------------------- // URL YÖNLENDİRİLİYOR... $pathInfo = routeUri($pathInfo); if (strstr($pathInfo, getLang())) { $pathInfo = str_replace(getLang() . '/', '', $pathInfo); } return $pathInfo; }
protected function _cleanPath() { $pathInfo = htmlspecialchars(requestUri(), ENT_QUOTES, "utf-8"); // ---------------------------------------------------------------------- // URL YÖNLENDİRİLİYOR... $pathInfo = routeUri($pathInfo); if (strstr($pathInfo, getLang())) { $pathInfo = str_replace(getLang() . '/', '', $pathInfo); } return $pathInfo; }
public static function data() { //------------------------------------------------------------------------------------------------ // Page //------------------------------------------------------------------------------------------------ // // @var string // //------------------------------------------------------------------------------------------------ $page = ''; //------------------------------------------------------------------------------------------------ // Function //------------------------------------------------------------------------------------------------ // // @var string // //------------------------------------------------------------------------------------------------ $function = 'index'; //------------------------------------------------------------------------------------------------ // Parameters //------------------------------------------------------------------------------------------------ // // @var array // //------------------------------------------------------------------------------------------------ $parameters = array(); //------------------------------------------------------------------------------------------------ // Segments //------------------------------------------------------------------------------------------------ // // @var string // //------------------------------------------------------------------------------------------------ $segments = ''; //------------------------------------------------------------------------------------------------ // Is File //------------------------------------------------------------------------------------------------ // // @var string // //------------------------------------------------------------------------------------------------ $isFile = ''; //------------------------------------------------------------------------------------------------ // Request Uri //------------------------------------------------------------------------------------------------ // // @var string // //------------------------------------------------------------------------------------------------ $requestUri = requestUri(); //------------------------------------------------------------------------------------------------ // $_GET kontrolü yapılarak temel URL bilgisi elde ediliyor. //------------------------------------------------------------------------------------------------ $url = explode('?', $requestUri); //------------------------------------------------------------------------------------------------ // Temel URL adresi / karakteri ile bölümlere ayrılıyor. //------------------------------------------------------------------------------------------------ $segments = explode('/', $url[0]); //------------------------------------------------------------------------------------------------ // Controller/Sayfa: Controller/ dizini içinde çalıştırılacak dosya adı. //------------------------------------------------------------------------------------------------ if (isset($segments[0])) { $page = $segments[0]; $isFile = restorationPath(CONTROLLERS_DIR . suffix($page, '.php')); // Kontrolcüler Controllers/ dizini içinde // farklı bir dizinde yer alıyorsa bu bölüm // ile o kontrolcülere erişim sağlanıyor. if (!is_file($isFile)) { $if = ''; $nsegments = $segments; for ($i = 0; $i < count($segments); $i++) { $if .= $segments[$i] . '/'; $ifTrim = rtrim($if, '/'); $isF = restorationPath(CONTROLLERS_DIR . suffix($ifTrim, '.php')); if (is_file($isF)) { $page = divide($ifTrim, '/', -1); $isFile = $isF; $segments = $nsegments; break; } array_shift($nsegments); } } unset($segments[0]); $pageControl = strtolower($page); // Bir Controller/ dosyası index kelimesi ile isimlendirilemez! if ($pageControl === 'index' || $pageControl === 'main') { // Hatayı rapor et. report('Error', lang('Error', 'controllerNameError', $pageControl), 'ControllerNameError'); // Hatayı ekrana yazdır. die(Error::message('Error', 'controllerNameError', $pageControl)); } } //------------------------------------------------------------------------------------------------ // Restore Modu //------------------------------------------------------------------------------------------------ if (APPMODE === 'restoration') { Restoration::mode(); } //------------------------------------------------------------------------------------------------ // Fonksiyon: Çalıştırılacak dosyaya ait yöntem adı. //------------------------------------------------------------------------------------------------ if (isset($segments[1])) { $function = $segments[1]; unset($segments[1]); } //------------------------------------------------------------------------------------------------ // Parametreler: Çalıştırılacak yönteme gönderilecek parametreler. //------------------------------------------------------------------------------------------------ if (isset($segments[2])) { $parameters = $segments; } //------------------------------------------------------------------------------------------------ // Return Array //------------------------------------------------------------------------------------------------ // // @key array $parameters // @key string $page // @key string $file // @key string $function // //------------------------------------------------------------------------------------------------ return array('parameters' => $parameters, 'page' => $page, 'file' => $isFile, 'function' => $function); }
public static function datas() { /* Page Değişkeni * * Controller/page.php bilgisini * tutması çin oluşturulmuştur. */ $page = ''; /* Function Değişkeni * * Page/Function bilgisini * tutaması için oluşturulmuştur. */ $function = 'index'; /* Parameters Dizi Değişkeni * * Url adresindeki parametre bilgilerini * tutması için oluşturulmuştur. */ $parameters = array(); /* Segments Değişkeni * * Url adresinin parametre bölümlerini * tutması için oluşturulmuştur. */ $segments = ''; /* Is Fıle Değişkeni * * Girilen Url adresinin geçerli bir. * sayfa olma durumun kontrol etmesi için oluşturulmuştur. */ $isFile = ''; /* Request Uri Değişkeni * * Ziyaretçi URL adresini * tutması için oluşturulmuştur. */ $requestUri = requestUri(); // ------------------------------------------------------------------------------- // $_GET kontrolü yapılarak temel URL bilgisi elde ediliyor. // ------------------------------------------------------------------------------- $url = explode('?', $requestUri); // ------------------------------------------------------------------------------- // Temel URL adresi / karakteri ile bölümlere ayrılıyor. // ------------------------------------------------------------------------------- $segments = explode('/', $url[0]); // ------------------------------------------------------------------------------- // Controller/Sayfa: Controller/ dizini içinde çalıştırılacak dosya adı. // ------------------------------------------------------------------------------- if (isset($segments[0])) { $page = $segments[0]; $isFile = CONTROLLERS_DIR . suffix($page, '.php'); // Kontrolcüler Controllers/ dizini içinde // farklı bir dizinde yer alıyorsa bu bölüm // ile o kontrolcülere erişim sağlanıyor. if (!is_file($isFile)) { $if = ''; $nsegments = $segments; for ($i = 0; $i < count($segments); $i++) { $if .= $segments[$i] . '/'; $ifTrim = rtrim($if, '/'); $isF = CONTROLLERS_DIR . suffix($ifTrim, '.php'); if (is_file($isF)) { $page = divide($ifTrim, '/', -1); $isFile = $isF; $segments = $nsegments; break; } array_shift($nsegments); } } unset($segments[0]); // Bir Controller/ dosyası index kelimesi ile isimlendirilemez! if (strtolower($page) === 'index') { // Hatayı ekrana yazdır. echo Error::message('Error', 'controllerNameError', $page); // Hatayı rapor et. report('Error', getMessage('Error', 'controllerNameError'), 'ControllerNameError'); // Çalışmayı durdur. return false; } } // ------------------------------------------------------------------------------- // Fonksiyon: Çalıştırılacak dosyaya ait yöntem adı. // ------------------------------------------------------------------------------- if (isset($segments[1])) { $function = $segments[1]; unset($segments[1]); } // ------------------------------------------------------------------------------- // Parametreler: Çalıştırılacak yönteme gönderilecek parametreler. // ------------------------------------------------------------------------------- if (isset($segments[2])) { $parameters = $segments; } return array('parameters' => $parameters, 'page' => $page, 'isFile' => $isFile, 'function' => $function); }
public static function run() { /* Page Değişkeni * * Controller/page.php bilgisini * tutması çin oluşturulmuştur. */ $page = ''; /* Function Değişkeni * * Page/Function bilgisini * tutaması için oluşturulmuştur. */ $function = 'index'; /* Parameters Dizi Değişkeni * * Url adresindeki parametre bilgilerini * tutması için oluşturulmuştur. */ $parameters = array(); /* Segments Değişkeni * * Url adresinin parametre bölümlerini * tutması için oluşturulmuştur. */ $segments = ''; /* Is Fıle Değişkeni * * Girilen Url adresinin geçerli bir. * sayfa olma durumun kontrol etmesi için oluşturulmuştur. */ $isFile = ''; /* Request Uri Değişkeni * * Ziyaretçi URL adresini * tutması için oluşturulmuştur. */ $requestUri = requestUri(); // ------------------------------------------------------------------------------- // $_GET kontrolü yapılarak temel URL bilgisi elde ediliyor. // ------------------------------------------------------------------------------- $url = explode('?', $requestUri); // ------------------------------------------------------------------------------- // Temel URL adresi / karakteri ile bölümlere ayrılıyor. // ------------------------------------------------------------------------------- $segments = explode('/', $url[0]); // ------------------------------------------------------------------------------- // Controller/Sayfa: Controller/ dizini içinde çalıştırılacak dosya adı. // ------------------------------------------------------------------------------- if (isset($segments[0])) { $page = $segments[0]; $isFile = CONTROLLERS_DIR . suffix($page, '.php'); unset($segments[0]); // Bir Controller/ dosyası index kelimesi ile isimlendirilemez! if (strtolower($page) === 'index') { // Hatayı ekrana yazdır. echo Error::message('Error', 'controllerNameError', $page); // Hatayı rapor et. report('Error', getMessage('Error', 'controllerNameError'), 'ControllerNameError'); // Çalışmayı durdur. return false; } } // ------------------------------------------------------------------------------- // Fonksiyon: Çalıştırılacak dosyaya ait yöntem adı. // ------------------------------------------------------------------------------- if (isset($segments[1])) { $function = $segments[1]; unset($segments[1]); } // ------------------------------------------------------------------------------- // Parametreler: Çalıştırılacak yönteme gönderilecek parametreler. // ------------------------------------------------------------------------------- if (isset($segments[2])) { $parameters = $segments; } // ---------------------------------------------------------------------- // TAMPONLAMA BAŞLATILIYOR... if (Config::get('Cache', 'obGzhandler') && substr_count(server('acceptEncoding'), 'gzip')) { ob_start('ob_gzhandler'); } else { ob_start(); } // ---------------------------------------------------------------------- // BAŞLIK BİLGİLERİ DÜZENLENİYOR... headers(Config::get('Headers', 'settings')); // ---------------------------------------------------------------------- // SAYFA KONTROLÜ YAPILIYOR... // ------------------------------------------------------------------------------- // Sayfa bilgisine erişilmişse sayfa dahil edilir. // ------------------------------------------------------------------------------- if (file_exists($isFile)) { // ------------------------------------------------------------------------------- // Tadilat modu açıksa bu ayarlar geçerli olacaktır. // ------------------------------------------------------------------------------- if (Config::get('Repair', 'mode')) { Repair::mode(); } // ------------------------------------------------------------------------------- // Sayfa dahil ediliyor. // ------------------------------------------------------------------------------- require_once $isFile; // ------------------------------------------------------------------------------- // Sayfaya ait controller nesnesi oluşturuluyor. // ------------------------------------------------------------------------------- $var = new $page(); // ------------------------------------------------------------------------------- // Sınıf ve yöntem bilgileri geçerli ise sayfayı çalıştır. // ------------------------------------------------------------------------------- if (is_callable(array($var, $function))) { if (APP_TYPE === 'local') { set_error_handler('Exceptions::table'); } call_user_func_array(array($var, $function), $parameters); if (APP_TYPE === 'local') { restore_error_handler(); } } else { // Sayfa bilgisine erişilemezse hata bildir. if (!Config::get('Route', 'show404')) { // Hatayı ekrana yazdır. echo Error::message('Error', 'callUserFuncArrayError', $function); // Hatayı rapor et. report('Error', getMessage('Error', 'callUserFuncArrayError'), 'SystemCallUserFuncArrayError'); // Çalışmayı durdur. return false; } else { redirect(Config::get('Route', 'show404')); } } } else { // Sayfa bilgisine erişilemezse hata bildir. if (Config::get('Route', 'show404')) { redirect(Config::get('Route', 'show404')); } else { // Hatayı ekrana yazdır. echo Error::message('Error', 'notIsFileError', $isFile); // Hatayı rapor et. report('Error', getMessage('Error', 'notIsFileError'), 'SystemNotIsFileError'); // Çalışmayı durdur. return false; } } // ---------------------------------------------------------------------- // TAMPONLAMA KAPATILIYOR... ob_end_flush(); // ---------------------------------------------------------------------- }