Changeset 569

Show
Ignore:
Timestamp:
09/25/2007 09:39:06 AM (14 months ago)
Author:
Shadowhand
Message:
  • Updated Router to handle blank segments better
  • Updated URI to have an rsegment() function
Location:
trunk/system/libraries
Files:
2 modified

Legend:

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

    r568 r569  
    148148                } 
    149149 
    150                 if ($default_route == TRUE) 
    151                 { 
    152                         self::$segments = ''; 
    153                 } 
    154  
    155                 /** 
    156                  * Explode the segments by slashes 
    157                  */ 
    158                 self::$segments  = explode('/', self::$segments); 
     150                // Explode the segments by slashes 
     151                if ($default_route == TRUE OR self::$segments == '') 
     152                { 
     153                        self::$segments = array(); 
     154                } 
     155                else 
     156                { 
     157                        self::$segments = explode('/', self::$segments); 
     158                } 
     159                // Routed segments will never be blank 
    159160                self::$rsegments = explode('/', self::$rsegments); 
    160161 
    161                 /** 
    162                  * Validate segments to prevent malicious characters 
    163                  */ 
     162                // Validate segments to prevent malicious characters 
    164163                if ( ! empty(self::$segments)) 
    165164                { 
     
    170169                } 
    171170 
    172                 /** 
    173                  * Yah, routed segments too, even though it should never happen 
    174                  */ 
     171                // Yah, routed segments too, even though it should never happen 
    175172                if ( ! empty(self::$rsegments)) 
    176173                { 
     
    181178                } 
    182179 
    183                 /** 
    184                  * Prepare for Controller search 
    185                  */ 
     180                // Prepare for Controller search 
    186181                self::$directory  = ''; 
    187182                self::$controller = ''; 
  • trunk/system/libraries/URI.php

    r456 r569  
    1616 
    1717                return isset(self::$segments[$index]) ? self::$segments[$index] : $default; 
     18        } 
     19 
     20        /** 
     21         * Retrieve a specific routed URI segment 
     22         * 
     23         * @access      public 
     24         * @param       int 
     25         * @param       mixed 
     26         * @return      mixed 
     27         */ 
     28        public function rsegment($index = 1, $default = FALSE) 
     29        { 
     30                $index = (int) $index - 1; 
     31 
     32                return isset(self::$rsegments[$index]) ? self::$rsegments[$index] : $default; 
    1833        } 
    1934