Changeset 97892 in spip-zone


Ignore:
Timestamp:
May 19, 2016, 5:20:43 PM (4 years ago)
Author:
booz@…
Message:

permettre des attributs dans les ins

Location:
_plugins_/convertisseur/trunk
Files:
2 edited

Legend:

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

    r95906 r97892  
    636636       
    637637        foreach ($champs_article as $champ) {
    638                 if (preg_match(",<ins class='$champ'>(.*?)</ins>\n*,ims", $texte, $r)
     638                if (preg_match(",<ins class='$champ'[^>]*?>(.*?)</ins>\n*,ims", $texte, $r)
    639639                AND strlen($x = trim($r[1]))
    640640                AND $champ != "texte"
  • _plugins_/convertisseur/trunk/spip-cli/convertisseurImporter.php

    r96154 r97892  
    6262                $racine_documents = $input->getOption('racine_documents') ;             
    6363                               
    64                 // Répertoire source, ou arrivent les fichiers Quark (/exports_quark par défaut).
     64                // Répertoire source
    6565                if(!is_dir($source)){
    6666                        $output->writeln("<error>Préciser le répertoire avec les fichiers à importer. spip import -s repertoire </error>\n");
     
    9999
    100100                                if(!in_array('free', $champs))
    101                                         sql_query("alter table spip_articles add pages TINYTEXT NOT NULL DEFAULT ''");
     101                                        sql_query("alter table spip_articles add free TINYTEXT NOT NULL DEFAULT ''");
    102102                                */
    103103                               
    104104                                // Ajout d'un champ la premiere fois pour stocker les éventuelles ins qui n'ont pas de champs (peut-être long).
    105                                 if(!in_array('metadonnees', $champs))
     105                                if(!in_array('metadonnees', $champs)){
     106                                        $output->writeln("MAJ BDD : alter table spip_articles add metadonnees MEDIUMTEXT NOT NULL DEFAULT ''");
    106107                                        sql_query("alter table spip_articles add metadonnees MEDIUMTEXT NOT NULL DEFAULT ''");
    107 
     108                                }
    108109                                // Ajout d'un champ la premiere fois pour stocker l'id_article original (pour ensuite remapper les liens [->123]).
    109                                 if(!in_array('id_source', $champs))
     110                                if(!in_array('id_source', $champs)){
     111                                        $output->writeln("MAJ BDD : alter table spip_articles add id_source BIGINT(21) NOT NULL DEFAULT ''");
    110112                                        sql_query("alter table spip_articles add id_source BIGINT(21) NOT NULL DEFAULT ''");
    111 
     113                                }
    112114                                // Ajout d'un champ la premiere fois pour stocker le nom du fichier source, pour reconnaitre un article déjà importé.
    113                                 if(!in_array('fichier_source', $champs))
     115                                if(!in_array('fichier_source', $champs)){
     116                                        $output->writeln("MAJ BDD : alter table spip_articles add fichier_source MEDIUMTEXT NOT NULL DEFAULT ''");
    114117                                        sql_query("alter table spip_articles add fichier_source MEDIUMTEXT NOT NULL DEFAULT ''");
    115 
     118                                }
     119                                // on prends tous les fichiers txt dans la source, sauf si metadata.txt a la fin.
    116120                                $fichiers = preg_files($source . "/", "(?:(?<!\.metadata\.)txt$)", 100000);
    117121
     
    150154                                       
    151155                                       
    152                                         // Si des <ins> qui correspondent à des champs metadonnees connus, on les ajoute.
     156                                        // Si des <ins> correspondent à des champs metadonnees connus, on les ajoute.
    153157                                        $champs_metadonnees = array("mots_cles", "auteurs", "hierarchie", "documents");
    154158                                        $hierarchie = "" ;
     
    157161                                        $documents = "" ;                                       
    158162
    159                                         if (preg_match_all(",<ins[^>]+class='(.*?)'>(.*?)</ins>,ims", $texte, $z, PREG_SET_ORDER)){
     163                                        if (preg_match_all(",<ins[^>]+class='(.*?)'[^>]*?>(.*?)</ins>,ims", $texte, $z, PREG_SET_ORDER)){
    160164                                                foreach($z as $d){
    161165                                                        if(in_array($d[1], $champs_metadonnees)){
     
    176180                                                $titre_rubrique = $hierarchie[1] ;
    177181
    178                                                 $titre_rubrique = preg_replace(",^(\d{4})/(\d{2})$,", "\\2", $titre_rubrique); // perso diplo
     182                                                $titre_rubrique = preg_replace(",^(\d{4})(?:/|-)(\d{2})$,", "\\2", $titre_rubrique); // perso diplo 2006/02 => 02 ou 2006-02 => 02
    179183
    180184                                        }else{
Note: See TracChangeset for help on using the changeset viewer.