--- /dev/null
+<?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