Changeset 95830 in spip-zone


Ignore:
Timestamp:
Mar 7, 2016, 4:51:45 PM (5 years ago)
Author:
booz@…
Message:

importation complete

Location:
_plugins_/convertisseur/trunk/spip-cli
Files:
2 edited

Legend:

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

    r95811 r95830  
    121121                                        $titre_rubrique = sql_getfetsel("titre", "spip_rubriques", "id_rubrique=$id_rubrique");
    122122                                        $id_parent = sql_getfetsel("id_parent", "spip_rubriques", "id_rubrique=$id_rubrique");
    123                                         $titre_parent = sql_getfetsel("titre", "spip_rubriques", "id_rubrique=$id_parent");
     123                                        if($id_parent)
     124                                                $titre_parent = sql_getfetsel("titre", "spip_rubriques", "id_rubrique=$id_parent");
    124125                                       
    125126                                        // auteurs spip 3
     
    155156
    156157                                        // documents joints
    157                                         $documents = sql_allfetsel("*", "spip_documents_liens dl, spip_documents d", "dl.id_objet=$id_article and dl.objet='article' and dl.id_document=d.id_document");
     158                                        $documents = sql_allfetsel("*", "spip_documents d", "dl.id_objet=$id_article and dl.objet='article' and dl.id_document=d.id_document");
    158159                                        foreach($documents as $doc)
    159160                                                        $ins_doc[] = json_encode($doc) ;
  • _plugins_/convertisseur/trunk/spip-cli/fichiersImporter.php

    r95812 r95830  
    4141                                '0'
    4242                        )
     43                        ->addOption(
     44                                'racine_documents',
     45                                'r',
     46                                InputOption::VALUE_OPTIONAL,
     47                                'path ajouté devant le `fichier` des documents joints importés',
     48                                ''
     49                        )
    4350                ;
    4451        }
     
    5259               
    5360                $source = $input->getOption('source') ;
    54                 $id_parent = $input->getOption('dest') ;               
     61                $id_parent = $input->getOption('dest') ;
     62                $racine_documents = $input->getOption('racine_documents') ;             
    5563                               
    5664                // Répertoire source, ou arrivent les fichiers Quark (/exports_quark par défaut).
     
    7987                                $show = sql_showtable("spip_articles");
    8088                                $champs = array_keys($show['field']);
     89                               
     90                                $show = sql_showtable("spip_documents");
     91                                $champs_documents = array_keys($show['field']);
    8192
    8293                                /*
     
    155166                                        $id_rubrique = creer_rubrique_nommee("$titre_parent/$titre_rubrique", $id_parent);
    156167                                        $progress->setMessage(" Création de rubrique $titre_parent/$titre_rubrique => $id_rubrique ", 'inforub');
    157                                                                                                                                
     168                                       
     169                                        $progress->setMessage("", 'docs');                                                                                     
    158170                                        $progress->setMessage("", 'mot');
    159171                                        $progress->setMessage("", 'auteur');
     
    180192                                                                                "statut" => "1comite"
    181193                                                                ));
    182                                                                 $progress->setMessage("Création de l'auteur " . $auteur, 'auteur');
     194                                                               
     195                                                                $auteur_m = substr("Création de l'auteur " . $auteur, 0, 100) ;
     196                                                                $progress->setMessage($auteur_m, 'auteur');
    183197                                                                }
    184198                                                       
     
    218232                                                                        "id_groupe" => $id_groupe_mot
    219233                                                                ));
    220                                                                         $progress->setMessage("Création du mot " . $titre_mot . " (" . $type_mot .")", 'mot');
     234                                                                $mot_m = substr("Création du mot " . $titre_mot . " (" . $type_mot .")", 0, 100) ;
     235                                                                        $progress->setMessage($mot_m, 'mot');
    221236                                                                }
    222237
     
    241256                                                        foreach($documents as $doc){
    242257                                                                $d = json_decode($doc, true);
     258                                                                $id_doc = $d['id_document'] ;
     259                                                                unset($d['id_document']);
     260                                                                $d['fichier'] = $racine_documents . $d['fichier'] ;
     261                                                               
     262                                                                // champs ok dans les documents ?
     263                                                                foreach($d as $k => $v)
     264                                                                        if(in_array($k, $champs_documents))
     265                                                                                $document_a_inserer[$k] = $v ;
     266                                                               
     267                                                                // insertion du doc
    243268                                                                $id_document = sql_getfetsel("id_document", "spip_documents", "fichier=" . sql_quote($d['fichier']));
    244                                                                 if(!$id_document){
    245                                                                         $id_doc = $doc['id_document'] ;
    246                                                                         //unset($doc['id_document']);
    247                                                                         //$id_document = sql_insertq("spip_documents", $doc);
     269                                                                if(!$id_document){                                                                     
     270                                                                        $id_document = sql_insertq("spip_documents", $document_a_inserer);
    248271                                                                        $progress->setMessage("Création du document " . $d['titre'] . " (" . $d['fichier'] .")", 'docs');
    249272                                                                }
    250 
    251                                                                 //if(!sql_getfetsel("id_document", "spip_documents_liens", "id_document=$id_document and id_objet=$id_article and objet='article'"))
    252                                                                 //      sql_insertq("spip_documents_liens", array(
    253                                                         //                      "id_document" => $id_document,
    254                                                         //                      "id_objet" => $id_article,
    255                                                         //                      "objet" => "article"
    256                                                         //));
    257                                                                
     273                                                                if($id_document AND !sql_getfetsel("id_document", "spip_documents_liens", "id_document=$id_document and id_objet=$id_article and objet='article'"))
     274                                                                        sql_insertq("spip_documents_liens", array(
     275                                                                                "id_document" => $id_document,
     276                                                                                "id_objet" => $id_article,
     277                                                                                "objet" => "article"
     278                                                        ));
     279                                                       
     280                                                        // modifier le texte qui appelle peut etre un <doc123>
     281                                                        if($id_document){
     282                                                                // ressortir le texte propre...
     283                                                                $texte = sql_getfetsel("texte", "spip_articles", "id_article=$id_article");
     284                                                                $texte = preg_replace("/(<(doc|img|emb))". $id_doc . "/i", "\${1}" . $id_document, $texte);
     285                                                                        sql_update("spip_articles", array("texte" => sql_quote($texte)), "id_article=$id_article");
     286                                                        }
    258287                                                        }
    259288                                                }
Note: See TracChangeset for help on using the changeset viewer.