Changeset 95764 in spip-zone


Ignore:
Timestamp:
Mar 4, 2016, 3:07:05 PM (5 years ago)
Author:
booz@…
Message:

gérer les champs supplémentaires (extra)

Location:
_plugins_/convertisseur/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/convertisseur/trunk/inc/convertisseur.php

    r95737 r95764  
    641641                }
    642642        }
    643                
    644         // Si des <ins> qui ne correspondent pas à des champs connus sont toujours là on les ajoute ostensiblement en haut du texte.
     643
     644        // Si des <ins> qui ne correspondent pas à des champs connus sont toujours là on les ajoute dans le champs metadonnees ou a défaut ostensiblement en haut du texte.
    645645        if (preg_match_all(",<ins[^>]+class='(.*?)'>(.*?)</ins>,ims", $c['texte'], $z, PREG_SET_ORDER)){
    646646                foreach($z as $d){
    647                         $c['texte'] = "@@" . strtoupper($d[1]) . "\n" . $d[2] . "\n\n" . $c['texte'] ;
    648                         $c['texte'] = substr_replace($c['texte'], '', strpos($c['texte'], $d[0]), strlen($d[0]));
     647                        if(!in_array("metadonnees", $champs)){
     648                                $c['texte'] = "@@" . strtoupper($d[1]) . "\n" . $d[2] . "\n\n" . $c['texte'] ;
     649                                $c['texte'] = substr_replace($c['texte'], '', strpos($c['texte'], $d[0]), strlen($d[0]));
     650                        }else{
     651                                $c['metadonnees'] = $d[0] . "\n\n" . $c['metadonnees'] ;
     652                                $c['texte'] = substr_replace($c['texte'], '', strpos($c['texte'], $d[0]), strlen($d[0]));
     653                        }
    649654                }
    650655        }
  • _plugins_/convertisseur/trunk/spip-cli/fichiersImporter.php

    r95753 r95764  
    44
    55Importer en masse des fichiers txt dans spip_articles.
     6
     7Pour ajouter des champs à la rache :
     8// sql_query("alter table spip_articles add signature MEDIUMTEXT NOT NULL DEFAULT ''");
     9
    610
    711*/
     
    6973                        // Si c'est bon on continue
    7074                        else{
    71                                                                
     75                               
     76                                // Champs d'un article
     77                                include_spip("base/abstract_sql");
     78                                $show = sql_showtable("spip_articles");
     79                                $champs = array_keys($show['field']);
     80
     81                                /*
     82                                if(!in_array('signature', $champs))
     83                                        sql_query("alter table spip_articles add signature MEDIUMTEXT NOT NULL DEFAULT ''");
     84                               
     85                                if(!in_array('pages', $champs))
     86                                        sql_query("alter table spip_articles add pages TINYTEXT NOT NULL DEFAULT ''");
     87
     88                                if(!in_array('free', $champs))
     89                                        sql_query("alter table spip_articles add pages TINYTEXT NOT NULL DEFAULT ''");
     90                                */
     91                               
     92                                // Ajout d'un champs pour stocker les éventuelles ins sans champs.
     93                                if(!in_array('metadonnees', $champs))
     94                                        sql_query("alter table spip_articles add metadonnees MEDIUMTEXT NOT NULL DEFAULT ''");
     95                       
    7296                                $fichiers = preg_files($source . "/", "(?:(?<!\.metadata\.)txt$)", 100000);
    7397
     
    76100                                $progress->setBarWidth(100);
    77101                                $progress->setRedrawFrequency(1);
    78                                 $progress->setMessage(" Import de $source/*.txt en cours dans la rubrique $id_parent ... ", 'message');
     102                                $progress->setMessage(" Import de $source/*.txt en cours dans la rubrique $id_parent ... ", 'message'); /**/ 
    79103                                $progress->setMessage("", 'inforub');
    80104                                $progress->start();
     
    95119                                        $texte = preg_replace("/@@COLLECTION.*/", "", $texte);
    96120                                        $texte = preg_replace("/@@SOURCE.*/", "", $texte);
     121                                       
    97122                                                                               
    98123                                        // faut il creer des rubriques ?
Note: See TracChangeset for help on using the changeset viewer.