source: spip-zone/_plugins_/reservation_evenement/trunk/reservation_evenement_fonctions.php @ 94539

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

la devise est déjà fournie

File size: 3.8 KB
Line 
1<?php
2/**
3 * Fonctions utiles au plugin Réservation Événements
4 *
5 * @plugin     Réservation Événements
6 * @copyright  2013
7 * @author     Rainer Müller
8 * @licence    GNU/GPL
9 * @package    SPIP\Reservation_evenement\Fonctions
10 */
11
12if (!defined('_ECRIRE_INC_VERSION'))
13  return;
14
15function champs_extras_reservation() {
16  //les champs extras auteur
17  include_spip('cextras_pipelines');
18
19  if (function_exists('champs_extras_objet')) {
20    //Charger les définitions pour la création des formulaires
21    $champs_extras_auteurs = champs_extras_objet(table_objet_sql('auteur'));
22
23  }
24
25  return $champs_extras_auteurs;
26}
27
28function nom_statuts($statuts) {
29  $liste_objets = lister_tables_objets_sql();
30
31  $statuts_selectionnees = array();
32
33  if (is_array($statuts)) {
34    foreach ($liste_objets['spip_reservations']['statut_textes_instituer'] AS $statut => $label) {
35      if (in_array($statut, $statuts))
36        $statuts_selectionnees[$statut] = _T($label);
37    }
38  }
39  return $statuts_selectionnees;
40}
41
42//retourne les statuts qui définissent si un événement est complet
43function statuts_complet() {
44  $statuts_complets = charger_fonction('complet', 'inc/statuts');
45  $statuts = $statuts_complets();
46  return $statuts;
47}
48
49/**
50 * Cherche le label d'un champ extra
51 *
52 * @param  string $nom Le nom du champ.
53 * @param  array $champs_extras Les champs extras.
54 *
55 * @return string Le label.
56 */
57function chercher_label($nom, $champs_extras = '') {
58  $label = $nom;
59
60  if (!$champs_extras) {
61    //les champs extras auteur
62    include_spip('cextras_pipelines');
63
64    if (function_exists('champs_extras_objet')) {
65      //Charger les définitions pour la création des formulaires
66      $champs_extras = champs_extras_objet(table_objet_sql('auteur'));
67    }
68  }
69
70  foreach ($champs_extras as $value) {
71    if (isset($value['options']['nom']) and $value['options']['nom'] == $nom) {
72      $label = $value['options']['label'];
73    }
74  }
75
76  return $label;
77
78}
79
80/**
81 * Cherche les infos d'un client
82 *
83 * @param  string $email L'email du client.
84 * @param  string $champ Un champ spécifique.
85 * @param  bin $retour_vide TRUE/FALSE.
86 *
87 * @return mixed La valeur du champ ou un tableau avec tous les champs.
88 */
89function infos_client($email, $champ='', $retour_vide = TRUE) {
90  // Si on trouve un auteur spip on le prend, sinon on cherche dans les réservations
91  if (!$client = sql_fetsel('*','spip_auteurs','email=' . sql_quote($email)))
92    !$client  = sql_fetsel('*','spip_reservations','email=' . sql_quote($email),'','id_reservation DESC');
93 
94  // Si on a des informations on retrourne la valeur d'un champ
95  // ou le tableau des infos selon ce qui es demandé.
96  // sinon on ne retourne rien.
97  if ($client) {
98    if ($champ AND isset($client[$champ])) $infos= $client[$champ];
99    else $infos= $client;
100  }
101  elseif($retour_vide) $infos = '';
102  else $infos = $email;
103 
104  return $infos;
105}
106
107/*
108 * Formater un nombre pour l'afficher comme un prix avec une devise
109 *
110 * @param float $prix Valeur du prix à formater
111 * @param string $devise devise
112 * @return string Retourne une chaine contenant le prix formaté avec une devise (par défaut l'euro)
113 */
114function prix_formater_devise($montant,$devise){ 
115  include_spip('inc/config');
116  include_spip('inc/cookie');
117
118  $montant = number_format($montant, 2);
119
120  //On détermine la langue du contexte
121  $lang = $GLOBALS['spip_lang'];
122
123  // Si PECL intl est présent on dermine le format de l'affichage de la devise selon la langue du contexte
124  if (function_exists('numfmt_create')) {
125    $fmt = numfmt_create($lang, NumberFormatter::CURRENCY);
126    $montant = numfmt_format_currency($fmt, $montant, $devise);
127  }
128  //Sinon on formate à la française
129  elseif (function_exists('traduire_devise'))
130    $montant = $montant . '&nbsp;' . traduire_devise($devise);
131  else
132    $montant = $montant . '&nbsp;' . $devise;
133 
134  return $montant; 
135}
Note: See TracBrowser for help on using the repository browser.