source: spip-zone/_plugins_/prix_objets/trunk/prix_objets_pipelines.php @ 110381

Last change on this file since 110381 was 110362, checked in by abelass@…, 3 years ago
  • correction génération prix d'un objet
  • pouvoir changer l'ordre des prix
  • prendre le premier bon prix lors de la génération du prix de l'objet
  • formulaire prix, meix intégrer les extensions
File size: 3.3 KB
Line 
1<?php
2/**
3 * Utilisations de pipelines par Prix Objets
4 *
5 * @plugin     Prix Objets
6 * @copyright  2012 - 2018
7 * @author     Rainer Müller
8 * @licence    GNU/GPL
9 * @package    SPIP\Promotions_commandes\Pipelines
10 */
11
12if (!defined("_ECRIRE_INC_VERSION"))
13        return;
14
15/**
16 * Ajouter du contenu sur les pages exec/ de SPIP, après le contenu prévu au centre de la page.
17 *
18 * @pipeline affiche_milieu
19 *
20 * @param array $flux
21 * @return array
22 */
23function prix_objets_affiche_milieu($flux) {
24        // affichage du formulaire d'activation désactivation projets
25        include_spip('inc/config');
26        $objets = lire_config('prix_objets/objets_prix', array());
27        $e = trouver_objet_exec($flux['args']['exec']);
28        $type = $e['type'];
29        $id_table_objet = $e['id_table_objet'];
30        $id = intval($flux['args'][$id_table_objet]);
31        if (in_array($type, $objets)) {
32                if ($type == 'article') {
33                        $id_article = $flux['args']['id_article'];
34                        $rubriques_produits = rubrique_prix($id_article);
35                        if (($rubriques_produits and $id_article) or (!$rubriques_produits)) {
36                                $contexte = array(
37                                        'id_objet' => $id_article,
38                                        'objet' => 'article'
39                                );
40                                $contenu = recuperer_fond('prive/objets/editer/prix', $contexte, array(
41                                        'ajax' => true
42                                ));
43                                if ($p = strpos($flux['data'], "<!--affiche_milieu-->"))
44                                        $flux['data'] = substr_replace($flux['data'], $contenu, $p, 0);
45                                else
46                                        $flux['data'] .= $contenu;
47                        }
48                }
49                elseif ($id) {
50                        $contexte = array(
51                                'id_objet' => $id,
52                                'objet' => $type
53                        );
54                        $contenu = recuperer_fond('prive/objets/editer/prix', $contexte, array(
55                                'ajax' => true
56                        ));
57                        if ($p = strpos($flux['data'], "<!--affiche_milieu-->"))
58                                $flux['data'] = substr_replace($flux['data'], $contenu, $p, 0);
59                        else
60                                $flux['data'] .= $contenu;
61                }
62        }
63        return $flux;
64}
65
66
67/**
68 * Declare l'object pour le Plugin shop https://github.com/abelass/shop.
69 *
70 * @pipeline shop_objets
71 *
72 * @param array $flux
73 * @return array
74 */
75function prix_objets_shop_objets($flux) {
76        $flux['data']['prix_objets'] = array(
77                'action' => 'prix_objets',
78                'nom_action' => _T('prix_objets:prix_objets_titre'),
79                'icone' => 'prix_objets-16.png',
80                'configurer' => array(
81                        'titre' => _T('prix_objets:titre_prix_objets'),
82                        'chemin' => 'prive/squelettes/contenu/configurer_prix_objets'
83                )
84        );
85
86        return $flux;
87}
88
89/**
90 * Ajouter les configurations dans celle de réservation événements.
91 *
92 * @pipeline reservation_evenement_objets_configuration
93 *
94 * @param array $flux
95 *              Données du pipeline
96 * @return array Données du pipeline
97 */
98function prix_objets_reservation_evenement_objets_configuration($flux) {
99
100        $flux['data']['prix_objets'] = array(
101                'label' => _T('paquet-prix_objets:prix_objets_nom'),
102        );
103
104        return $flux;
105}
106
107/**
108 * Ajouter des contenus dans la partie <head> des pages de l’espace privé.
109 *
110 * @pipeline header_prive
111 *
112 * @param array $flux
113 * @return array
114 */
115function prix_objets_header_prive($flux){
116        $flux .= '<link rel="stylesheet" href="' . _DIR_PLUGIN_PRIX_OBJETS .'css/prix_objets_admin.css" type="text/css" media="all" />';
117        return $flux;
118}
119
120/**
121 * Active des modules de jquery ui
122 *
123 * @pipeline jqueryui_plugins
124 *
125 * @param array $scripts
126 *              Données du pipeline
127 * @return array
128 */
129function prix_objets_jqueryui_plugins($scripts) {
130        $scripts[] = "jquery.ui.sortable";
131        return $scripts;
132}
Note: See TracBrowser for help on using the repository browser.