source: spip-zone/_plugins_/declinaisons/branches/v1/formulaires/prix_declinaison.php @ 110316

Last change on this file since 110316 was 110316, checked in by abelass@…, 16 months ago

v 2.0.1 Adaptation à prix_objets 2.0.0

Attention! Changement de manière d'enregistrement des déclinaisons (considéré comme extension maintenant).
Auparavant une seule ligne par prix avec une colone id_declinaison.

Maintenant chaque déclinaison/extension obtient sa probre ligne. Prix principal et extensions sont liés par id_prix_objet_source (les extensions prenant id_prix_objet comme id_prix_objet_source)

les extension son distuingiué par les colonnes extension et id_extension

File size: 1.8 KB
Line 
1<?php
2if (!defined("_ECRIRE_INC_VERSION"))
3        return;
4function formulaires_prix_declinaison_charger_dist($id_objet, $objet = 'article') {
5        include_spip('inc/config');
6
7        $devises_dispos = lire_config('shop/devises');
8
9        // Devise par défaut si rien configuré
10        if (!$devises_dispos)
11                $devises_dispos = array(
12                        '0' => 'EUR'
13                );
14        $devises_choisis = array();
15        $prix_choisis = array();
16        $declinaisons_choisis = array();
17        $d = sql_select(
18                'code_devise,objet,id_objet,prix_ht,id_prix_objet,extension,id_extension',
19                'spip_prix_objets',
20                'id_prix_objet_source=0 AND id_objet=' . $id_objet . ' AND objet =' . sql_quote($objet)
21        );
22
23        // établit les devises diponible moins ceux déjà utilisés
24        while ($row = sql_fetch($d)) {
25                $declinaisons_choisis[$row['id_declinaison']] = $row['id_extension'];
26                $prix_choisis[] = $row;
27        }
28
29        $devises = array_diff($devises_dispos, $devises_choisis);
30
31        $valeurs = array(
32                'prix_choisis' => $prix_choisis,
33                'declinaisons_choisis' => $declinaisons_choisis,
34                'id_declinaison' => '',
35                'devises' => $devises,
36                'code_devise' => '',
37                'prix_ht' => ''
38        );
39
40        return $valeurs;
41}
42function formulaires_prix_declinaison_verifier_dist($id_objet, $objet = 'article') {
43        $valeurs = array();
44        foreach (array(
45                'prix_ht',
46                'code_devise'
47        ) as $obligatoire)
48
49                if (!_request($obligatoire))
50                        $valeurs[$obligatoire] = _T('info_obligatoire');
51
52        return $valeurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis
53}
54function formulaires_prix_declinaison_traiter_dist($id_objet, $objet = 'article') {
55        $valeurs = array(
56                'id_objet' => $id_objet,
57                'objet' => $objet,
58                'prix_ht' => _request('prix'),
59                'code_devise' => _request('code_devise'),
60                'id_declinaison' => _request('id_objet_titre')
61        );
62
63        $id_prix_objet = sql_insertq('spip_prix_objets', $valeurs);
64        return $valeurs;
65}
Note: See TracBrowser for help on using the repository browser.