Changeset 498

Show
Ignore:
Timestamp:
07/19/07 00:50:43 (1 year ago)
Author:
laurentj
Message:

enhancement #90: several significative url can now point to the same action, if they have different static parameters

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/jelix/init.php

    r477 r498  
    9696 
    9797// chargement du coeur 
    98 require_once (JELIX_LIB_CORE_PATH . 'jErrorHandler.lib.php'); 
    99 require_once (JELIX_LIB_CORE_PATH . 'jException.lib.php'); 
    100 require_once (JELIX_LIB_CORE_PATH . 'jContext.class.php'); 
    101 require_once (JELIX_LIB_CORE_PATH . 'jConfig.class.php'); 
    102 require_once (JELIX_LIB_CORE_PATH . 'jSelector.class.php'); 
    103 require_once (JELIX_LIB_CORE_PATH . 'jUrl.class.php'); 
    104 require_once (JELIX_LIB_CORE_PATH . 'jCoordinator.class.php'); 
    105 require_once (JELIX_LIB_CORE_PATH . 'jController.class.php'); 
    106 require_once (JELIX_LIB_CORE_PATH . 'jRequest.class.php'); 
    107 require_once (JELIX_LIB_CORE_PATH . 'jResponse.class.php'); 
    108 require_once (JELIX_LIB_CORE_PATH . 'jLocale.class.php'); 
    109 require_once (JELIX_LIB_CORE_PATH . 'jIncluder.class.php'); 
     98require (JELIX_LIB_CORE_PATH . 'jErrorHandler.lib.php'); 
     99require (JELIX_LIB_CORE_PATH . 'jException.lib.php'); 
     100require (JELIX_LIB_CORE_PATH . 'jContext.class.php'); 
     101require (JELIX_LIB_CORE_PATH . 'jConfig.class.php'); 
     102require (JELIX_LIB_CORE_PATH . 'jSelector.class.php'); 
     103require (JELIX_LIB_CORE_PATH . 'jUrl.class.php'); 
     104require (JELIX_LIB_CORE_PATH . 'jCoordinator.class.php'); 
     105require (JELIX_LIB_CORE_PATH . 'jController.class.php'); 
     106require (JELIX_LIB_CORE_PATH . 'jRequest.class.php'); 
     107require (JELIX_LIB_CORE_PATH . 'jResponse.class.php'); 
     108require (JELIX_LIB_CORE_PATH . 'jLocale.class.php'); 
     109require (JELIX_LIB_CORE_PATH . 'jIncluder.class.php'); 
    110110#ifnot ENABLE_PHP_JELIX 
    111 require_once (JELIX_LIB_CORE_PATH . 'jICoordPlugin.iface.php'); 
     111require (JELIX_LIB_CORE_PATH . 'jICoordPlugin.iface.php'); 
    112112#endif 
    113113#endif 
  • trunk/lib/jelix/init.php

    r477 r498  
    9696 
    9797// chargement du coeur 
    98 require_once (JELIX_LIB_CORE_PATH . 'jErrorHandler.lib.php'); 
    99 require_once (JELIX_LIB_CORE_PATH . 'jException.lib.php'); 
    100 require_once (JELIX_LIB_CORE_PATH . 'jContext.class.php'); 
    101 require_once (JELIX_LIB_CORE_PATH . 'jConfig.class.php'); 
    102 require_once (JELIX_LIB_CORE_PATH . 'jSelector.class.php'); 
    103 require_once (JELIX_LIB_CORE_PATH . 'jUrl.class.php'); 
    104 require_once (JELIX_LIB_CORE_PATH . 'jCoordinator.class.php'); 
    105 require_once (JELIX_LIB_CORE_PATH . 'jController.class.php'); 
    106 require_once (JELIX_LIB_CORE_PATH . 'jRequest.class.php'); 
    107 require_once (JELIX_LIB_CORE_PATH . 'jResponse.class.php'); 
    108 require_once (JELIX_LIB_CORE_PATH . 'jLocale.class.php'); 
    109 require_once (JELIX_LIB_CORE_PATH . 'jIncluder.class.php'); 
     98require (JELIX_LIB_CORE_PATH . 'jErrorHandler.lib.php'); 
     99require (JELIX_LIB_CORE_PATH . 'jException.lib.php'); 
     100require (JELIX_LIB_CORE_PATH . 'jContext.class.php'); 
     101require (JELIX_LIB_CORE_PATH . 'jConfig.class.php'); 
     102require (JELIX_LIB_CORE_PATH . 'jSelector.class.php'); 
     103require (JELIX_LIB_CORE_PATH . 'jUrl.class.php'); 
     104require (JELIX_LIB_CORE_PATH . 'jCoordinator.class.php'); 
     105require (JELIX_LIB_CORE_PATH . 'jController.class.php'); 
     106require (JELIX_LIB_CORE_PATH . 'jRequest.class.php'); 
     107require (JELIX_LIB_CORE_PATH . 'jResponse.class.php'); 
     108require (JELIX_LIB_CORE_PATH . 'jLocale.class.php'); 
     109require (JELIX_LIB_CORE_PATH . 'jIncluder.class.php'); 
    110110#ifnot ENABLE_PHP_JELIX 
    111 require_once (JELIX_LIB_CORE_PATH . 'jICoordPlugin.iface.php'); 
     111require (JELIX_LIB_CORE_PATH . 'jICoordPlugin.iface.php'); 
    112112#endif 
    113113#endif 
  • trunk/lib/jelix/plugins/urls/significant/jSignificantUrlsCompiler.class.php

    r482 r498  
    55* @author      Laurent Jouanneau 
    66* @contributor 
    7 * @copyright   2005-2006 Laurent Jouanneau 
     7* @copyright   2005-2007 Laurent Jouanneau 
    88* @link        http://www.jelix.org 
    99* @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html 
    1010* 
    1111*/ 
    12  
    1312 
    1413/** 
     
    4847 
    4948            où 
    50             $isDefault : indique si c'est un point d'entrée par défaut, et donc si le parser ne trouve rien, si il ignore ou fait une erreur 
     49            $isDefault : indique si c'est un point d'entrée par défaut, et donc si le parser ne trouve rien, 
     50                            si il ignore ou fait une erreur 
    5151 
    5252            $infoparser = array('module','action','selecteur handler') 
     
    6969                        array(true, false..), // valeur des escapes 
    7070                        "/news/%1/%2/%3/%4-%5", // forme de l'url 
     71                        array('bla'=>'cequejeveux' ) // tableau des valeurs statiques, pour comparer  
     72                                                     quand il y a plusieurs urls vers la même action 
    7173                        ) 
     74                   quand il y a plusieurs urls vers la même action, il y a plutôt un tableau contenant 
     75                    plusieurs tableaux du type précédent 
     76                    array( 4, array(1,...), array(1,...)...) 
     77 
    7278                  ou 
    7379                  array(2,'entrypoint', https true/false, entrypoint true/false ); pour les clés du type "@request" 
     
    7783        $typeparam = array('string'=>'([^\/]+)','char'=>'([^\/])', 'letter'=>'(\w)', 
    7884           'number'=>'(\d+)', 'int'=>'(\d+)', 'integer'=>'(\d+)', 'digit'=>'(\d)', 
    79            'date'=>'([0-2]\d{3}\-(?:0[1-9]|1[0-2])\-(?:[0-2][1-9]|3[0-1]))', 'year'=>'([0-2]\d{3})', 'month'=>'(0[1-9]|1[0-2])', 'day'=>'([0-2][1-9]|[1-2]0|3[0-1])' 
     85           'date'=>'([0-2]\d{3}\-(?:0[1-9]|1[0-2])\-(?:[0-2][1-9]|3[0-1]))',  
     86            'year'=>'([0-2]\d{3})', 'month'=>'(0[1-9]|1[0-2])', 'day'=>'([0-2][1-9]|[1-2]0|3[0-1])' 
    8087           ); 
    8188        $createUrlInfos=array(); 
     
    221228               } 
    222229               $parseInfos[]=array($module, $action, '!^'.$regexppath.'$!', $listparam, $escapes, $liststatics, $actionOverride ); 
    223                $createUrlInfos[$module.'~'.$action.'@'.$requestType] = array(1,$urlep, $urlhttps, $listparam, $escapes,$path, false); 
     230               $cuisel = $module.'~'.$action.'@'.$requestType; 
     231               $arr = array(1,$urlep, $urlhttps, $listparam, $escapes,$path, false, $liststatics); 
     232               if(isset($createUrlInfos[$cuisel])){ 
     233                    if($createUrlInfos[$cuisel][0] == 4){ 
     234                        $createUrlInfos[$cuisel][] = $arr; 
     235                    }else{ 
     236                        $createUrlInfos[$cuisel] = array( 4, $createUrlInfos[$cuisel] , $arr); 
     237                    } 
     238               }else{ 
     239                   $createUrlInfos[$cuisel] = $arr; 
     240               } 
    224241               if($actionOverride){ 
    225242                  foreach($actionOverride as $ao){ 
    226                      $createUrlInfos[$module.'~'.$ao.'@'.$requestType] = array(1,$urlep, $urlhttps, $listparam, $escapes,$path, true); 
     243                     $cuisel = $module.'~'.$ao.'@'.$requestType; 
     244                     $arr = array(1,$urlep, $urlhttps, $listparam, $escapes,$path, true, $liststatics); 
     245                     if(isset($createUrlInfos[$cuisel])){ 
     246                        if($createUrlInfos[$cuisel][0] == 4){ 
     247                            $createUrlInfos[$cuisel][] = $arr; 
     248                        }else{ 
     249                            $createUrlInfos[$cuisel] = array( 4, $createUrlInfos[$cuisel] , $arr); 
     250                        } 
     251                     }else{ 
     252                        $createUrlInfos[$cuisel] = $arr; 
     253                     } 
    227254                  } 
    228255               } 
  • trunk/lib/jelix/plugins/urls/significant/jSignificantUrlsCompiler.class.php

    r482 r498  
    55* @author      Laurent Jouanneau 
    66* @contributor 
    7 * @copyright   2005-2006 Laurent Jouanneau 
     7* @copyright   2005-2007 Laurent Jouanneau 
    88* @link        http://www.jelix.org 
    99* @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html 
    1010* 
    1111*/ 
    12  
    1312 
    1413/** 
     
    4847 
    4948            où 
    50             $isDefault : indique si c'est un point d'entrée par défaut, et donc si le parser ne trouve rien, si il ignore ou fait une erreur 
     49            $isDefault : indique si c'est un point d'entrée par défaut, et donc si le parser ne trouve rien, 
     50                            si il ignore ou fait une erreur 
    5151 
    5252            $infoparser = array('module','action','selecteur handler') 
     
    6969                        array(true, false..), // valeur des escapes 
    7070                        "/news/%1/%2/%3/%4-%5", // forme de l'url 
     71                        array('bla'=>'cequejeveux' ) // tableau des valeurs statiques, pour comparer  
     72                                                     quand il y a plusieurs urls vers la même action 
    7173                        ) 
     74                   quand il y a plusieurs urls vers la même action, il y a plutôt un tableau contenant 
     75                    plusieurs tableaux du type précédent 
     76                    array( 4, array(1,...), array(1,...)...) 
     77 
    7278                  ou 
    7379                  array(2,'entrypoint', https true/false, entrypoint true/false ); pour les clés du type "@request" 
     
    7783        $typeparam = array('string'=>'([^\/]+)','char'=>'([^\/])', 'letter'=>'(\w)', 
    7884           'number'=>'(\d+)', 'int'=>'(\d+)', 'integer'=>'(\d+)', 'digit'=>'(\d)', 
    79            'date'=>'([0-2]\d{3}\-(?:0[1-9]|1[0-2])\-(?:[0-2][1-9]|3[0-1]))', 'year'=>'([0-2]\d{3})', 'month'=>'(0[1-9]|1[0-2])', 'day'=>'([0-2][1-9]|[1-2]0|3[0-1])' 
     85           'date'=>'([0-2]\d{3}\-(?:0[1-9]|1[0-2])\-(?:[0-2][1-9]|3[0-1]))',  
     86            'year'=>'([0-2]\d{3})', 'month'=>'(0[1-9]|1[0-2])', 'day'=>'([0-2][1-9]|[1-2]0|3[0-1])' 
    8087           ); 
    8188        $createUrlInfos=array(); 
     
    221228               } 
    222229               $parseInfos[]=array($module, $action, '!^'.$regexppath.'$!', $listparam, $escapes, $liststatics, $actionOverride ); 
    223                $createUrlInfos[$module.'~'.$action.'@'.$requestType] = array(1,$urlep, $urlhttps, $listparam, $escapes,$path, false); 
     230               $cuisel = $module.'~'.$action.'@'.$requestType; 
     231               $arr = array(1,$urlep, $urlhttps, $listparam, $escapes,$path, false, $liststatics); 
     232               if(isset($createUrlInfos[$cuisel])){ 
     233                    if($createUrlInfos[$cuisel][0] == 4){ 
     234                        $createUrlInfos[$cuisel][] = $arr; 
     235                    }else{ 
     236                        $createUrlInfos[$cuisel] = array( 4, $createUrlInfos[$cuisel] , $arr); 
     237                    } 
     238               }else{ 
     239                   $createUrlInfos[$cuisel] = $arr; 
     240               } 
    224241               if($actionOverride){ 
    225242                  foreach($actionOverride as $ao){ 
    226                      $createUrlInfos[$module.'~'.$ao.'@'.$requestType] = array(1,$urlep, $urlhttps, $listparam, $escapes,$path, true); 
     243                     $cuisel = $module.'~'.$ao.'@'.$requestType; 
     244                     $arr = array(1,$urlep, $urlhttps, $listparam, $escapes,$path, true, $liststatics); 
     245                     if(isset($createUrlInfos[$cuisel])){ 
     246                        if($createUrlInfos[$cuisel][0] == 4){ 
     247                            $createUrlInfos[$cuisel][] = $arr; 
     248                        }else{ 
     249                            $createUrlInfos[$cuisel] = array( 4, $createUrlInfos[$cuisel] , $arr); 
     250                        } 
     251                     }else{ 
     252                        $createUrlInfos[$cuisel] = $arr; 
     253                     } 
    227254                  } 
    228255               } 
  • trunk/lib/jelix/plugins/urls/significant/significant.urls.php

    r482 r498  
    279279        $urlinfo = null; 
    280280        if (isset ($this->dataCreateUrl [$id])){ 
    281             $urlinfo = &$this->dataCreateUrl[$id]; 
     281            $urlinfo = $this->dataCreateUrl[$id]; 
    282282            $url->delParam('module'); 
    283283            $url->delParam('action'); 
     
    285285            $id = $module.'~*@'.$urlact->requestType; 
    286286            if (isset ($this->dataCreateUrl [$id])){ 
    287                 $urlinfo = &$this->dataCreateUrl[$id]; 
     287                $urlinfo = $this->dataCreateUrl[$id]; 
    288288                $url->delParam('module'); 
    289289            }else{ 
    290290                $id = '@'.$urlact->requestType; 
    291291                if (isset ($this->dataCreateUrl [$id])){ 
    292                     $urlinfo = &$this->dataCreateUrl[$id]; 
     292                    $urlinfo = $this->dataCreateUrl[$id]; 
    293293                }else{ 
    294294                    throw new Exception("Significant url engine doesn't find corresponding url to this action :".$module.'~'.$action.'@'.$urlact->requestType); 
     
    309309            array(2,'entrypoint', https true/false, entrypoint true/false); pour les clés du type "@request" 
    310310            array(3,'entrypoint', https true/false, entrypoint true/false); pour les clés du type "module~@request" 
    311  
     311            array(4, array(1,..), array(1,..)...); 
    312312        */ 
     313        if($urlinfo[0]==4){ 
     314            $l = count($urlinfo); 
     315            $urlinfofound = null; 
     316            for($i=1; $i < $l; $i++){ 
     317                $ok = true; 
     318                foreach($urlinfo[$i][7] as $n=>$v){ 
     319                    if($url->getParam($n,'') != $v){ 
     320                        $ok = false; 
     321                        break; 
     322                    } 
     323                } 
     324                if($ok){ 
     325                    $urlinfofound = $urlinfo[$i]; 
     326                    break; 
     327                } 
     328            } 
     329            if($urlinfofound !== null){ 
     330                $urlinfo = $urlinfofound; 
     331            }else{ 
     332                $urlinfo = $urlinfo[1]; 
     333            } 
     334        } 
    313335 
    314336        $url->scriptName = $GLOBALS['gJConfig']->urlengine['basePath'].$urlinfo[1]; 
     
    356378            if($urlinfo[6]) 
    357379                $url->setParam('action',$action); 
    358  
     380            // removed parameters corresponding to static values 
     381            foreach($urlinfo[7] as $name=>$value){ 
     382                $url->delParam($name); 
     383            } 
    359384        }elseif($urlinfo[0]==3){ 
    360385            $url->delParam('module'); 
  • trunk/lib/jelix/plugins/urls/significant/significant.urls.php

    r482 r498  
    279279        $urlinfo = null; 
    280280        if (isset ($this->dataCreateUrl [$id])){ 
    281             $urlinfo = &$this->dataCreateUrl[$id]; 
     281            $urlinfo = $this->dataCreateUrl[$id]; 
    282282            $url->delParam('module'); 
    283283            $url->delParam('action'); 
     
    285285            $id = $module.'~*@'.$urlact->requestType; 
    286286            if (isset ($this->dataCreateUrl [$id])){ 
    287                 $urlinfo = &$this->dataCreateUrl[$id]; 
     287                $urlinfo = $this->dataCreateUrl[$id]; 
    288288                $url->delParam('module'); 
    289289            }else{ 
    290290                $id = '@'.$urlact->requestType; 
    291291                if (isset ($this->dataCreateUrl [$id])){ 
    292                     $urlinfo = &$this->dataCreateUrl[$id]; 
     292                    $urlinfo = $this->dataCreateUrl[$id]; 
    293293                }else{ 
    294294                    throw new Exception("Significant url engine doesn't find corresponding url to this action :".$module.'~'.$action.'@'.$urlact->requestType); 
     
    309309            array(2,'entrypoint', https true/false, entrypoint true/false); pour les clés du type "@request" 
    310310            array(3,'entrypoint', https true/false, entrypoint true/false); pour les clés du type "module~@request" 
    311  
     311            array(4, array(1,..), array(1,..)...); 
    312312        */ 
     313        if($urlinfo[0]==4){ 
     314            $l = count($urlinfo); 
     315            $urlinfofound = null; 
     316            for($i=1; $i < $l; $i++){ 
     317                $ok = true; 
     318                foreach($urlinfo[$i][7] as $n=>$v){ 
     319                    if($url->getParam($n,'') != $v){ 
     320                        $ok = false; 
     321                        break; 
     322                    } 
     323                } 
     324                if($ok){ 
     325                    $urlinfofound = $urlinfo[$i]; 
     326                    break; 
     327                } 
     328            } 
     329            if($urlinfofound !== null){ 
     330                $urlinfo = $urlinfofound; 
     331            }else{ 
     332                $urlinfo = $urlinfo[1]; 
     333            } 
     334        } 
    313335 
    314336        $url->scriptName = $GLOBALS['gJConfig']->urlengine['basePath'].$urlinfo[1]; 
     
    356378            if($urlinfo[6]) 
    357379                $url->setParam('action',$action); 
    358  
     380            // removed parameters corresponding to static values 
     381            foreach($urlinfo[7] as $name=>$value){ 
     382                $url->delParam($name); 
     383            } 
    359384        }elseif($urlinfo[0]==3){ 
    360385            $url->delParam('module'); 
  • trunk/testapp/modules/jelix_tests/tests/core.urls_generation.html.php

    r468 r498  
    4747            try{ 
    4848                $url = jUrl::get($urldata[0], $urldata[1]); 
    49                 $this->assertTrue( ($url == $trueResult[$k]), 'url attendue='.$trueResult[$k].'   url créée='.$url ); 
     49                $this->assertTrue( ($url == $trueResult[$k]), 'url '.$k.' attendue='.$trueResult[$k].'   url créée='.$url ); 
    5050            }catch(jExceptionSelector $e){ 
    5151                $this->assertTrue(false,'jExceptionSelector: '.$e->getMessage().' ('.$e->getLocaleKey().')'); 
     
    233233      $urlList[]= array('jelix_tests~urlsig_url12', array('rubrique'=>'bricolage',  'id_article'=>'53')); 
    234234      $urlList[]= array('jelix_tests~urlsig_url13', array('rubrique'=>'alimentation',  'id_article'=>'26')); 
     235      $urlList[]= array('jelix_tests~urlsig_url20', array('mois'=>'08',  'annee'=>'2007','lang'=>'en_EN')); 
     236      $urlList[]= array('jelix_tests~urlsig_url20', array('mois'=>'08',  'annee'=>'2007','lang'=>'fr_FR')); 
     237      $urlList[]= array('jelix_tests~urlsig_url20', array('mois'=>'08',  'annee'=>'2007')); 
    235238 
    236239      $trueResult=array( 
     
    249252          "/index.php/shop/bricolage/53/", 
    250253          "/index.php/supershop/alimentation?id_article=26", 
     254          "/index.php/articles/en/2007/08", 
     255          "/index.php/articles/fr/2007/08", 
     256          "/index.php/articles/fr/2007/08", 
    251257       ); 
    252258 
     
    271277          "/index/shop/bricolage/53/", 
    272278          "/index/supershop/alimentation?id_article=26", 
     279          "/index/articles/en/2007/08", 
     280          "/index/articles/fr/2007/08", 
     281          "/index/articles/fr/2007/08", 
    273282       ); 
    274283      $trueResult[11]='https://'.$_SERVER['HTTP_HOST'].$trueResult[11]; 
  • trunk/testapp/modules/jelix_tests/tests/core.urls_generation.html.php

    r468 r498  
    4747            try{ 
    4848                $url = jUrl::get($urldata[0], $urldata[1]); 
    49                 $this->assertTrue( ($url == $trueResult[$k]), 'url attendue='.$trueResult[$k].'   url créée='.$url ); 
     49                $this->assertTrue( ($url == $trueResult[$k]), 'url '.$k.' attendue='.$trueResult[$k].'   url créée='.$url ); 
    5050            }catch(jExceptionSelector $e){ 
    5151                $this->assertTrue(false,'jExceptionSelector: '.$e->getMessage().' ('.$e->getLocaleKey().')'); 
     
    233233      $urlList[]= array('jelix_tests~urlsig_url12', array('rubrique'=>'bricolage',  'id_article'=>'53')); 
    234234      $urlList[]= array('jelix_tests~urlsig_url13', array('rubrique'=>'alimentation',  'id_article'=>'26')); 
     235      $urlList[]= array('jelix_tests~urlsig_url20', array('mois'=>'08',  'annee'=>'2007','lang'=>'en_EN')); 
     236      $urlList[]= array('jelix_tests~urlsig_url20', array('mois'=>'08',  'annee'=>'2007','lang'=>'fr_FR')); 
     237      $urlList[]= array('jelix_tests~urlsig_url20', array('mois'=>'08',  'annee'=>'2007')); 
    235238 
    236239      $trueResult=array( 
     
    249252          "/index.php/shop/bricolage/53/", 
    250253          "/index.php/supershop/alimentation?id_article=26", 
     254          "/index.php/articles/en/2007/08", 
     255          "/index.php/articles/fr/2007/08", 
     256          "/index.php/articles/fr/2007/08", 
    251257       ); 
    252258 
     
    271277          "/index/shop/bricolage/53/", 
    272278          "/index/supershop/alimentation?id_article=26", 
     279          "/index/articles/en/2007/08", 
     280          "/index/articles/fr/2007/08", 
     281          "/index/articles/fr/2007/08", 
    273282       ); 
    274283      $trueResult[11]='https://'.$_SERVER['HTTP_HOST'].$trueResult[11]; 
  • trunk/testapp/modules/jelix_tests/tests/core.urls_parsing.html.php

    r468 r498  
    7171      $resultList[]= array('module'=>'jelix_tests', 'action'=>'urlsig_url13', 'rubrique'=>'alimentation'); 
    7272      $resultList[]= array('module'=>'jelix_tests', 'action'=>'urlsig_url13', 'rubrique'=>'chaussures'); 
     73      $resultList[]= array('module'=>'jelix_tests', 'action'=>'urlsig_url20', 'mois'=>'08',  'annee'=>'2007','lang'=>'en_EN'); 
     74      $resultList[]= array('module'=>'jelix_tests', 'action'=>'urlsig_url20', 'mois'=>'08',  'annee'=>'2007','lang'=>'fr_FR'); 
    7375 
    7476      $request=array( 
     
    8587          array("index.php","/supershop/alimentation",array()), 
    8688          array("index.php","/supershop/chaussures",array()), 
    87  
     89          array("index.php","/articles/en/2007/08",array()), 
     90          array("index.php","/articles/fr/2007/08",array()), 
    8891       ); 
    8992 
     
    114117          array("index","/supershop/alimentation",array()), 
    115118          array("index","/supershop/chaussures",array()), 
     119          array("index","/articles/en/2007/08",array()), 
     120          array("index","/articles/fr/2007/08",array()), 
    116121       ); 
    117122      foreach($request as $k=>$urldata){ 
  • trunk/testapp/modules/jelix_tests/tests/core.urls_parsing.html.php

    r468 r498  
    7171      $resultList[]= array('module'=>'jelix_tests', 'action'=>'urlsig_url13', 'rubrique'=>'alimentation'); 
    7272      $resultList[]= array('module'=>'jelix_tests', 'action'=>'urlsig_url13', 'rubrique'=>'chaussures'); 
     73      $resultList[]= array('module'=>'jelix_tests', 'action'=>'urlsig_url20', 'mois'=>'08',  'annee'=>'2007','lang'=>'en_EN'); 
     74      $resultList[]= array('module'=>'jelix_tests', 'action'=>'urlsig_url20', 'mois'=>'08',  'annee'=>'2007','lang'=>'fr_FR'); 
    7375 
    7476      $request=array( 
     
    8587          array("index.php","/supershop/alimentation",array()), 
    8688          array("index.php","/supershop/chaussures",array()), 
    87  
     89          array("index.php","/articles/en/2007/08",array()), 
     90          array("index.php","/articles/fr/2007/08",array()), 
    8891       ); 
    8992 
     
    114117          array("index","/supershop/alimentation",array()), 
    115118          array("index","/supershop/chaussures",array()), 
     119          array("index","/articles/en/2007/08",array()), 
     120          array("index","/articles/fr/2007/08",array()), 
    116121       ); 
    117122      foreach($request as $k=>$urldata){ 
  • trunk/testapp/var/config/urls.xml

    r468 r498  
    3636           <param name="rubrique" /> 
    3737        </url> 
     38        <url pathinfo="/articles/fr/:annee/:mois" module="jelix_tests" action="urlsig_url20"> 
     39              <param name="annee" escape="true" type="year"/> 
     40              <param name="mois" escape="false" /> 
     41              <static name="lang" value="fr_FR" /> 
     42        </url> 
     43        <url pathinfo="/articles/en/:annee/:mois" module="jelix_tests" action="urlsig_url20"> 
     44              <param name="annee" escape="true" type="year"/> 
     45              <param name="mois" escape="false" /> 
     46              <static name="lang" value="en_EN" /> 
     47        </url> 
    3848    </classicentrypoint> 
    3949    <classicentrypoint name="testnews"> 
  • trunk/testapp/var/config/urls.xml

    r468 r498  
    3636           <param name="rubrique" /> 
    3737        </url> 
     38        <url pathinfo="/articles/fr/:annee/:mois" module="jelix_tests" action="urlsig_url20"> 
     39              <param name="annee" escape="true" type="year"/> 
     40              <param name="mois" escape="false" /> 
     41              <static name="lang" value="fr_FR" /> 
     42        </url> 
     43        <url pathinfo="/articles/en/:annee/:mois" module="jelix_tests" action="urlsig_url20"> 
     44              <param name="annee" escape="true" type="year"/> 
     45              <param name="mois" escape="false" /> 
     46              <static name="lang" value="en_EN" /> 
     47        </url> 
    3848    </classicentrypoint> 
    3949    <classicentrypoint name="testnews"> 
Download in other formats: Unified Diff Zip Archive