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

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

Une API générique pour obtenir le prix d'un objet SPIP. Les fonctions s'appliquent donc sur n'importe quel objet suivant le principe objet/id_objet.

Les deux fonctions principales permettent d'obtenir soit le prix HT, soit le prix TTC. Deux balises #PRIX_HT et #PRIX leurs sont associées.

Par défaut "prix_ht" va chercher un champ SQL "prix_ht" ou sinon un champ "prix" ou sinon une fonction "prix_{objet}_ht_dist()".

La fonction "prix", elle, va d'abord chercher le prix HT et l'envoie à une fonction "prix_{objet}_dist()". Sinon elle retourne le prix HT évidemment.

Les deux fonctions ont chacune un pipeline associé du même nom.

File size: 1.3 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?>
Note: See TracBrowser for help on using the repository browser.