Changeset 67291 in spip-zone


Ignore:
Timestamp:
Oct 30, 2012, 2:14:26 PM (7 years ago)
Author:
cedric@…
Message:

Finalisation de l'outil de migration pour migrer des articles-albums en albums

Location:
_plugins_/albums/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/albums/trunk/formulaires/migrer_albums.php

    r67253 r67291  
    8282
    8383function albums_migrer_articles($where_articles, $where_mots, $refuser){
    84 /*
    85         include_spip("action/editer_evenement");
     84        include_spip("action/editer_objet");
     85        include_spip("action/editer_liens");
    8686
    8787        $where_mots = implode(" AND ",$where_mots);
     
    9090        $res = sql_select("*","spip_articles",$where_articles);
    9191        while ($row = sql_fetch($res)){
     92                // y a-t-il deja un album associe ?
     93                $liens = objet_trouver_liens(array('album'=>'*'),array('article'=>$row['id_article']));
     94                if (!count($liens)
     95                  AND $id_album = objet_inserer('album')){
    9296
    93                 $id_evenement = evenement_inserer($row['id_article']);
    94                 // mettre les champs
    95                 $set = array(
    96                         'date_debut' => $row[$champ_date_debut],
    97                         'date_fin' => $row[$champ_date_fin],
    98                         'titre' => $row['titre'],
    99                         'horaire' => ($horaire?'oui':'non')
    100                 );
    101                 evenement_modifier($id_evenement,$set);
     97                        // associer tout de suite
     98                        objet_associer(array('album'=>$id_album),array('article'=>$row['id_article']));
    10299
    103                 // associer les mots : en sql pour ne pas exploser si plein de mots en base
    104                 $mots = sql_allfetsel('M.id_mot','spip_mots AS M JOIN spip_mots_liens AS L ON (M.id_mot=L.id_mot AND L.objet='.sql_quote('article').')',"id_objet=".intval($row['id_article'])." AND (".$where_mots.")");
    105                 if (count($mots)){
    106                         $insert = array();
    107                         foreach ($mots as $mot){
    108                                 $insert[] = array('id_mot'=>$mot['id_mot'],'objet'=>'evenement','id_objet'=>$id_evenement);
     100                        // titrer et decrire
     101                        $descriptif = array();
     102                        if (strlen($row['chapo']))
     103                                $descriptif[] = $row['chapo'];
     104                        if (strlen($row['texte']))
     105                                $descriptif[] = $row['texte'];
     106                        if (strlen($row['ps']))
     107                                $descriptif[] = $row['ps'];
     108                        $descriptif = implode("\n\n",$descriptif);
     109
     110                        $set = array(
     111                                'titre' => $row['titre'],
     112                                'descriptif' => $descriptif,
     113                        );
     114
     115                        objet_modifier("album",$id_album,$set);
     116
     117                        // ajouter les documents : en sql pour ne pas exploser si plein de docs en base
     118                        $docs = sql_allfetsel('D.id_document','spip_documents AS D JOIN spip_documents_liens AS L ON (D.id_document=L.id_document AND L.objet='.sql_quote('article').')',"id_objet=".intval($row['id_article']));
     119
     120                        if (count($docs)){
     121                                $insert = array();
     122                                foreach ($docs as $doc){
     123                                        $insert[] = array('id_document'=>$doc['id_document'],'objet'=>'album','id_objet'=>$id_album);
     124                                }
     125                                sql_insertq_multi("spip_documents_liens",$insert);
    109126                        }
    110                         sql_insertq_multi("spip_mots_liens",$insert);
     127
     128                        // associer les mots : en sql pour ne pas exploser si plein de mots en base
     129                        $mots = sql_allfetsel('M.id_mot','spip_mots AS M JOIN spip_mots_liens AS L ON (M.id_mot=L.id_mot AND L.objet='.sql_quote('article').')',"id_objet=".intval($row['id_article'])." AND (".$where_mots.")");
     130                        if (count($mots)){
     131                                $insert = array();
     132                                foreach ($mots as $mot){
     133                                        $insert[] = array('id_mot'=>$mot['id_mot'],'objet'=>'album','id_objet'=>$id_album);
     134                                }
     135                                sql_insertq_multi("spip_mots_liens",$insert);
     136                        }
     137
     138                        // publier l'album
     139                        objet_modifier('album',$id_album,array('statut'=>'publie'));
     140
     141                        $nb++;
    111142                }
    112143
     144                // refuser l'article si option demandee
     145                // meme si c'est un article migre un coup avant
     146                if (count($liens) OR $id_album){
     147                        if ($refuser){
     148                                objet_modifier('article',$row['id_article'],array('statut'=>'refuse'));
     149                        }
     150                }
    113151
    114                 // publier l'evenement
    115                 evenement_modifier($id_evenement,array('statut'=>'publie'));
    116 
    117                 $nb++;
    118         }*/
     152        }
    119153
    120154        return $nb;
  • _plugins_/albums/trunk/paquet.xml

    r67249 r67291  
    22        prefix="Albums"
    33        categorie="multimedia"
    4         version="2.0.15"
     4        version="2.0.16"
    55        etat="dev"
    66        compatibilite="[3.0.0;3.0.*]"
  • _plugins_/albums/trunk/prive/squelettes/contenu/configurer_albums.html

    r67253 r67291  
    88        #FORMULAIRE_CONFIGURER_ALBUMS
    99</div>
    10 <div class="ajax todo">
     10<div class="ajax">
    1111        #FORMULAIRE_MIGRER_ALBUMS
    1212</div>
Note: See TracChangeset for help on using the changeset viewer.