[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / couteau_suisse / couteau_suisse / action / action_rapide.php
diff --git a/www/plugins/auto/couteau_suisse/couteau_suisse/action/action_rapide.php b/www/plugins/auto/couteau_suisse/couteau_suisse/action/action_rapide.php
new file mode 100644 (file)
index 0000000..ad43724
--- /dev/null
@@ -0,0 +1,55 @@
+<?php\r
+\r
+#-----------------------------------------------------#\r
+#  Plugin  : Couteau Suisse - Licence : GPL           #\r
+#  Auteur  : Patrice Vanneufville, 2008               #\r
+#  Contact : patrice¡.!vanneufville¡@!laposte¡.!net   #\r
+#  Infos : http://www.spip-contrib.net/?article2166   #\r
+#-----------------------------------------------------#\r
+if (!defined("_ECRIRE_INC_VERSION")) return; // securiser\r
+\r
+function redirige_vers_exec($params=array()) {\r
+       $url = urldecode(_request('redirect'));\r
+       foreach($params as $p=>$v) $url = parametre_url($url, $p, $v, '&');\r
+       redirige_par_entete($url);\r
+}\r
+\r
+function action_action_rapide_dist() {\r
+       $arg = _request('arg');\r
+cs_log("INIT : action_action_rapide_dist() - Une action rapide '$arg' a ete demandee !");\r
+       $securiser_action = charger_fonction('securiser_action', 'inc');\r
+       $arg = $securiser_action();\r
+       $redirect = _request('redirect');\r
+       if(!defined('_SPIP19300')) $redirect = urldecode($redirect);\r
+       $outil = (\r
+               preg_match(',&arg=([\w_]+)\|[\w_]+,', $redirect, $regs)\r
+               || preg_match(',&outil=([\w_]+),', $redirect, $regs)\r
+               || preg_match(',&cmd=([\w_]+),', $redirect, $regs)\r
+       )?$regs[1]:false;\r
+\r
+       // au cas ou, pour redirige_par_entete()\r
+       include_spip('inc/headers');\r
+       spip_log("action 'action_rapide' du Couteau suisse : $outil|$arg");\r
+//cs_log($_POST, 'action POST='); cs_log($_GET, 'action GET=');\r
+\r
+       switch($arg) {\r
+\r
+               case 'fichiers_distants':\r
+                       // mettre a jour les fichiers distants d'un outil...\r
+                       // rien a faire :-)\r
+                       break;\r
+\r
+               default: if($outil) {\r
+                       // fonction mon_outil_argument_action() suite a l'appel de ?action=action_rapide&arg=mon_outil|argument\r
+                       $fct = $outil.'_'.$arg.'_action';\r
+cs_log("FIN : action_action_rapide_dist() - Appel de $fct()");\r
+                       include_spip('outils/'.$outil.'_action_rapide');\r
+                       if(function_exists($fct)) $fct();\r
+                               else cs_log(" -- Erreur : fonction $fct() introuvable !");\r
+               } else  cs_log(" -- Erreur : outil non renseigne !");\r
+               break;\r
+       }\r
+\r
+}\r
+\r
+?>
\ No newline at end of file