/** * Include all object definitions that must be known during a session * and all works needed before session start * * @access private */ function _beforeSessionStart() { parent::_beforeSessionStart(); // needed for the Copix plugins }
/** * @param CopixUrl $urlorigin url à transformer */ function transformUrl($urlorigin) { $url = $urlorigin; // Attention, il faut une copie ici, pas une référence ! (PHP5 -> clone !) /* a) recupere module|desc|action -> obtient les infos pour la creation de l'url b) récupère un à un les parametres indiqués dans params à partir de CopixUrl c) remplace la valeur récupérée dans le result et supprime le paramètre de l'url d) remplace scriptname de CopixUrl par le resultat */ $module = $url->get('module'); if ($module === null) { $module = CopixContext::get(); } $desc = $url->get('desc'); if ($desc === null) { $desc = COPIX_DEFAULT_VALUE_DESC; } $action = $url->get('action'); if ($action === null) { $action = COPIX_DEFAULT_VALUE_ACTION; } $id = $module . '|' . $desc . '|' . $action; //if ($module !== null && isset ($this->scriptnameList[$module])){ // $url->scriptName = $this->scriptnameList[$module]; //} /*$_compile_createUrl = array('test1|default|default'=> array('test',true, array('annee','mois','id'), '/%1/%2/%3','')); */ if (isset($this->dataCreateUrl[$id])) { $urlinfo =& $this->dataCreateUrl[$id]; if ($urlinfo[1]) { $dturl =& $urlinfo[2]; $result = $urlinfo[3]; foreach ($dturl as $k => $param) { $result = str_replace('%' . ($k + 1), $url->get($param), $result); $url->del($param); } $url->pathInfo = $result; } else { $class = $urlinfo[2]; $method = $urlinfo[3]; $file = CopixCoordination::extractFilePath($module . '|' . $class, 'classes', '.url.php'); if ($file) { include_once $file; $obj = new $class(); $url = $obj->{$method}($url); } else { } } // rajouter le suffixe if ($urlinfo[0] != '') { $url->pathInfo .= '.' . $urlinfo[0]; } // indiquer l'entrypoint if ($urlinfo[4] != '') { $url->scriptName = $urlinfo[4]; } } $url->del('module'); $url->del('desc'); $url->del('action'); // vraiment supprimer ? return $url; }