source: spip-zone/_core_/plugins/svp/formulaires/admin_plugin.php @ 60090

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

Un seul endroit pour reinstaller SVP suffira.

File size: 3.0 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5function formulaires_admin_plugin_charger_dist($voir='actif', $verrouille='non', $id_paquet=''){
6        $valeurs = array();
7
8        // actualiser la liste des paquets locaux systematiquement
9        include_spip('inc/svp_depoter_local');
10        svp_actualiser_paquets_locaux();
11
12        $valeurs['actif'] = 'oui';
13        if ($voir == 'inactif')
14                $valeurs['actif'] = 'non';
15        if ($voir == 'tous')
16                $valeurs['actif'] = '';
17
18        $valeurs['constante'] = array('_DIR_PLUGINS','_DIR_PLUGINS_SUPPL');
19        if ($verrouille == 'oui')
20                $valeurs['constante'] = array('_DIR_PLUGINS_DIST');
21        if ($verrouille == 'tous')
22                $valeurs['constante'] = array();
23
24        $valeurs['verrouille'] = $verrouille;
25        $valeurs['id_paquet'] = $id_paquet;
26        $valeurs['actions'] = array();
27        $valeurs['ids_paquet'] = _request('ids_paquet');
28        $valeurs['_todo'] = _request('_todo');
29
30        return $valeurs;
31}
32
33function formulaires_admin_plugin_verifier_dist($voir='actif', $verrouille='non', $id_paquet=''){
34
35        $erreurs = array();
36
37        if (_request('annuler_actions')) {
38                // Requete : Annulation des actions d'installation en cours
39                // -- On vide la liste d'actions en cours
40                set_request('_todo', '');
41        } elseif (_request('valider_actions')) {
42                // ...
43        } else {
44                $a_actionner = array();
45               
46                // actions globales...
47                if ($action_globale = _request('action_globale') AND _request('appliquer')) {
48                        $ids_paquet = _request('ids_paquet');
49                        if (!is_array($ids_paquet)) {
50                                $erreurs['message_erreur'] = _T('svp:message_erreur_aucun_plugin_selectionne');
51                        } else {
52                                foreach ($ids_paquet as $i) {
53                                        $a_actionner[$i] = $action_globale;
54                                }
55                        }
56                // action unitaire
57                } else {
58                        $actions = _request('actions');
59                        // $actions[type][id] = Texte
60                        // -> $a_actionner[id] = type
61                        foreach ($actions as $action => $p) {
62                                foreach ($p as $i => $null) {
63                                        $a_actionner[$i] = $action;
64                                }
65                        }
66                }
67                // lancer les verifications
68                if (!$a_actionner)
69                        $erreurs['message_erreur'] = _T('svp:message_erreur_aucun_plugin_selectionne');
70                else {
71                       
72                        // On fait appel au decideur pour determiner la liste exacte des commandes apres
73                        // verification des dependances
74                        include_spip('inc/svp_decider');
75                        svp_decider_verifier_actions_demandees($a_actionner, $erreurs);
76                }
77        }
78       
79        return $erreurs;
80}
81
82function formulaires_admin_plugin_traiter_dist($voir='actif', $verrouille='non', $id_paquet=''){
83       
84        $retour = array();
85
86        if (_request('valider_actions')) {
87                #refuser_traiter_formulaire_ajax();
88                // Ajout de la liste des actions à l'actionneur
89                // c'est lui qui va effectuer rellement les actions
90                // lors de l'appel de action/actionner
91                $actions = unserialize(_request('_todo'));
92                include_spip('inc/svp_actionner');
93                svp_actionner_traiter_actions_demandees($actions, $retour);
94        }
95               
96        $retour['editable'] = true;
97
98        return $retour;
99}
100
101
102
103
104/**
105 * Filtre pour simplifier la creation des actions du formulaire
106 * [(#ID_PAQUET|svp_nom_action{desactiver})]
107 * actions[desactiver][24]
108**/
109function filtre_svp_nom_action($id_paquet, $action) {
110        return "actions[$action][$id_paquet]";
111}
112
113?>
Note: See TracBrowser for help on using the repository browser.