Changeset 41
- Timestamp:
- 01/16/06 18:32:29 (3 years ago)
- Files:
-
- trunk/lib/jelix/core/jConfig.class.php (modified) (1 diff)
- trunk/lib/jelix/core/jDefaultConfig.lib.php (modified) (1 diff)
- trunk/lib/jelix/core/url/jUrl.class.php (modified) (5 diffs)
- trunk/myapp/var/config/config.classic.ini.php.dist (modified) (1 diff)
- trunk/testapp/var/config/config.classic.ini.php.dist (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/jelix/core/jConfig.class.php
r36 r41 55 55 $config->trustedModules = array_keys($config->modulesPathList); 56 56 } 57 $config->urlengine_specific_entrypoints = array_flip($config->urlengine_specific_entrypoints);57 //$config->urlengine_specific_entrypoints = array_flip($config->urlengine_specific_entrypoints); 58 58 return $config; 59 59 } trunk/lib/jelix/core/jDefaultConfig.lib.php
r35 r41 76 76 'urlengine_specific_entrypoints' => 77 77 array ( 78 //'mymodule' => 'index', 78 'index' => '@classic', 79 'xmlrpc'=> '@xmlrpc', 80 'jsonrpc'=>'@jsonrpc' 79 81 ) 80 82 ); trunk/lib/jelix/core/url/jUrl.class.php
r39 r41 67 67 public $pathInfo = ''; 68 68 69 70 public $requestType =''; 69 71 /** 70 72 * initialise l'objet … … 128 130 // on ne doit pas modifier les donn� de l'url, il nous faut donc un clone 129 131 $urlobj= clone $this; 130 $urlobj->scriptName = 'index.php'; // pour le moment... �ester avec jUrl::getScript($urlobj->getParam('module'),$urlobj->getParam('action')); 131 $engine = & jUrl::getEngine(); 132 if($urlobj->requestType == ''){ 133 $urlobj->requestType = $gJCoord->request->type; 134 } 135 $urlobj->scriptName = self::getScript($urlobj->requestType, $urlobj->getParam('module'),$urlobj->getParam('action')); 136 $engine = & self::getEngine(); 132 137 $engine->create($urlobj); // set path info 133 138 } … … 192 197 * @param array $params associative array with the parameters 193 198 */ 194 static function get ($ dest= null, $params = array (), $forxml = false) {195 if ($ dest=== null){199 static function get ($actSel = null, $params = array (), $forxml = false) { 200 if ($actSel === null){ 196 201 return '/'.$GLOBALS['gJCoord']->request->url_script_path; 197 202 } 198 if($ dest== '@'){203 if($actSel == '@'){ 199 204 $url = new jUrl('',array_merge($GLOBALS['gJCoord']->request->url->params,$params)); 200 205 }else{ 201 202 $url = new jUrl('',array_merge($params,jUrl::getAction ($dest))); 206 $sel = new JSelectorAct($actSel); 207 $params['module'] = $sel->module; 208 $params['action'] = $sel->resource; 209 $url = new jUrl('',$params); 210 $url->requestType= $sel->request; 203 211 } 204 212 … … 254 262 $sel = new JSelectorAct($actionSelector); 255 263 if($sel->isValid()){ 256 return array('module'=>$sel->module, 'action'=>$sel->ressource );264 return array('module'=>$sel->module, 'action'=>$sel->ressource, 'request'=>$sel->request); 257 265 }else{ 258 266 return false; … … 260 268 } 261 269 262 static function getScript($ module,$requestType, $nosuffix=false){270 static function getScript($requestType, $module=null, $action=null, $nosuffix=false){ 263 271 global $gJConfig; 272 static $urlspe = null; 264 273 $script = $gJConfig->urlengine->default_entrypoint; 265 274 266 275 if(count($gJConfig->urlengine_specific_entrypoints)){ 267 $sep = $gJConfig->urlengine_specific_entrypoints; 268 if(isset($sep[$module.'~'.$requestType])){ 269 $script = $sep[$module.'~'.$requestType]; 270 }else if(isset($sep['*~'.$requestType])){ 271 $script = $sep['*~'.$requestType]; 272 }else if(isset($sep[$module])){ 273 $script = $sep[$module]; 276 if($urlspe == null){ 277 $urlspe = array(); 278 foreach($gJConfig->urlengine_specific_entrypoints as $entrypoint=>$sel){ 279 $selectors = preg_split("/[\s,]+/", $sel); 280 foreach($selectors as $sel){ 281 $urlspe[$sel]= $entrypoint; 282 } 283 } 284 } 285 286 $found = false; 287 288 if($action && $action !='' && isset($sep[$module.'~'.$action.'@'.$requestType])){ 289 $script = $sep[$module.'~'.$action.'@'.$requestType]; 290 $found = true; 291 } 292 293 if($module && $module !='' && !$found && isset($sep[$module.'~*@'.$requestType])){ 294 $script = $sep[$module.'~*@'.$requestType]; 295 $found = true; 296 } 297 298 if(!$found && isset($sep['@'.$requestType])){ 299 $script = $sep['@'.$requestType]; 300 $found = true; 274 301 } 275 302 } trunk/myapp/var/config/config.classic.ini.php.dist
r23 r41 68 68 69 69 [urlengine_specific_entrypoints] 70 ;/foo/index.php = "mymodule" 71 ;foo.php = "*~myaction" 70 ; nom_script_sans_suffix = "liste de selecteur d'action s�r�ar un espace" 71 ; selecteurs : 72 ; m~a@r -> pour action "a" du module "m" r�ndant au type de requete "r" 73 ; m~*@r -> pour toute action du module "m" r�ndant au type de requete "r" 74 ; @r -> toute action de tout module r�ndant au type de requete "r" 72 75 76 index = "@classic" 77 xmlrpc = "@xmlrpc" 78 jsonrpc = "@jsonrpc" trunk/testapp/var/config/config.classic.ini.php.dist
r38 r41 68 68 69 69 [urlengine_specific_entrypoints] 70 ;/foo/index.php = "mymodule" 71 ;foo.php = "*~myaction" 70 ; nom_script_sans_suffix = "liste de selecteur s�r�ar un espace" 71 ; selecteurs : 72 ; m~a@r -> pour action a du module m r�ndant au type de requete r 73 ; m~*@r -> pour toute action du module m r�ndant au type de requete r 74 ; @r -> toute action de tout module r�ndant au type de requete r 72 75 76 index = "@classic" 77 xmlrpc = "@xmlrpc" 78 jsonrpc = "@jsonrpc" 79 80
