source: spip-zone/_plugins_/couteau_suisse/exec/action_rapide.php @ 60201

Last change on this file since 60201 was 38016, checked in by patfr@…, 10 years ago

Jolis coins : passe le plugin jQuery en fichier distant versionné, permettant plus facilement les mises à jour.

SPIP>=2.1 : version 2.09 (11-MAR-2010), jQuery v1.3.2 mini
http://github.com/malsup/corner/raw/ca8d745fdfe054e1bb62fbd22eca9850c1353e03/jquery.corner.js
SPIP<=2.0 : version 2.03 (05-DEC-2009)
http://github.com/malsup/corner/raw/46bbbc8706853c879c9224b7ebf5f284f726314d/jquery.corner.js

+ nomenclature spécifique des fichiers distants pour les pipelines : 'distant_pipelines'

File size: 2.7 KB
Line 
1<?php
2#-----------------------------------------------------#
3#  Plugin  : Couteau Suisse - Licence : GPL           #
4#  Auteur  : Patrice Vanneufville, 2008               #
5#  Contact : patrice¡.!vanneufville¡@!laposte¡.!net   #
6#  Infos : http://www.spip-contrib.net/?article2166   #
7#-----------------------------------------------------#
8if (!defined("_ECRIRE_INC_VERSION")) return;
9
10include_spip('inc/actions');
11
12// fonction generique appelee par ?exec=action_rapide&arg=mon_outil|argument (pipe obligatoire)
13// la fonction mon_outil_argument_action_rapide() est apellee apres un include_spip('outils/mon_outil_action_rapide')
14function exec_action_rapide_dist() {
15        global $type_urls;
16cs_log("INIT : exec_action_rapide_dist() - Preparation par Ajax (donnees transmises par GET)");
17        // droits du Couteau Suisse
18        cs_minipres();
19        list($outil, $arg) = explode('|',_request('arg'),2);
20        $script = _request('script');
21cs_log(" -- script = $script - outil = $outil - arg = $arg");
22        // verification du format de l'argument
23        cs_minipres(!isset($arg));
24        if(!strlen($arg)) $arg = 'retour_nul';
25        cs_minipres(!preg_match('/^\w+$/', $script));
26
27        switch ($arg) {
28                // retour normal des actions rapides du couteau suisse : affichage du bloc au sein de la description d'un outil
29                case 'description_outil':
30cs_log(" -- Preparation de l'affichage de la description de l'outil");
31                        include_spip('inc/cs_outils');
32                        $res = cs_action_rapide($outil);
33cs_log(" FIN : exec_action_rapide_dist() - Appel maintenant de ajax_retour() pour afficher le formulaire de '$outil'"); 
34                        ajax_retour($res);
35                        break;
36
37                // mettre a jour les fichiers distants d'un outil...
38                case 'fichiers_distants':
39                        global $outils;
40                        include_spip('cout_utils');
41                        include_spip('config_outils');
42                        if(autoriser('configurer', 'outil', 0, NULL, $outil)) {
43                                include_spip('inc/cs_outils');
44                                cs_initialisation_d_un_outil($outil, charger_fonction('description_outil', 'inc'), false);
45                                // mise a jour forcee
46                                $res = cs_action_fichiers_distants($outils[$outil], true);
47                        }
48cs_log(" FIN : exec_action_rapide_dist() - Appel maintenant de ajax_retour() pour afficher le formulaire de '$outil'"); 
49                        ajax_retour($res);
50                        break;
51
52                // pour le reste (ex : 'sauve_pack' en mode non ajax), rien a faire.
53                case 'retour_nul':
54cs_log("FIN : exec_action_rapide_dist() - Retour nul");
55                        break;
56
57                default:
58                        // fonction mon_outil_argument_exec() suite a l'appel de ?exec=action_rapide&arg=mon_outil|argument
59cs_log("FIN : exec_action_rapide_dist() - Appel de {$outil}_{$arg}_exec()");
60                        include_spip('outils/'.$outil.'_action_rapide');
61                        if(function_exists($fct = $outil.'_'.$arg.'_exec')) $fct();
62                        break;
63        }
64}
65
66?>
Note: See TracBrowser for help on using the repository browser.