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

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

récupérer les quantités

File size: 2.5 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        if(!is_array($champs_extras_auteurs) AND function_exists('champs_extras_objet')){
31                //Charger les définitions pour la création des formulaires
32                $champs_extras_auteurs=champs_extras_objet(table_objet_sql('auteur'));
33        }
34       
35        if(is_array($champs_extras_auteurs)){
36                foreach( $champs_extras_auteurs as $value){
37                        $valeurs_extras[$value['options']['label']]=_request($value['options']['nom']); 
38                }
39        }
40
41        if(_request('enregistrer')){
42                include_spip('actions/editer_auteur');
43                       
44                if(!$id_auteur){
45                        $res = formulaires_editer_objet_traiter('auteur','new','','',$retour,$config_fonc,$row,$hidden);
46                        $id_auteur=$res['id_auteur'];
47                        sql_updateq('spip_auteurs',array('statut'=>'6forum'),'id_auteur='.$id_auteur);
48                }
49                $set['reference']=$fonction_reference($id_auteur);
50        }
51        elseif(!intval($id_auteur)){
52                $set['nom']=_request('nom');
53                $set['email']=_request('email'); 
54                $set['donnees_auteur']=serialize( $valeurs_extras);
55        }
56        else{
57                $valeurs=array_merge(array('nom'=>_request('nom'),'email'=>_request('email')),$valeurs_extras);
58                sql_updateq('spip_auteurs',$valeurs,'id_auteur='.$id_auteur);
59        }
60        $set['reference']=$fonction_reference();         
61        $set['id_auteur']=$id_auteur;
62       
63        $id_reservation=$action('new','reservation',$set);
64        $message='<p>'._T('reservation:reservation_enregistre').'</p>';
65        $message.='<h3>'._T('reservation:details_reservation').'</h3>';
66        $message.=recuperer_fond('inclure/reservation',array('id_reservation'=>$id_reservation[0]));
67       
68        //Ivalider les caches
69        include_spip('inc/invalideur');
70        suivre_invalideur("id='reservation/$id_reservation'");
71        suivre_invalideur("id='reservations_detail/$id_reservations_detail'"); 
72        return array('message_ok'=>$message,'editable'=>false);
73}
Note: See TracBrowser for help on using the repository browser.