Skip to content
Extraits de code Groupes Projets
Valider c4cdff8b rédigé par Fil's avatar Fil
Parcourir les fichiers

corrige le bug qui s'était glissé sous #LOGO_xxxxx et qui faisait que le...

corrige le bug qui s'était glissé sous #LOGO_xxxxx et qui faisait que le premier filtre donné après || était jeté à la poubelle
L'origine du bug : un décalage entre $p->fonctions et $p->param pour le filtre "vide" (celui qui est entre les deux pipes de ||)
parent 5860c4c1
Branches
Étiquettes
Aucune requête de fusion associée trouvée
...@@ -489,51 +489,61 @@ function calculer_balise_logo ($p) { ...@@ -489,51 +489,61 @@ function calculer_balise_logo ($p) {
eregi("^LOGO_([A-Z]+)(_.*)?$", $p->nom_champ, $regs); eregi("^LOGO_([A-Z]+)(_.*)?$", $p->nom_champ, $regs);
$type_objet = $regs[1]; $type_objet = $regs[1];
$suite_logo = $regs[2]; $suite_logo = $regs[2];
// cas de #LOGO_SITE_SPIP
if (ereg("^_SPIP(.*)$", $suite_logo, $regs)) { if (ereg("^_SPIP(.*)$", $suite_logo, $regs)) {
$type_objet = 'RUBRIQUE'; $type_objet = 'RUBRIQUE';
$suite_logo = $regs[1]; $suite_logo = $regs[1];
$_id_objet = "\"'0'\""; $_id_objet = "\"'0'\"";
} else { } else {
if ($type_objet == 'SITE') if ($type_objet == 'SITE')
$_id_objet = champ_sql("id_syndic", $p); $_id_objet = champ_sql("id_syndic", $p);
else else
$_id_objet = champ_sql("id_".strtolower($type_objet), $p); $_id_objet = champ_sql("id_".strtolower($type_objet), $p);
} }
// analyser les faux filtres,
// supprimer ceux qui ont le tort d'etre vrais // analyser les faux filtres
$flag_fichier = 0; $flag_fichier = 0;
$filtres = ''; $filtres = '';
if (is_array($p->fonctions)) { if (is_array($p->fonctions)) {
foreach($p->fonctions as $couple) { foreach($p->fonctions as $couple) {
// eliminer les faux filtres
if (!$flag_stop) { if (!$flag_stop) {
array_shift($p->param); $nom = trim($couple[0]);
$nom = $couple[0];
if (ereg('^(left|right|center|top|bottom)$', $nom)) // double || signifie "on passe aux vrais filtres"
$align = $nom; if ($nom == '') {
else if ($nom == 'lien') {
$flag_lien_auto = 'oui';
$flag_stop = true;
}
else if ($nom == 'fichier') {
$flag_fichier = 1;
$flag_stop = true;
}
// double || signifie "on passe aux filtres"
else if ($nom == '') {
if (!$params = $couple[1]) if (!$params = $couple[1])
$flag_stop = true; $flag_stop = true;
}
else if ($nom) {
$lien = $nom;
$flag_stop = true;
} else { } else {
// faux filtres
array_shift($p->param);
switch($nom) {
case 'left':
case 'right':
case 'center':
case 'top':
case 'bottom':
$align = $nom;
break;
case 'lien':
$flag_lien_auto = 'oui';
$flag_stop = true; # apres |lien : vrais filtres
break;
case 'fichier':
$flag_fichier = 1;
$flag_stop = true; # apres |fichier : vrais filtres
break;
default:
$lien = $nom;
$flag_stop = true; # apres |#URL... : vrais filtres
break;
}
} }
} }
// apres un URL ou || ou |fichier ce sont
// des filtres (sauf left...lien...fichier)
} }
} }
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter