Ignore:
Timestamp:
Jan 21, 2011, 6:04:38 PM (10 years ago)
Author:
cedric@…
Message:

[en cours] merge avec le plugin mediatheque (les documents ne sont plus fonctionnels en l'etat, ne pas mettre a jour dans cette version hors contexte developpement)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/medias/medias_pipelines.php

    r43738 r43743  
    4848        return $config;
    4949}
     50
     51
     52function medias_post_edition($flux){
     53        // si on ajoute un document, mettre son statut a jour
     54        if($flux['args']['operation']=='ajouter_document'){
     55                include_spip('action/editer_document');
     56                // mettre a jour le statut si necessaire
     57                instituer_document($flux['args']['id_objet']);
     58        }
     59        // si on institue un objet, mettre ses documents lies a jour
     60        elseif($flux['args']['operation']=='instituer' OR isset($flux['data']['statut'])){
     61                if ($flux['args']['table']!=='spip_documents'){
     62                        // verifier d'abord les doublons !
     63                        $marquer_doublons_doc = charger_fonction('marquer_doublons_doc','inc');
     64                        $marquer_doublons_doc($flux['data'],$flux['args']['id_objet'],$flux['args']['type'],id_table_objet($flux['args']['type'], $flux['args']['serveur']),$flux['args']['table_objet'],$flux['args']['spip_table_objet'], '', $flux['args']['serveur']);
     65                        include_spip('base/abstract_sql');
     66                        $type = objet_type($flux['args']['table']);
     67                        $id = $flux['args']['id_objet'];
     68                        $docs = array_map('reset',sql_allfetsel('id_document','spip_documents_liens','id_objet='.intval($id).' AND objet='.sql_quote($type)));
     69                        include_spip('action/editer_document');
     70                        foreach($docs as $id_document)
     71                                // mettre a jour le statut si necessaire
     72                                instituer_document($id_document);
     73                }
     74        }
     75        else {
     76                if ($flux['args']['table']!=='spip_documents'){
     77                        // verifier les doublons !
     78                        $marquer_doublons_doc = charger_fonction('marquer_doublons_doc','inc');
     79                        $marquer_doublons_doc($flux['data'],$flux['args']['id_objet'],$flux['args']['type'],id_table_objet($flux['args']['type'], $flux['args']['serveur']),$flux['args']['table_objet'],$flux['args']['spip_table_objet'], '', $flux['args']['serveur']);
     80                }
     81        }
     82        return $flux;
     83}
     84
     85// liste des exec avec la colonne document
     86$GLOBALS['medias_exec_colonne_document'][] = 'articles_edit';
     87$GLOBALS['medias_exec_colonne_document'][] = 'breves_edit';
     88$GLOBALS['medias_exec_colonne_document'][] = 'rubriques_edit';
     89
     90function medias_affiche_gauche($flux){
     91        if (in_array($flux['args']['exec'],$GLOBALS['medias_exec_colonne_document'])
     92                AND $table = preg_replace(",_edit$,","",$flux['args']['exec'])
     93                AND $type = objet_type($table)
     94                AND $id_table_objet = id_table_objet($type)
     95                AND ($id = intval($flux['args'][$id_table_objet]) OR $id = 0-$GLOBALS['visiteur_session']['id_auteur'])
     96          AND (autoriser('joindredocument',$type,$id))){
     97                $flux['data'] .= recuperer_fond('prive/editer/colonne_document',array('objet'=>$type,'id_objet'=>$id));
     98        }
     99
     100        return $flux;
     101}
     102
     103function medias_objets_extensibles($objets){
     104        return array_merge($objets, array('document' => _T('medias:objet_documents')));
     105}
     106
     107function medias_document_desc_actions($flux){
     108        return $flux;
     109}
     110
     111function medias_editer_document_actions($flux){
     112        return $flux;
     113}
Note: See TracChangeset for help on using the changeset viewer.