Changeset 81289 in spip-zone


Ignore:
Timestamp:
Mar 10, 2014, 3:33:43 PM (5 years ago)
Author:
cam.lafit@…
Message:

Ajouter des pages même si aucune rubrique n'existe

  • À la création on peut imposer l'id_rubrique en toute circonstance, cela permet de valider le test d'appartenance à une rubrique
  • En l'absence de champ rubrique, le champ_page doit être correctement ajouter, c'est à dire en dessous de {{titre}} ou de {{sous_titre}}
File:
1 edited

Legend:

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

    r79096 r81289  
    2626                )
    2727                {
     28                       
     29                        //On force l'id parent à -1
     30                        //Par principe une page nouvelle ou existante est dans la rubrique parent -1
     31                        $cherche = "/(<input[^>]*name=('|\")id_parent[^>]*>)/is";
     32                        if (!preg_match($recherch,$flux_data)) {
     33                            $cherche = "/(<input[^>]*name=('|\")id_rubrique[^>]*>)/is";
     34                            $remplace = "$1<input type=\"hidden\" name=\"id_parent\" value=\"-1\" />\n";
     35                            $flux['data'] = preg_replace($cherche, $remplace, $flux['data']);
     36                        }
    2837                       
    2938                        // On cherche et remplace l'entete de la page : "modifier la page"
     
    187196        $remplace .= '<input type="text" class="text" name="champ_page" id="id_page" value="'.$value.'" />';
    188197        $remplace .= '</li>';
    189                 $flux['data'] = preg_replace($cherche, $remplace, $flux['data'],1);
    190                 $flux['data'] = preg_replace($cherche, '', $flux['data']);
     198                if (preg_match($cherche,$flux['data'])) {
     199                    $flux['data'] = preg_replace($cherche, $remplace, $flux['data'],1);
     200                    $flux['data'] = preg_replace($cherche, '', $flux['data']);
     201                } else {
     202                    $cherche = "/(<li[^>]*class=('|\")editer editer_soustitre.*?<\/li>)/is";
     203                    if (preg_match($cherche,$flux['data'])) {
     204                    $flux['data'] = preg_replace($cherche,'$1'.$remplace, $flux['data']);
     205                } else {
     206                    $cherche = "/(<li[^>]*class=('|\")editer editer_titre.*?<\/li>)/is";
     207                    $flux['data'] = preg_replace($cherche,'$1'.$remplace, $flux['data']);
     208                }
     209                }
    191210        }
    192211        return $flux;
Note: See TracChangeset for help on using the changeset viewer.