Example #1
0
 /**
  * Определение запрашиваемого модуля и сегмента
  */
 public static function route()
 {
     self::parse_query();
     if (self::_check_segments()) {
         self::$segment1 = self::$parse['segment1'];
         self::$segment2 = self::$parse['segment2'];
         self::$segment3 = self::$parse['segment3'];
         if (empty(self::$segment1)) {
             if (file_exists(ROOT . 'modules/index/execute/index.php')) {
                 self::$controller_path = 'modules/index/execute/index.php';
                 self::$controller_name = 'index';
                 self::$action = '';
                 self::$page = '';
                 self::$module = 'index';
             } else {
                 self::$controller_exists = FALSE;
             }
         } elseif (!empty(self::$segment1) && !empty(self::$segment2)) {
             if (file_exists(ROOT . 'modules/' . self::$segment1 . '/execute/' . self::$segment1 . '.php')) {
                 self::$controller_path = 'modules/' . self::$segment1 . '/execute/' . self::$segment1 . '.php';
                 self::$controller_name = self::$segment1;
                 self::$action = self::$segment2;
                 self::$page = '';
                 self::$module = self::$segment1;
             } else {
                 self::$controller_exists = FALSE;
             }
         } elseif (!empty(self::$segment1)) {
             if (file_exists(ROOT . 'modules/' . self::$segment1 . '/execute/' . self::$segment1 . '.php')) {
                 self::$controller_path = 'modules/' . self::$segment1 . '/execute/' . self::$segment1 . '.php';
                 self::$controller_name = self::$segment1;
                 self::$action = '';
                 self::$page = '';
                 self::$module = self::$segment1;
             } else {
                 self::$controller_exists = FALSE;
             }
         } else {
             throw new Exception('00404');
         }
     }
     if (self::$controller_exists) {
         define('ROUTE_CONTROLLER_PATH', self::$controller_path);
         define('ROUTE_CONTROLLER_NAME', self::$controller_name);
         define('ROUTE_CONTROLLER_URL', self::$module . (self::$action ? '/' . self::$action : '') . (self::$page ? '/' . self::$page : ''));
         define('ROUTE_ACTION', self::$action);
         define('ROUTE_PAGE', self::$page);
         define('ROUTE_MODULE', self::$module);
     } elseif (!empty(self::$segment1)) {
         if (!empty(self::$segment2)) {
             if (is_numeric(self::$segment2)) {
                 if (!empty(self::$segment3)) {
                     self::$action = self::$segment3;
                 } else {
                     self::$action = "showThread";
                 }
             } else {
                 self::$action = self::$segment2;
             }
         } else {
             self::$action = "showBoard";
         }
         define('ROUTE_CONTROLLER_PATH', ROOT . 'modules/index/execute/index.php');
         define('ROUTE_CONTROLLER_NAME', 'index');
         define('ROUTE_CONTROLLER_URL', self::$segment1);
         define('ROUTE_ACTION', self::$action);
         define('ROUTE_SEGMENT', self::$segment2);
         define('ROUTE_PAGE', self::$segment3);
         define('ROUTE_MODULE', 'index');
         define('ROUTE_LOGIN', self::$segment1);
     } else {
         throw new Exception('00404');
     }
     //;
 }