source: spip-zone/_squelettes_/galaxie_melusine/melusine/trunk/formulaires/melusine_ajout_module.php @ 82969

Last change on this file since 82969 was 82969, checked in by jml9340@…, 7 years ago

gestion des colonnes

File size: 2.6 KB
Line 
1<?php
2/**
3 * Gestion du formulaire d'ajout de module dans un bloc de Mélusine
4 *
5 * @plugin     Mélusine
6 * @copyright  2014
7 * @author     Bertrand Marne
8 * @licence    GNU/GPL
9 * @package    SPIP\melusine\Formulaires
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) return;
13include_spip('inc/config');
14
15/**
16 * Chargement du formulaire d'ajout de modules
17 *
18 * @uses formulaires_editer_objet_charger()
19 *
20 * @param string $bloc
21 *     nom du bloc à remplir
22 * @param string $type
23 *     type de page du bloc à remplir
24 * @return array
25 *     Environnement du formulaire
26 */
27function formulaires_melusine_ajout_module_charger_dist($bloc,$type="rubrique"){
28
29        $valeurs = array(
30                "bloc" => $bloc,
31                "type" => $type
32        );
33
34        return $valeurs;
35
36}
37
38/**
39 * Vérification du formulaire d'ajout de modules
40 *
41 * @uses formulaires_editer_objet_verifier()
42 *
43 * @param string $bloc
44 *     nom du bloc à remplir
45 * @param string $type
46 *     type de page du bloc à remplir
47 * @return array
48 *     Tableau des erreurs
49 */
50function formulaires_melusine_ajout_module_verifier_dist($bloc,$type="rubrique"){
51        $erreurs = array();
52
53        return $erreurs;
54       
55}
56
57/**
58 * Traitement du formulaire d'ajout de modules
59 *
60 * @uses formulaires_editer_objet_traiter()
61 *
62 * @param string $bloc
63 *     nom du bloc à remplir
64 * @param string $type
65 *     type de page du bloc à remplir
66 * @return array
67 *     retour des traitements
68 */
69function formulaires_melusine_ajout_module_traiter_dist($bloc,$type="rubrique"){
70
71        $nom_module = _request("nom_module");
72
73        // On cherche une place libre dans le casier
74        // et on y met le module
75        // Infos de la noisette:
76        include_spip('base/abstract_sql');
77        // infos sur le module le plus bas
78        // dans le bloc
79        $infos_module_bas= sql_fetsel(
80                array(
81                        "rang",
82                        ),
83                "spip_noisettes",
84                "bloc = ".sql_quote($bloc)." AND type = ".sql_quote($type),
85                "",
86                "rang DESC"
87                );
88        // Pas de place...
89        if ($infos_module_bas['rang'] > 11) 
90                return array('message_erreur' => "Plus de place dans ce bloc&nbsp;! Vous devez d'abord retirer un module...");
91
92
93        // On met le module dans la base:
94        include_spip('action/editer_objet');
95        $set = array(
96                "rang" => $infos_module_bas['rang']+1,
97                "type" => $type,
98                "bloc" => $bloc,
99                "noisette" => $nom_module
100        );
101        $id_noisette = objet_inserer("noisette", $id_parent="",$set);
102                if (!$id_noisette)
103                        return array("message_erreur" => "Impossible d'insérer le module ".$module." dans le bloc ".$bloc." de la page ".$type. "au rang ".$rang);
104
105               
106        // On invalide le cache
107        include_spip('inc/invalideur');
108        suivre_invalideur(1);
109
110        return array("message_ok" => "module inséré");
111}
112?>
Note: See TracBrowser for help on using the repository browser.