[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / couteau_suisse / couteau_suisse / exec / action_rapide.php
diff --git a/www/plugins/auto/couteau_suisse/couteau_suisse/exec/action_rapide.php b/www/plugins/auto/couteau_suisse/couteau_suisse/exec/action_rapide.php
new file mode 100644 (file)
index 0000000..c1f0028
--- /dev/null
@@ -0,0 +1,66 @@
+<?php\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;\r
+\r
+include_spip('inc/actions');\r
+\r
+// fonction generique appelee par ?exec=action_rapide&arg=mon_outil|argument (pipe obligatoire)\r
+// la fonction mon_outil_argument_action_rapide() est apellee apres un include_spip('outils/mon_outil_action_rapide')\r
+function exec_action_rapide_dist() {\r
+       global $type_urls;\r
+cs_log("INIT : exec_action_rapide_dist() - Preparation par Ajax (donnees transmises par GET)");\r
+       // droits du Couteau Suisse\r
+       cs_minipres();\r
+       list($outil, $arg) = explode('|',_request('arg'),2);\r
+       $script = _request('script');\r
+cs_log(" -- script = $script - outil = $outil - arg = $arg");\r
+       // verification du format de l'argument\r
+       cs_minipres(!isset($arg));\r
+       if(!strlen($arg)) $arg = 'retour_nul';\r
+       cs_minipres(!preg_match('/^\w+$/', $script));\r
+\r
+       switch ($arg) {\r
+               // retour normal des actions rapides du couteau suisse : affichage du bloc au sein de la description d'un outil\r
+               case 'description_outil':\r
+cs_log(" -- Preparation de l'affichage de la description de l'outil");\r
+                       include_spip('inc/cs_outils');\r
+                       $res = cs_action_rapide($outil);\r
+cs_log(" FIN : exec_action_rapide_dist() - Appel maintenant de ajax_retour() pour afficher le formulaire de '$outil'");        \r
+                       ajax_retour($res);\r
+                       break;\r
+\r
+               // mettre a jour les fichiers distants d'un outil...\r
+               case 'fichiers_distants':\r
+                       global $outils;\r
+                       include_spip('cout_utils');\r
+                       include_spip('config_outils');\r
+                       if(autoriser('configurer', 'outil', 0, NULL, $outil)) {\r
+                               include_spip('inc/cs_outils');\r
+                               cs_initialisation_d_un_outil($outil, charger_fonction('description_outil', 'inc'), false);\r
+                               // mise a jour forcee\r
+                               $res = cs_action_fichiers_distants($outils[$outil], true);\r
+                       }\r
+cs_log(" FIN : exec_action_rapide_dist() - Appel maintenant de ajax_retour() pour afficher le formulaire de '$outil'");        \r
+                       ajax_retour($res);\r
+                       break;\r
+\r
+               // pour le reste (ex : 'sauve_pack' en mode non ajax), rien a faire.\r
+               case 'retour_nul':\r
+cs_log("FIN : exec_action_rapide_dist() - Retour nul");\r
+                       break;\r
+\r
+               default:\r
+                       // fonction mon_outil_argument_exec() suite a l'appel de ?exec=action_rapide&arg=mon_outil|argument\r
+cs_log("FIN : exec_action_rapide_dist() - Appel de {$outil}_{$arg}_exec()");\r
+                       include_spip('outils/'.$outil.'_action_rapide');\r
+                       if(function_exists($fct = $outil.'_'.$arg.'_exec')) $fct();\r
+                       break;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file