Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 5
0
 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();
     // ----------------------------------------------------------------------
 }