[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / couteau_suisse / couteau_suisse / outils / balise_set_fonctions.php
diff --git a/www/plugins/auto/couteau_suisse/couteau_suisse/outils/balise_set_fonctions.php b/www/plugins/auto/couteau_suisse/couteau_suisse/outils/balise_set_fonctions.php
new file mode 100644 (file)
index 0000000..622cacc
--- /dev/null
@@ -0,0 +1,30 @@
+<?php\r
+\r
+function balise_SET__dist($p) {\r
+       $champ = $p->nom_champ;\r
+       preg_match(",^SET_([A-Z_]+)?$,i", $champ, $filtre);\r
+       $filtre = strtolower($filtre[1]);\r
+       $filtre2 = chercher_filtre($filtre);\r
+       if (!$filtre2) {\r
+               $err_b_s_a = array('zbug_erreur_filtre', array('filtre' => $filtre));\r
+               erreur_squelette($err_b_s_a, $p);\r
+       } else {\r
+               $nom = interprete_argument_balise(1,$p);\r
+               if (!$nom) {\r
+                       $err_b_s_a = array('zbug_balise_sans_argument', array('balise' => $champ));\r
+                       erreur_squelette($err_b_s_a, $p);\r
+               } else {\r
+                       $i = 1; $args = array();\r
+                       while(($a = interprete_argument_balise(++$i,$p)) != NULL) $args[] = $a;\r
+                       $get = function_exists('balise_GET') ? 'balise_GET' : 'balise_GET_dist';\r
+                       $q = $p; $q->param[0] = array($q->param[0][0], $q->param[0][1]);\r
+                       $get = $get($q);\r
+                       $filtre2 .= '('.$get->code.','.join(",", $args).')';\r
+                       $p->code = "vide(\$Pile['vars'][$nom] = $filtre2)";\r
+               }\r
+       }\r
+       $p->interdire_scripts = false; // la balise ne renvoie rien\r
+       return $p;\r
+}\r
+\r
+?>
\ No newline at end of file