source: spip-zone/_plugins_/reservation_evenement/trunk/inc/reservation_enregistrer.php @ 89065

Last change on this file since 89065 was 89065, checked in by abelass@…, 4 years ago

prendre en compte les champs extras lors de l'édition de la réservation

File size: 2.1 KB
Line 
1<?php
2
3// Sécurité
4if (!defined('_ECRIRE_INC_VERSION')) return;
5
6//Enregistrement d'une réservation
7function inc_reservation_enregistrer_dist($id='',$id_article='',$id_auteur='',$champs_extras_auteurs=''){
8        include_spip('inc/session');
9        include_spip('inc/config');
10        $config=lire_config('reservation_evenement');
11        $statut = $config['statut_defaut']?$config['statut_defaut']:'rien';
12        if($statut=='rien'){
13                $statut_defaut=charger_fonction('defaut','inc/statuts');
14                $statut=$statut_defaut($statut);
15        } 
16
17        //Créer la réservation
18        $action=charger_fonction('editer_objet','action');
19       
20        // La référence
21        $fonction_reference = charger_fonction('reservation_reference', 'inc/');
22
23        $set=array('statut'=>$statut,'lang'=>_request('lang'));
24       
25        //les champs extras auteur
26        include_spip('cextras_pipelines');
27        $valeurs_extras=array();
28       
29
30        /**/
31
32        if(_request('enregistrer')){
33                include_spip('actions/editer_auteur');
34                       
35                if(!$id_auteur){
36                        $res = formulaires_editer_objet_traiter('auteur','new','','',$retour,$config_fonc,$row,$hidden);
37                        $id_auteur=$res['id_auteur'];
38                        sql_updateq('spip_auteurs',array('statut'=>'6forum'),'id_auteur='.$id_auteur);
39                }
40                $set['reference']=$fonction_reference($id_auteur);
41        }
42        elseif(!intval($id_auteur)){
43                $set['nom']=_request('nom');
44                $set['email']=_request('email'); 
45                //$set['donnees_auteur']=serialize( $valeurs_extras);
46        }
47        else{
48                $valeurs=array_merge(array('nom'=>_request('nom'),'email'=>_request('email')),$valeurs_extras);
49                sql_updateq('spip_auteurs',$valeurs,'id_auteur='.$id_auteur);
50        }
51        $set['reference']=$fonction_reference();         
52        $set['id_auteur']=$id_auteur;
53       
54        $id_reservation=$action('new','reservation',$set);
55        $message='<p>'._T('reservation:reservation_enregistre').'</p>';
56        $message.='<h3>'._T('reservation:details_reservation').'</h3>';
57        $message.=recuperer_fond('inclure/reservation',array('id_reservation'=>$id_reservation[0]));
58       
59        //Ivalider les caches
60        include_spip('inc/invalideur');
61        suivre_invalideur("id='reservation/$id_reservation'");
62        suivre_invalideur("id='reservations_detail/$id_reservations_detail'"); 
63        return array('message_ok'=>$message,'editable'=>false);
64}
Note: See TracBrowser for help on using the repository browser.