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

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

Les chomeurs ont droits a des reductions lisibles comme -30,00 €
(je ne sais pas si le symbole euro passe ici )

File size: 1.9 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 */
52function prix_formater($prix){
53        //si negatif
54        if($prix<0) $negatif=true;
55        // On formate d'abord le montant suivant les conventions du pays
56        setlocale(LC_MONETARY, 'fr_FR');
57        //$prix = money_format('%i', $prix); // 1 234,57 EUR
58        $prix = money_format('%!n &euro;', $prix); // 1 234,57 €
59        if($negatif) $prix="-".str_replace(array('-','(',')'),'',$prix);
60        return $prix;
61}
62
63?>
Note: See TracBrowser for help on using the repository browser.