Changeset 113416 in spip-zone


Ignore:
Timestamp:
Jan 14, 2019, 11:54:17 AM (3 months ago)
Author:
booz@…
Message:

pouvoir creer_rubrique_nommee avec un nom de rubrique qui à un / : exemple 1999/06

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/convertisseur/trunk/spip-cli/ConvertisseurImporter.php

    r113337 r113416  
    181181                                               
    182182                                                include_spip("inc/rubriques");
    183                                                 $id_rubrique = creer_rubrique_nommee("$hierarchie", $id_parent);
     183                                               
     184                                                // Les éventuels / sont échappés \/ ; exemple : 1999/1999\/06
     185                                                $hierarchie = preg_replace("`\\\/`","`--**--`", $hierarchie);
     186                                               
     187                                                // rétablir les échapemments
     188                                                // ajout  des échapemments à creer_rubrique_nommee($titre, $id_parent = 0, $serveur = '')
     189                                               
     190                                                $arbo = explode("/", $hierarchie);
     191                                               
     192                                                $id_parent_rubrique = $id_parent ;
     193                                               
     194                                                foreach ($arbo as $titre) {
     195                                                        // retablir les </multi> et autres balises fermantes html
     196                                                        $titre = preg_replace(",<@([a-z][^>]*)>,ims", "</\\1>", $titre);
     197                                                        // rétablir les échapemments \/
     198                                                        $titre = preg_replace(",`--\*\*--`,","/", $titre);
     199                                                       
     200                                                        $r = sql_getfetsel("id_rubrique", "spip_rubriques",
     201                                                                "titre = " . sql_quote($titre) . " AND id_parent=" . intval($id_parent_rubrique),
     202                                                                $groupby = array(), $orderby = array(), $limit = '', $having = array(), $serveur);
     203                                                       
     204                                                        if ($r !== null) {
     205                                                                $id_parent_rubrique = $r;
     206                                                        } else {
     207                                                                $id_rubrique = sql_insertq('spip_rubriques', array(
     208                                                                                'titre' => $titre,
     209                                                                                'id_parent' => $id_parent_rubrique,
     210                                                                                'statut' => 'prepa'
     211                                                                        ), $desc = array(), $serveur);
     212                                                                if ($id_parent_rubrique > 0) {
     213                                                                        $data = sql_fetsel("id_secteur,lang", "spip_rubriques", "id_rubrique=$id_parent_rubrique",
     214                                                                                $groupby = array(), $orderby = array(), $limit = '', $having = array(), $serveur);
     215                                                                        $id_secteur = $data['id_secteur'];
     216                                                                        $lang = $data['lang'];
     217                                                                } else {
     218                                                                        $id_secteur = $id_rubrique;
     219                                                                        $lang = $GLOBALS['meta']['langue_site'];
     220                                                                }
     221                                                               
     222                                                                sql_updateq('spip_rubriques', array('id_secteur' => $id_secteur, "lang" => $lang),
     223                                                                        "id_rubrique=" . intval($id_rubrique), $desc = '', $serveur);
     224                                                               
     225                                                                // pour la recursion
     226                                                                $id_parent_rubrique = $id_rubrique;
     227                                                        }
     228                                                }
     229                                               
     230                                                $id_rubrique = intval($id_parent_rubrique);
    184231                                               
    185232                                                if($descriptif_rubrique OR $texte_rubrique){
Note: See TracChangeset for help on using the changeset viewer.