Changeset 87429 in spip-zone


Ignore:
Timestamp:
Feb 13, 2015, 5:49:30 PM (5 years ago)
Author:
kent1@…
Message:

Eviter de repasser dans les documents en les modifiant vide

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/diogene/diogene_complements/diogene_documents/trunk/diogene_documents_pipelines.php

    r87412 r87429  
    6868               
    6969                $post = isset($_FILES) ? $_FILES : $GLOBALS['HTTP_POST_FILES'];
     70               
     71                if(_request('titre'))
     72                        $ancien_titre = _request('titre');
     73                if(_request('credits'))
     74                        $ancien_credits = _request('credits');
     75                if(_request('descriptif'))
     76                        $ancien_descriptif = _request('descriptif');
     77               
     78                $nouveaux_doc = array();
    7079                if (is_array($post)){
    7180                        include_spip('inc/joindre_document');
     
    7887                                foreach($files as $i => $file){
    7988                                        $infos_doc = array();
    80                                         if($file['titre'])
    81                                                 $infos_doc['titre'] = $file['titre'];
    82                                         if($file['descriptif'])
    83                                                 $infos_doc['descriptif'] = $file['descriptif'];
    84                                         if($file['credits'])
    85                                                 $infos_doc['credits'] = $file['credits'];
    86                                         if(count($infos_doc) > 0){
    87                                                 $test = sql_updateq('spip_documents',$infos_doc,'id_document='.$nouveaux_doc[$i]);
    88                                         }
    89                                 }
    90                         }
    91                 }
    92                
    93                 if(intval($id_objet) > 0){
    94                         include_spip('action/editer_document');
    95                         $documents_objet = sql_allfetsel('id_document','spip_documents_liens','objet='.sql_quote($objet).' AND id_objet='.intval($id_objet));
    96                         if(_request('titre'))
    97                                 $ancien_titre = _request('titre');
    98                         if(_request('credits'))
    99                                 $ancien_credits = _request('credits');
    100                         if(_request('descriptif'))
    101                                 $ancien_descriptif = _request('descriptif');
    102                         foreach($documents_objet as $doc){
    103                                 $id_document = $doc['id_document'];
    104                                 if(_request('supprimer_'.$id_document)){
    105                                         include_spip('action/dissocier_document');
    106                                         $suppression = supprimer_lien_document($id_document, $objet, $id_objet, true);
    107                                 }else{
    108                                         $infos_doc = array();
    10989                                        foreach(array('titre','credits','descriptif') as $champ){
    110                                                 if(_request($champ.'_'.$id_document)){
    111                                                         $valeur_champ = _request($champ.'_'.$id_document);
    112                                                         set_request($champ,$valeur_champ);
    113                                                         $infos_doc[$champ] = $valeur_champ;
     90                                                if(isset($file[$champ])){
     91                                                        set_request($champ,$file[$champ]);
     92                                                        $infos_doc[$champ] = $file[$champ];
    11493                                                }
    11594                                                else
    11695                                                        set_request($champ,'');
    11796                                        }
    118                                         $err = document_modifier($id_document, $infos_doc);
    119                                 }
    120                         }
    121                         if(isset($ancien_titre))
    122                                 set_request('titre',$ancien_titre);
    123                         if(isset($ancien_credits))
    124                                 set_request('credits',$ancien_credits);
    125                         if(isset($ancien_descriptif))
    126                                 set_request('descriptif',$ancien_descriptif);
    127                 }
     97                                       
     98                                        document_modifier($nouveaux_doc[$i],$infos_doc);
     99                                }
     100                        }
     101                }
     102               
     103                if(intval($id_objet) > 0){
     104                        include_spip('action/editer_document');
     105                        $documents_objet = sql_allfetsel('id_document','spip_documents_liens','objet='.sql_quote($objet).' AND id_objet='.intval($id_objet));
     106                        foreach($documents_objet as $doc){
     107                                if(!in_array($doc['id_document'],$nouveaux_doc)){
     108                                        $id_document = $doc['id_document'];
     109                                        if(_request('supprimer_'.$id_document)){
     110                                                include_spip('action/dissocier_document');
     111                                                $suppression = supprimer_lien_document($id_document, $objet, $id_objet, true);
     112                                        }else{
     113                                                $infos_doc = array();
     114                                                foreach(array('titre','credits','descriptif') as $champ){
     115                                                        if(_request($champ.'_'.$id_document)){
     116                                                                $valeur_champ = _request($champ.'_'.$id_document);
     117                                                                set_request($champ,$valeur_champ);
     118                                                                $infos_doc[$champ] = $valeur_champ;
     119                                                        }
     120                                                        else
     121                                                                set_request($champ,'');
     122                                                }
     123                                                $err = document_modifier($id_document, $infos_doc);
     124                                        }
     125                                }
     126                        }
     127                }
     128                if(isset($ancien_titre))
     129                        set_request('titre',$ancien_titre);
     130                if(isset($ancien_credits))
     131                        set_request('credits',$ancien_credits);
     132                if(isset($ancien_descriptif))
     133                        set_request('descriptif',$ancien_descriptif);
    128134        }
    129135        return $flux;
Note: See TracChangeset for help on using the changeset viewer.