Changeset 91566 in spip-zone for _plugins_/pages


Ignore:
Timestamp:
Sep 1, 2015, 11:04:56 AM (4 years ago)
Author:
cedric@…
Message:

bugfix : quand le formulaire est en div, il faut etre un peu plus precis dans la preg pour etre sur de ne pas oublier un div fermant

Location:
_plugins_/pages/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/pages/trunk/pages_pipelines.php

    r91117 r91566  
    184184                $erreurs = $args['contexte']['erreurs'];
    185185                // On cherche et remplace l'édition de la rubrique
    186                 $cherche = "/<(li|div)[^>]*class=('|\")editer editer_parent.*?<\/\\1>/is";
    187                 $remplace = '<\\1 class="editer editer_page obligatoire'.($erreurs['champ_page'] ? ' erreur' : '').'">';
     186                $cherche = "/(<(li|div)[^>]*class=(?:'|\")editer editer_parent.*?<\/\\2>)\s*(<(li|div)[^>]*class=(?:'|\")editer)/is";
     187                $remplace = '<\\2 class="editer editer_page obligatoire'.($erreurs['champ_page'] ? ' erreur' : '').'">';
    188188                $remplace .= '<input type="hidden" name="id_parent" value="-1" />';
    189189                $remplace .= '<input type="hidden" name="id_rubrique" value="-1" />';
     
    194194                $value = $args['contexte']['champ_page'] ? $args['contexte']['champ_page'] : $args['contexte']['page'];
    195195                $remplace .= '<input type="text" class="text" name="champ_page" id="id_page" value="'.$value.'" />';
    196                 $remplace .= '</\\1>';
    197                 if (preg_match($cherche,$flux['data'])) {
     196                $remplace .= '</\\2>$3';
     197                if (preg_match($cherche,$flux['data'],$m)) {
    198198                        $flux['data'] = preg_replace($cherche, $remplace, $flux['data'],1);
    199199                        $flux['data'] = preg_replace($cherche, '', $flux['data']);
    200200                } else {
    201                         $cherche = "/(<(li|div)[^>]*class=('|\")editer editer_soustitre.*?<\/\\1>)/is";
     201                        $cherche = "/(<(li|div)[^>]*class=(?:'|\")editer editer_soustitre.*?<\/\\2>)\s*(<(li|div)[^>]*class=(?:'|\")editer)/is";
    202202                        if (preg_match($cherche,$flux['data'])) {
    203203                                $flux['data'] = preg_replace($cherche,'$1'.$remplace, $flux['data']);
    204204                        } else {
    205                                 $cherche = "/(<(li|div)[^>]*class=('|\")editer editer_titre.*?<\/\\1>)/is";
     205                                $cherche = "/(<(li|div)[^>]*class=(?:'|\")editer editer_titre.*?<\/\\2>)\s*(<(li|div)[^>]*class=(?:'|\")editer)/is";
    206206                                $flux['data'] = preg_replace($cherche,'$1'.$remplace, $flux['data']);
    207207                        }
  • _plugins_/pages/trunk/paquet.xml

    r90427 r91566  
    22        prefix="pages"
    33        categorie="divers"
    4         version="1.2.9"
     4        version="1.2.10"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.