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

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

0.1.6 pour un déport de prix_formater vers filtres_prix_formater_dist

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.utf8');
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.