Ejemplo n.º 1
0
function substitutions($texte)
{
    global $fond, $action;
    $texte = str_replace("#FOND", $fond, $texte);
    $texte = str_replace("#ACTION", $action, $texte);
    $texte = str_replace("#URLPREC", $_SESSION['navig']->urlprec, $texte);
    $texte = str_replace("#URLPAGERET", $_SESSION['navig']->urlpageret, $texte);
    $texte = str_replace("#URLPANIER", urlfond("panier"), $texte);
    $texte = str_replace("#URLCOMMANDER", urlfond("commande"), $texte);
    $texte = str_replace("#URLNOUVEAU", urlfond("nouveau"), $texte);
    // Supprimer l'éventuel paramètre de déconnexion, en, préservant les éventuels autres.
    $selfurl = supprimer_deconnexion(url_page_courante());
    $parametres = parse_url($selfurl, PHP_URL_QUERY);
    $texte = str_replace("#URLCOURANTEPARAM", $parametres, $texte);
    $texte = str_replace("#URLCOURANTE", escape_ampersand($selfurl), $texte);
    $texte = str_replace("#URLDECONNEXION", escape_ampersand($selfurl . ($parametres != '' ? "&" : "?") . "action=deconnexion"), $texte);
    $texte = str_replace("#URLRECHERCHE", urlfond("recherche"), $texte);
    $texte = str_replace("#URLADRESSE", urlfond("adresse"), $texte);
    $texte = str_replace("#URLPAIEMENT", urlfond("commande"), $texte);
    $texte = str_replace("#URLSOMMAIRE", urlfond(), $texte);
    $texte = str_replace("#URLCOMPTEMODIFIER", urlfond("compte_modifier"), $texte);
    $texte = str_replace("#URLCOMPTE", urlfond("moncompte"), $texte);
    // Substitutions "langue"
    $texte = ActionsLang::instance()->substitutions(ActionsLang::instance()->get_langue_courante(), $texte);
    // Substitutions "devises"
    $texte = ActionsDevises::instance()->substitutions(ActionsDevises::instance()->get_devise_courante(), $texte);
    if (strstr($texte, "#VARIABLE")) {
        $texte = substitvariable($texte);
    }
    if (strstr($texte, "#MESSAGE_")) {
        $texte = substitmessage($texte);
    }
    if (strstr($texte, "#RUBRIQUE_")) {
        $texte = substitrubriques($texte);
    }
    if (strstr($texte, "#PRODUIT_")) {
        $texte = substitproduits($texte);
    }
    if (strstr($texte, "#PANIER_")) {
        $texte = substitpanier($texte);
    }
    if (strstr($texte, "#CLIENT_")) {
        $texte = substitclient($texte);
    }
    if (strstr($texte, "#PAGE_")) {
        $texte = substitpage($texte);
    }
    if (strstr($texte, "#ADRESSE_")) {
        $texte = substitadresse($texte);
    }
    if (strstr($texte, "#COMMANDE_")) {
        $texte = substitcommande($texte);
    }
    if (strstr($texte, "#IMAGE_")) {
        $texte = substitimage($texte);
    }
    if (strstr($texte, "#CARACTERISTIQUE_")) {
        $texte = substitcaracteristique($texte);
    }
    if (strstr($texte, "#DECLINAISON_")) {
        $texte = substitdeclinaison($texte);
    }
    if (strstr($texte, "#DOSSIER_")) {
        $texte = substitdossier($texte);
    }
    if (strstr($texte, "#CONTENU_")) {
        $texte = substitcontenu($texte);
    }
    if (strstr($texte, "#PARRAIN_")) {
        $texte = substitparrain($texte);
    }
    if (strstr($texte, "#PROMO_")) {
        $texte = substitpromo($texte);
    }
    // Traduction du template
    $texte = substitlang($texte);
    if (isset($_GET['errconnex']) && $_GET['errconnex'] == "1") {
        $texte = preg_replace("/\\#ERRCONNEX\\[([^]]*)\\]/", "\\1", $texte);
    } else {
        $texte = preg_replace("/\\#ERRCONNEX\\[([^]]*)\\]/", "", $texte);
    }
    // URL d'un fond, forme: #URLFOND(nom-du-fond)
    if (preg_match_all("`\\#URLFOND\\(([^\\),]+)(:?,([^\\),]+))*\\)`", $texte, $matches, PREG_SET_ORDER)) {
        foreach ($matches as $match) {
            $url = urlfond($match[1], isset($match[2]) ? $match[3] : false, true);
            $texte = str_replace($match[0], $url, $texte);
        }
    }
    // Ajout d'un paramètre à une URL, forme: #AJOUT_PARAMETRE(url,liste-de-paramètres)
    if (preg_match_all("`\\#AJOUTER_PARAMETRE\\(([^\\),]+)(:?,([^\\),]+))*\\)`", $texte, $matches, PREG_SET_ORDER)) {
        foreach ($matches as $match) {
            $url = $match[1];
            if (isset($match[2])) {
                if (strstr($url, '?') !== false) {
                    $url .= "&" . $match[3];
                } else {
                    $url .= "?" . $match[3];
                }
            }
            $texte = str_replace($match[0], $url, $texte);
        }
    }
    $texte = str_replace("index.php", "", $texte);
    return $texte;
}
Ejemplo n.º 2
0
/**
 * 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;
}