Changeset 39481 in spip-zone


Ignore:
Timestamp:
Jul 23, 2010, 8:14:56 AM (9 years ago)
Author:
erational@…
Message:

import des mots-clés des articles

Location:
_plugins_/spip2spip
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip2spip/fonds/cfg_spip2spip.html

    r39453 r39481  
    4848 
    4949 
    50   <fieldset><legend>Mots-clés: Import (non fonctionnel pour l'instant...)</legend>
     50  <fieldset><legend>Mots-clés: Import</legend>
    5151  <p>
    5252    <label><input type="checkbox" name="import_mot_article"[ checked="(#ENV{import_mot_article}|!={''}|?{'checked'})"] class="fondl" />Importer les mots-clés des articles</label><br />
     
    5959    <select name="import_mot_groupe">
    6060    <BOUCLE_groupes(GROUPES_MOTS){par titre}{titre !=- spip2spip - }>
    61       <option value="#TITRE"[ selected="(#ENV{import_mot_groupe}|=={#TITRE}|oui)selected"]>#TITRE</option>   
     61      <option value="#ID_GROUPE"[ selected="(#ENV{import_mot_groupe}|=={#ID_GROUPE}|oui)selected"]>#TITRE</option>   
    6262    </BOUCLE_groupes>
    6363    </select>
  • _plugins_/spip2spip/plugin.xml

    r39443 r39481  
    33        <auteur>erational - [erational.org->http://www.erational.org]</auteur>
    44        <licence>GNU/GLP</licence>
    5         <version>2.1</version>
     5        <version>2.2</version>
    66        <etat>dev</etat>
    77        <description>
     
    3636        </pipeline>
    3737        <necessite id="SPIP" version="[2.0.0;]" />
    38         <utilise id="cfg" version="[1.0;]" />
     38        <necessite id="cfg" version="[1.15;]" />
    3939</plugin>
  • _plugins_/spip2spip/spiptospip_fonctions.php

    r39453 r39481  
    2828         return false;
    2929}
     30
     31// -----------------------
     32// Fonctions Parsing
     33// -----------------------
    3034
    3135//
     
    262266}
    263267
     268// -----------------------
     269// Fonctions SQL
     270// -----------------------
     271
    264272//
    265273// recuperer rubrique (normalement uniquement) lié à un mot
     
    313321    return sql_insertq('spip_auteurs',array('nom'=>$name,'statut'=>'1comite'));
    314322}
     323
     324//
     325// insert un mot-cle
     326function spip2spip_insert_mode_article($id_article, $mot_titre, $groupe_titre, $mode_creer_groupe, $id_groupe=-1) {
     327   if ($mode_creer_groupe) {
     328        // groupe existe ?
     329        if ($row = sql_fetsel("id_groupe","spip_groupes_mots","titre=".sql_quote($groupe_titre))) {
     330              $id_groupe = $row['id_groupe'];
     331        } else {
     332            $id_groupe = sql_insertq('spip_groupes_mots',array(
     333                                      'titre'=> $groupe_titre,
     334                                      'tables_liees'=> 'articles',
     335                                      'minirezo' => 'oui',
     336                                      'comite' => 'oui',
     337                                      'forum' => 'non'));
     338        }
     339       
     340   }           
     341       
     342       
     343   if ($id_groupe>0){                   
     344        // mot existe ?
     345        if ($row = sql_fetsel("id_mot","spip_mots","titre=".sql_quote($mot_titre)." AND id_groupe=".intval($id_groupe))) {
     346              $id_mot = $row['id_mot'];
     347        } else {
     348              if ($row = sql_fetsel("titre","spip_groupes_mots","id_groupe=".intval($id_groupe)))
     349                          $type = $row['titre'];
     350              $id_mot = sql_insertq('spip_mots',array(
     351                                      'titre'=> $mot_titre,
     352                                      'id_groupe'=> intval($id_groupe),
     353                                      'type' => $type));                                     
     354        }
     355           
     356        sql_insertq('spip_mots_articles', array(
     357                                      'id_mot'=> intval($id_mot),
     358                                      'id_article'=> intval($id_article)));
     359                   
     360   } else {
     361      spip_log("spip2spip pas de groupe-clé import specifie");
     362   }
     363
     364}
     365
     366
     367// -----------------------
     368// Fonctions de formatage
     369// -----------------------
     370
    315371
    316372//
     
    383439                                          else  $isLicenceInstalled = false;
    384440                               
    385     // si cfg dispo, on charge les valeurs
    386     if (function_exists(lire_config))  {
    387         if (lire_config('spip2spip/import_statut')=="publie") $import_statut = "publie";  else $import_statut = "prop";
    388         if (lire_config('spip2spip/citer_source')=="on") $citer_source=true; else  $citer_source=false;
    389         if (lire_config('spip2spip/email_alerte')=="on") $email_alerte=true; else  $email_alerte=false;
    390         $email_suivi = lire_config('spip2spip/email_suivi');
    391     } else { // sinon valeur par defaut
    392         $import_statut = "prop";         // statut des articles importés: prop(proposé),publie(publié)     
    393         $citer_source = true;
    394         $email_alerte = true;
    395         $email_suivi = $GLOBALS['meta']['adresse_suivi']; // adresse de suivi editorial
    396     }
     441    // on charge les valeurs de CFG
     442    if (lire_config('spip2spip/import_statut')=="publie") $import_statut = "publie";  else $import_statut = "prop";
     443    if (lire_config('spip2spip/citer_source')=="on") $citer_source=true; else  $citer_source=false;
     444    if (lire_config('spip2spip/email_alerte')=="on") $email_alerte=true; else  $email_alerte=false;
     445    if (lire_config('spip2spip/email_suivi')!="")
     446                   $email_suivi = lire_config('spip2spip/email_suivi');
     447              else $email_suivi = $GLOBALS['meta']['adresse_suivi']; // adresse de suivi editorial
     448    if (lire_config('spip2spip/import_mot_article')=="on")  $import_mot_article=true; else  $import_mot_article=false;
     449    if (lire_config('spip2spip/import_mot_groupe_creer')=="oui")  $import_mot_groupe_creer=true; else  $import_mot_groupe_creer=false;
     450    if (lire_config('spip2spip/import_mot_groupe'))  $id_import_mot_groupe = (int) lire_config('spip2spip/import_mot_groupe');
     451                                                else $id_import_mot_groupe = -1;
    397452   
    398453    //-------------------------------
     
    551606                     
    552607                      // etape 3 - traitement des mots de l'article
    553                       $_mots = $article['mots'];
    554                       if ($_mots!="") {
     608                      $_mots = $article['mots'];                      
     609                      if ($_mots!="" && $import_mot_article) {
    555610                        $_mots = unserialize($_mots);                 
    556                         foreach($_mots as $_mot) {                    
     611                        foreach($_mots as $_mot) {                   
    557612                            $groupe = $_mot['groupe'];                           
    558                             $titre  = $_mot['titre'];
    559                             spip_log(">...mot: $titre (groupe: $groupe)");                   
     613                            $titre  = $_mot['titre'];                            
     614                            spip2spip_insert_mode_article($id_nouvel_article, $titre, $groupe, $import_mot_groupe_creer, $id_import_mot_groupe);                                              
    560615                        }
    561616                      }
Note: See TracChangeset for help on using the changeset viewer.