source: spip-zone/_core_/plugins/svp/formulaires/charger_plugin.php @ 64676

Last change on this file since 64676 was 64676, checked in by marcimat@…, 8 years ago

Du PHP Doc sur une partie de SVP

  • Property svn:eol-style set to native
File size: 3.7 KB
Line 
1<?php
2
3/**
4 * Gestion du formulaire de recherche et téléchargement de plugins
5 * distants connus dans un dépot
6 *
7 * @plugin SVP pour SPIP
8 * @license GPL
9 * @package Plugins\SVP\Formulaires
10 */
11 
12if (!defined("_ECRIRE_INC_VERSION")) return;
13
14/**
15 * Chargement du formulaire de recherche et téléchargement de plugins
16 *
17 * @return array
18 *     Environnement du formulaire
19**/
20function formulaires_charger_plugin_charger_dist(){
21        return array(
22                'phrase' => _request('phrase'),
23                'categorie' => _request('categorie'),
24                'etat' => _request('etat'),
25                'depot' => _request('depot'),
26                'doublon' => _request('doublon'),
27                'exclusion' => _request('exclusion'),
28                'ids_paquet' => _request('ids_paquet'),
29                '_todo' => _request('_todo'));
30}
31
32/**
33 * Vérification du formulaire de recherche et téléchargement de plugins
34 *
35 * Appelle le décideur qui détermine la liste des actions à faire et si celles-ci
36 * peuvent être faites (dépendances connues). Une erreur sera levé dans le
37 * cas contraire.
38 *
39 * Si toutes les actions peuvent être faites, une demande de confirmation
40 * est envoyée (dans une erreur spéciale), présentant alors toutes les
41 * actions qui seront réalisées (celle demandée + celles à faire par voie
42 * de conséquence.
43 *
44 * Si on reçoit une demande de confirmation, on sort sans lever d'erreur !
45 *
46 * @return array
47 *     Tableau des erreurs
48**/
49function formulaires_charger_plugin_verifier_dist(){
50
51        $erreurs = array();
52        $a_installer = array();
53
54        if (_request('annuler_actions')) {
55                // Requete : Annulation des actions d'installation en cours
56                // -- On vide la liste d'actions en cours
57                set_request('_todo', '');
58       
59        } elseif (_request('valider_actions')) {
60               
61       
62        } elseif (_request('rechercher')) {
63                // annuler les selections si nouvelle recherche
64                set_request('ids_paquet', array());
65        } else {
66                // Requete : Installation d'un ou de plusieurs plugins
67                // -- On construit le tableau des ids de paquets conformement a l'interface du decideur
68                if (_request('installer')) {
69                        // L'utilisateur a demande une installation multiple de paquets
70                        // -- on verifie la liste des id_paquets uniquement
71                        if ($id_paquets = _request('ids_paquet')) {
72                                foreach ($id_paquets as $_id_paquet)
73                                        $a_installer[$_id_paquet] = 'geton';
74                        }
75                }
76                else {
77                        // L'utilisateur a demande l'installation d'un paquet en cliquant sur le bouton en regard
78                        // du resume du plugin -> installer_paquet
79                        if ($install = _request('installer_paquet'))
80                                if ($id_paquet = key($install))
81                                        $a_installer[$id_paquet] = 'geton';
82                }
83
84                if (!$a_installer)
85                        $erreurs['message_erreur'] = _T('svp:message_nok_aucun_plugin_selectionne');
86                else {
87                       
88                        // On fait appel au decideur pour determiner la liste exacte des commandes apres
89                        // verification des dependances
90                        include_spip('inc/svp_decider');
91                        svp_decider_verifier_actions_demandees($a_installer, $erreurs);
92                }
93        }
94       
95        return $erreurs;
96}
97
98/**
99 * Traitement du formulaire de recherche et téléchargement de plugins
100 *
101 * Si une liste d'action est validée, on redirige de formulaire sur
102 * l'action 'actionner' qui les traitera une par une.
103 *
104 * @return array
105 *     Retours du traitement
106**/
107function formulaires_charger_plugin_traiter_dist(){
108
109        $retour = array();
110
111        if (_request('rechercher') OR _request('annuler_actions')) {
112
113        }
114        elseif (_request('valider_actions')) {
115                #refuser_traiter_formulaire_ajax();
116                // Ajout de la liste des actions à l'actionneur
117                // c'est lui qui va effectuer rellement les actions
118                // lors de l'appel de action/actionner
119                $actions = unserialize(_request('_todo'));
120                include_spip('inc/svp_actionner');
121                svp_actionner_traiter_actions_demandees($actions, $retour);
122        }
123
124        $retour['editable'] = true;
125
126        return $retour;
127}
128
129
130?>
Note: See TracBrowser for help on using the repository browser.