Show
Ignore:
Timestamp:
03/17/2008 04:40:35 AM (8 months ago)
Author:
Geert
Message:

Fixed #496 and some other small optimizations and cleanups.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/system/libraries/Router.php

    r2250 r2310  
    2929        /** 
    3030         * Router setup routine. Automatically called during Kohana setup process. 
     31         * 
     32         * @return  void 
    3133         */ 
    3234        public static function setup() 
     
    3941 
    4042                // Use the default route when no segments exist 
    41                 if (self::$current_uri == '' OR self::$current_uri == '/') 
    42                 { 
    43                         self::$current_uri = self::$routes['_default']; 
     43                if (self::$current_uri === '') 
     44                { 
     45                        self::$current_uri = trim(self::$routes['_default'], '/'); 
    4446                        $default_route = TRUE; 
    4547                } 
     
    6264 
    6365                // Custom routing 
    64                 if ($default_route == FALSE AND count(self::$routes) > 1) 
     66                if ($default_route === FALSE AND count(self::$routes) > 1) 
    6567                { 
    6668                        if (isset(self::$routes[self::$current_uri])) 
     
    7577                                { 
    7678                                        if ($key === '_default') continue; 
     79 
     80                                        // Trim slashes 
     81                                        $key = trim($key, '/'); 
     82                                        $val = trim($val, '/'); 
    7783 
    7884                                        // Does this route match the current URI? 
     
    96102 
    97103                        // Check router one more time to do some magic 
    98                         self::$rsegments = isset(self::$routes[self::$rsegments]) ? self::$routes[self::$rsegments] : self::$rsegments; 
     104                        if (isset(self::$routes[self::$rsegments])) 
     105                        { 
     106                                self::$rsegments = self::$routes[self::$rsegments]; 
     107                        } 
    99108                } 
    100109 
    101110                // Explode the segments by slashes 
    102                 if ($default_route == TRUE OR self::$segments == '') 
     111                if ($default_route === TRUE OR self::$segments === '') 
    103112                { 
    104113                        self::$segments = array(); 
     
    108117                        self::$segments = explode('/', self::$segments); 
    109118                } 
     119 
    110120                // Routed segments will never be blank 
    111121                self::$rsegments = explode('/', self::$rsegments); 
     
    178188        /** 
    179189         * Attempts to determine the current URI using CLI, GET, PATH_INFO, ORIG_PATH_INFO, or PHP_SELF. 
     190         * 
     191         * @return  void 
    180192         */ 
    181193        public static function find_uri() 
     
    269281                $str = trim($str); 
    270282 
    271                 if ($str != '' AND ($allowed = Config::item('routes._allowed')) != '') 
     283                if ($str !== '' AND ($allowed = Config::item('routes._allowed')) != '') 
    272284                { 
    273285                        if ( ! preg_match('|^['.preg_quote($allowed).']++$|iuD', $str))