source: spip-zone/_plugins_/reservation_evenement/branches/v1/inc/donnees_reservations_details.php @ 79863

Last change on this file since 79863 was 79863, checked in by abelass@…, 6 years ago
  • gérer les prix ou via champs extras, prix_objets, declinaisons
File size: 4.2 KB
Line 
1<?php
2if (!defined('_ECRIRE_INC_VERSION')) return; 
3
4function inc_donnees_reservations_details_dist($id_reservations_detail,$set) {
5                spip_log($set,'teste');
6    if(count($set)>0){
7        include_spip('inc/filtres');
8        $reservations_details=sql_fetsel('*','spip_reservations_details','id_reservations_detail='.$id_reservations_detail);
9
10        $id_evenement=isset($set['id_evenement'])?$set['id_evenement']:$reservations_details['id_evenement'];   
11        // Les données de l'évènenement
12
13        $evenement=sql_fetsel('*','spip_evenements','id_evenement='.$id_evenement);
14       
15        $date_debut=$evenement['date_debut'];
16        $date_fin=$evenement['date_fin'];
17
18        // On établit les dates       
19        if($date_debut!=$date_fin){
20            if(affdate($date_debut,'d-m-Y')==affdate($date_fin,'d-m-Y')){
21                $date=affdate($date_debut,'d/m/Y').','.affdate($date_debut,'G:i').'-'.affdate($date_fin,'G:i');
22            }
23            else {
24                $date=affdate($date_debut,'d/m/Y').'-'.affdate($date_fin,'d/m/Y').', '.affdate($date_debut,'nom_jour').' '.affdate($date_debut,'G:i').'-'.affdate($date_fin,'G:i'); 
25               
26                }
27            }
28        else{
29            if(affdate($date_debut,'G:i')=='0:00')$date=affdate($date_debut,'d/m/Y');
30            else $date=affdate($date_debut,'d/m/Y G:i');
31                }
32        // Les déscriptif
33        $set['descriptif']=$evenement['titre'].'  ('.$date.')';
34        if(intval($evenement['places']))$set['places']=$evenement['places'];
35        if(intval($quantite[$id_evenement]))$set['quantite']=$quantite[$id_evenement];
36        else $set['quantite']=1; 
37       
38        // Si le prix n'est pas fournit, on essaye de le trouver
39
40        if(!isset($set['prix']) AND !isset($set['prix_ht'])){
41               
42            /*Existence d'un prix via le plugin Shop Prix https://github.com/abelass/prix_objets_objet */
43            if($prix_objets=test_plugin_actif('prix_objets')){
44                spip_log($id_evenement,'teste');
45                $fonction_prix = charger_fonction('prix', 'inc/');
46                $fonction_prix_ht = charger_fonction('ht', 'inc/prix');
47                 /*si le plugin déclinaison est active il peut y avoir plusieurs prix par évenement*/
48                if(test_plugin_actif('declinaisons')){ 
49                                        $id_prix=isset($set['id_prix_objet'])?$set['id_prix_objet']:$reservations_details['id_prix_objet'];                 
50                    $p=sql_fetsel('prix_ht,id_prix_objet,id_declinaison','spip_prix_objets','id_prix_objet='.$id_prix); 
51                   
52                    if($p['id_declinaison']>0)$set['descriptif'].=' - '.supprimer_numero(sql_getfetsel('titre','spip_declinaisons','id_declinaison='.$p['id_declinaison']));
53                    }
54                //Sinon on cherche d'abord le prix attaché à l'évenement, puis à l'article de l'évenement               
55                elseif (!$p=sql_fetsel('prix_ht,id_prix_objet','spip_prix_objets','objet="evenement" AND id_objet='.$id_evenement)) $p=sql_fetsel('prix_ht,id_prix_objet','spip_prix_objets','objet="article" AND id_objet='.$evenement['id_article']); 
56                if(isset($p)){
57                    $prix_ht = $fonction_prix_ht('prix_objet', $p['id_prix_objet']);
58                    $prix = $fonction_prix('prix_objet',$p['id_prix_objet']);
59                    if($prix_ht)$taxe = round(($prix - $prix_ht) / $prix_ht, 3);
60                    $set['prix_ht']=$prix_ht; 
61                    $set['taxe']=$taxe; 
62                    $set['id_prix_objet']=$p['id_prix_objet'];   
63                    }             
64                }
65             /*Sinon un prix attaché 'a l'évenement*/
66            elseif(intval($evenement['prix'])){
67                $fonction_prix = charger_fonction('prix', 'inc/');
68                $fonction_prix_ht = charger_fonction('ht', 'inc/prix'); 
69                $prix_ht = $fonction_prix_ht('evenement', $id_evenement); 
70                $prix = $fonction_prix('evenement',$id_evenement);
71                $taxe = round(($prix - $prix_ht) / $prix_ht, 3);
72                $set['prix_ht']=$prix_ht; 
73                $set['taxe']=$taxe;                         
74            }
75          }
76       }
77    return $set;
78}
Note: See TracBrowser for help on using the repository browser.