source: spip-zone/_plugins_/prix/prix_fonctions.php @ 69493

Last change on this file since 69493 was 69493, checked in by cyril@…, 7 years ago

un tiret entre "utf" et "8" pour que php comprenne bien qu'on est (par défaut) en utf-8; merci denisb_ ;-)

File size: 2.5 KB
Line 
1<?php
2
3// Sécurité
4if (!defined('_ECRIRE_INC_VERSION')) return;
5
6// Un filtre pour obtenir le prix HT d'un objet
7function prix_ht_objet($id_objet, $type_objet){
8        $fonction = charger_fonction('ht', 'inc/prix');
9        return $fonction($type_objet, $id_objet);
10}
11
12// La balise qui va avec le prix HT
13function balise_PRIX_HT_dist($p) {
14        if (!$_type = interprete_argument_balise(1,$p)){
15                $_type = sql_quote($p->type_requete);
16                $_id = champ_sql($p->boucles[$p->id_boucle]->primary,$p);
17        }
18        else
19                $_id = interprete_argument_balise(2,$p);
20        $connect = $p->boucles[$p->id_boucle]->sql_serveur;
21        $p->code = "prix_ht_objet(intval(".$_id."),".$_type.','.sql_quote($connect).")";
22        $p->interdire_scripts = false;
23        return $p;
24}
25
26// Un filtre pour obtenir le prix TTC d'un objet
27function prix_objet($id_objet, $type_objet){
28        $fonction = charger_fonction('prix', 'inc/');
29        return $fonction($type_objet, $id_objet);
30}
31
32// La balise qui va avec le prix TTC
33function balise_PRIX_dist($p) {
34        if (!$_type = interprete_argument_balise(1,$p)){
35                $_type = _q($p->type_requete);
36                $_id = champ_sql($p->boucles[$p->id_boucle]->primary,$p);
37        }
38        else
39                $_id = interprete_argument_balise(2,$p);
40        $connect = $p->boucles[$p->id_boucle]->sql_serveur;
41        $p->code = "prix_objet(intval(".$_id."),".$_type.','.sql_quote($connect).")";
42        $p->interdire_scripts = false;
43        return $p;
44}
45
46/*
47 * Formater un nombre pour l'afficher comme un prix avec une devise
48 *
49 * @param float $prix Valeur du prix à formater
50 * @return string Retourne une chaine contenant le prix formaté avec une devise (par défaut l'euro)
51 */
52
53function prix_formater($prix){
54        $fonction_formater = charger_fonction('prix_formater', 'filtres/');
55        return $fonction_formater($prix);
56}
57
58/*
59 *  Déport de la fonction pour pouvoir au besoin la surcharger avec
60 *  function filtres_prix_formater
61 *
62 */
63function filtres_prix_formater_dist($prix){
64
65        // Pouvoir débrayer la devise de référence
66        if (! defined('PRIX_DEVISE')) {
67          define('PRIX_DEVISE','fr_FR.utf-8');
68        }
69
70        setlocale(LC_MONETARY, PRIX_DEVISE);
71
72        if(function_exists(money_format)) {
73                $prix = floatval($prix);
74                $prix = money_format('%i', $prix);
75                // Afficher la devise € si celle ci n'est pas remontée par la fonction money
76                if ((strlen(money_format('%#1.0n', 0)) < 2) || ((money_format('%#1.0n', 0) == 0) AND (strlen(money_format('%#1.0n', 0)) == 3)))
77                  $prix .= '&nbsp;&euro;';
78        } else {
79                 $prix .= '&nbsp;&euro;';
80        }
81
82
83        return $prix;
84}
85
86?>
Note: See TracBrowser for help on using the repository browser.