/** * Calculer une URL à partir d'un nom de fond. * * @param string fond le nom du fond * @param string parametres les parametres éventuels à ajouter à l'URL * @param boolean escape si true, on sépoare l'URL et les paramètres par &. Si false, par '&' */ function urlfond($fond = "", $parametres = false, $escape = false) { $urlsite = urlsite(); if (!empty($fond)) { if (Variable::lire("rewrite") != 0) { // Trouver une éventuelle reecriture $rw = new Reecriture(); if ($rw->charger_param($fond, $parametres == false ? '' : "&" . $parametres, ActionsLang::instance()->get_id_langue_courante(), 1)) { return "{$urlsite}/{$rw->url}"; } } $urlsite = sprintf("%s/?fond=%s", $urlsite, $fond); } if ($parametres !== false) { if ($escape) { $parametres = escape_ampersand($parametres); } $urlsite .= ($escape ? "&" : "&") . $parametres; } return $urlsite; }
if ($redir->charger_param($reecriture->fond, $reecriture->param, $reecriture->lang, 1)) { header("HTTP/1.1 301 Moved Permanently"); redirige(urlsite($reecriture->lang) . "/" . $redir->url); } } // Si un changement de langue est demandé if (isset($_GET['lang'])) { // Rediriger vers l'URL dans cette langue, si elle existe $redir = new Reecriture(); if ($redir->charger_param($reecriture->fond, $reecriture->param, $lang, 1)) { header("HTTP/1.1 301 Moved Permanently"); redirige(urlsite($lang) . "/" . $redir->url); } } else { $urlcurr = urlsite($lang); $urlnext = urlsite($reecriture->lang); if ($urlcurr != $urlnext) { // URLs différentes: rediriger vers le domaine spécifique de la langue. redirige($urlnext . '/' . $reecriture->url); } else { // Mêmes URLs => fixer la langue courante est celle définie par l'URL ré-écrite, inutile de rediriger. $lang = $reecriture->lang; } } $fond = $reecriture->fond; switch ($fond) { case 'rubrique': $_REQUEST['fond'] = 'rubrique'; $_REQUEST['id_rubrique'] = $id_rubrique = lireVarUrl("id_rubrique", $reecriture->param); break; case 'produit':
/** * @return string l'URL de base d'accès au dossier plugins */ public function lire_url_base() { return rtrim(urlsite(), '/') . "/client/plugins"; }