source: spip-zone/_plugins_/stocks/trunk/stocks_pipelines.php @ 107631

Last change on this file since 107631 was 107631, checked in by arnaud.berard@…, 21 months ago

utiliser le stock par defaut configurable

  • Property svn:eol-style set to native
File size: 2.8 KB
Line 
1<?php
2
3// Sécurité
4if (!defined("_ECRIRE_INC_VERSION")) {
5        return;
6}
7
8function stocks_formulaire_charger($flux) {
9
10    $form = $flux['args']['form'];
11
12    if ($form == "editer_produit")  {
13                $stock_default = lire_config('stocks/quantite_default');
14        include_spip('inc/stocks');
15        $id_produit = intval($flux['args']['args'][0]);
16        $quantite = get_quantite("produit",$id_produit);
17
18        // La quantité produit
19        $flux['data']['_saisies'][] = array(
20            'saisie' => 'fieldset',
21            'options' => array(
22                'nom' => 'stocks',
23                'label'=> 'Stock'               
24            ),
25            'saisies'=> array(
26                 array(
27                       'saisie' => 'input',
28                        'options' => array(
29                            'nom' => 'quantite_produit',
30                            'label' => '<:stocks:quantite_produit:>',
31                            'defaut' => isset($quantite) ? $quantite : $stock_default
32                        )
33                )
34            )       
35        );
36    }
37   
38    return $flux;
39}
40
41function stocks_formulaire_traiter($flux) {
42
43    $form = $flux['args']['form'];
44
45    if($form == "editer_produit")  {
46        include_spip('inc/stocks');
47        $id_produit = $flux['data']['id_produit'];
48        $quantite = intval(_request('quantite_produit'));
49        //spip_log("$id_produit",'stocks');
50        set_quantite("produit",$id_produit,$quantite);
51    }
52   
53    return $flux;
54}
55
56/*
57 * function stocks_afficher_contenu_objet
58 * @param $flux
59 */
60
61function stocks_afficher_fiche_objet($flux) {
62
63        if($flux['args']['type'] == 'produit'){
64
65                $objet = $flux['args']['type'];
66                $id_objet = intval($flux['args']['id']);
67               
68                $texte = recuperer_fond(
69                        'prive/squelettes/inclure/stock_fiche_objet',
70                        array(
71                                'objet'=>$objet,
72                                'id_objet'=>$id_objet
73                        )
74                );
75                               
76                if ($p = strpos($flux['data'], '<!--afficher_fiche_objet-->')) {
77                        $flux['data'] = substr_replace($flux['data'], $texte, $p, 0);
78                } else {
79                        $flux['data'] .= $texte;
80                }
81
82        }
83        return $flux;
84}
85
86
87function stocks_pre_boucle($boucle) {
88    //Connaitre la table en cours
89    $id_table = $boucle->id_table;
90
91    //Savoir si on consulté la table organisations_liens
92    if ($jointure = array_keys($boucle->from, 'spip_stocks')) {
93        //Vérifier qu'on est bien dans le cas d'une jointure automatique
94        if (isset($boucle->join[$jointure[0]])
95        and isset($boucle->join[$jointure[0]][3])
96              and $boucle->join[$jointure[0]]
97              and $boucle->join[$jointure[0]][3]
98        ) {
99            //Le critere ON de la jointure (index 3 dans le tableau de jointure) est incompléte
100            //on fait en sorte de retomber sur ses pattes, en indiquant l'objet à joindre
101            $boucle->join[$jointure[0]][3] = "'L1.objet='.sql_quote('".objet_type($id_table)."')";
102                }
103    }
104
105    return $boucle;
106}
107
Note: See TracBrowser for help on using the repository browser.