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

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

Renommer les occurences de extensions en plugins-dist (constantes et chaines de langue)
complete http://core.spip.org/projects/spip/repository/revisions/19195

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