Ignore:
Timestamp:
Nov 24, 2017, 4:03:46 PM (3 years ago)
Author:
booz@…
Message:

conserver les id_article avec l'option -c oui

File:
1 edited

Legend:

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

    r104327 r107728  
    1111        // Lettrine avec ital ex : //«~J{e ne suis pas // «C{’est comme la     
    1212        $t = preg_replace("/^([« ~]*\w)\{/Um","{\\1", $t);
    13 
     13       
    1414        // supprimer les insecables sauf dans les nombres,
    1515        // parce que ca prend le chou (?)
    1616        $t = preg_replace(",(\D)~(\D),", '\1 \2', $t);
    17 
     17       
    1818        // resserrer les {}
    1919        $t = preg_replace('/{([.,]+)/', '\1{', $t);
     
    2828        $t = preg_replace(",~ +,", '~', $t);
    2929        $t = preg_replace("/{([?!., ]?)}/", '\1', $t);
    30 
     30       
    3131        $t = preg_replace(",^ +,m", '', $t);
    3232
     
    4646        return $t;
    4747}
    48 
    4948
    5049        // -----------------------------------------------------------------------
     
    518517        global $log;
    519518        global $spip_version_branche ;
    520 
     519       
    521520        $id_rubrique = intval($id_rubrique);
    522521        $id_auteur = $GLOBALS['auteur_session']['id_auteur'];
    523 
     522       
    524523        // Verifier que la rubrique existe et qu'on a le droit d'y ecrire
    525524        if (!$t = sql_fetsel('id_rubrique', 'spip_rubriques', 'id_rubrique='.$id_rubrique)) {
     
    527526                return false;
    528527        }
    529 
     528       
    530529        // Champs d'un article
    531530        include_spip("base/abstract_sql");
    532531        $show = sql_showtable("spip_articles");
    533532        $champs_article = array_keys($show['field']);
    534 
     533       
    535534        // Si $f (chargement zip), on cherche un article du meme $f
    536535        // (valeur stockée dans un champ fichier_source ou à défaut dans le PS)
    537536        // dans la meme rubrique,
    538537        // avec le statut prepa, qui nous appartient, et... on l'ecrase
    539 
     538       
    540539        $champ_source = (in_array("fichier_source", $champs_article)) ? "fichier_source" : "ps" ;
    541540        $source = 'Conversion depuis '.basename($f) ;
    542 
     541       
    543542        // spip 3
    544543        if($spip_version_branche > "3")
     
    562561                        AND aut.id_auteur=".$id_auteur
    563562                        );
    564        
     563               
    565564        if ($t = spip_fetch_array($s)) {
    566565                $id_article = $t['id_article'];
     
    570569                        'id_rubrique='.intval($id_rubrique)
    571570                );
    572 
     571               
    573572                $champs = array(
    574573                        'titre' => $source,
     
    579578                        $champ_source => $source
    580579                        );
    581 
     580               
    582581                // Envoyer aux plugins
    583582                $champs = pipeline('pre_insertion',
     
    589588                        )
    590589                );
    591 
     590               
    592591                $id_article = sql_insertq('spip_articles', $champs);
    593 
     592               
    594593                pipeline('post_insertion',
    595594                        array(
     
    601600                        )
    602601                );
    603 
    604602               
    605603                if ($id_article>0
    606604                AND $id_auteur>0) {
    607 
     605                       
    608606                        // s'ajouter en auteur en spip 2 ou 3
    609607                        if($spip_version_branche > "3")
     
    624622                }
    625623        }
    626 
     624       
    627625        // En cas d'echec de l'insertion
    628626       
     
    631629                return;
    632630        }
    633 
     631       
    634632        // Si on a repere des <ins class='titre'> etc, les inserer
    635633        // dans les bons champs ; note : on choisi <ins> pour eviter les erreurs
     
    648646                }
    649647        }
    650 
    651         // stocker l'id_article en id_source pour permettre le ré-examen des liens [->123]
     648       
     649        // stocker l'id_article recu dans le fichier txt en id_source pour permettre le ré-examen des liens [->123]
    652650        $id_source = $c["id_article"] ;
    653 
    654         // attention les conflits               
     651       
     652        // attention les conflits
    655653        unset($c["id_article"]);
    656654        unset($c["id_secteur"]);
    657655        unset($c["id_rubrique"]);
    658 
     656       
    659657        // 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.
    660658        if (preg_match_all(",<ins[^>]+class='(.*?)'>(.*?)</ins>,ims", $c['texte'], $z, PREG_SET_ORDER)){
     
    674672        if(in_array("id_source", $champs_article))
    675673                $c['id_source'] = $id_source ;
    676 
     674       
    677675        $r = array();
    678676        foreach ($c as $var => $val)
    679677                $r[$var] = trim($val);
    680 
     678       
    681679        //var_dump($r,$id_article);
    682680        //exit ;
    683 
     681       
    684682        sql_updateq("spip_articles", $r, "id_article=" . $id_article);
    685683       
    686684        return $id_article;
    687685}
    688 
    689 
    690 ?>
Note: See TracChangeset for help on using the changeset viewer.