X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fplugins%2Fauto%2Fsaisies%2Fsaisies_pipelines.php;fp=www%2Fplugins%2Fauto%2Fsaisies%2Fsaisies_pipelines.php;h=1a180daf0d4de877f06b02550acceb256c315553;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c diff --git a/www/plugins/auto/saisies/saisies_pipelines.php b/www/plugins/auto/saisies/saisies_pipelines.php new file mode 100644 index 0000000..1a180da --- /dev/null +++ b/www/plugins/auto/saisies/saisies_pipelines.php @@ -0,0 +1,88 @@ +\n"; + $css = generer_url_public('saisies.css'); + $flux .= "\n\n"; + $css_constructeur = find_in_path('css/formulaires_constructeur.css'); + $flux .= "\n\n"; + return $flux; +} + +function saisies_affichage_final($flux){ + if (($p = strpos($flux,""))!==false){ + // On insère la CSS devant le premier \n"; + $flux = substr_replace($flux, $ins_js, $pos_head, 0); + } + return $flux; +} + +// Déclaration des pipelines +function saisies_saisies_autonomes($flux) { return $flux; } +function saisies_formulaire_saisies($flux) { return $flux; } + +// Déclarer automatiquement les champs d'un CVT si on les trouve dans un tableau de saisies et s'ils ne sont pas déjà déclarés +function saisies_formulaire_charger($flux){ + // Si le flux data est inexistant, on quitte : Le CVT d'origine a décidé de ne pas continuer + if (!is_array($flux['data'])) + return $flux; + // Il faut que la fonction existe et qu'elle retourne bien un tableau + if (include_spip('inc/saisies') + and $saisies = saisies_chercher_formulaire($flux['args']['form'], $flux['args']['args']) + ){ + // On ajoute au contexte les champs à déclarer + $contexte = saisies_lister_valeurs_defaut($saisies); + $flux['data'] = array_merge($contexte, $flux['data']); + + // On ajoute le tableau complet des saisies + $flux['data']['_saisies'] = $saisies; + } + return $flux; +} + +// Aiguiller CVT vers un squelette propre à Saisies lorsqu'on a déclaré des saisies et qu'il n'y a pas déjà un HTML +function saisies_styliser($flux){ + // Si on cherche un squelette de formulaire + if (strncmp($flux['args']['fond'],'formulaires/',12)==0 + // Et qu'il y a des saisies dans le contexte + and isset($flux['args']['contexte']['_saisies']) + // Et que le fichier choisi est vide ou n'existe pas + and include_spip('inc/flock') + and $ext = $flux['args']['ext'] + and lire_fichier($flux['data'].'.'.$ext, $contenu_squelette) + and !trim($contenu_squelette) + ){ + $flux['data'] = preg_replace("/\.$ext$/", '', find_in_path("formulaires/inc-saisies-cvt.$ext")); + } + + return $flux; +} + +// Ajouter les vérifications déclarées dans la fonction "saisies" du CVT +function saisies_formulaire_verifier($flux){ + // Il faut que la fonction existe et qu'elle retourne bien un tableau + if (include_spip('inc/saisies') and $saisies = saisies_chercher_formulaire($flux['args']['form'], $flux['args']['args'])){ + // On ajoute au contexte les champs à déclarer + $erreurs = saisies_verifier($saisies); + $flux['data'] = array_merge($erreurs, $flux['data']); + } + + return $flux; +} + +?>