Skip to content
Extraits de code Groupes Projets
Valider 50804778 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

3 pipeline formulaire_charger, formulaire_verifier, formulaire_traiter...

3 pipeline formulaire_charger, formulaire_verifier, formulaire_traiter appelles sur les 3 etapes de tous les formulaires CVT qui permettent de modifier le comportement sans surcharger
(ex : limiter le nombre de mots du texte des articles en intervenant sur formulaire_verifier)
parent 4d4fd553
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -58,6 +58,12 @@ function balise_FORMULAIRE__dyn($form) ...@@ -58,6 +58,12 @@ function balise_FORMULAIRE__dyn($form)
$valeurs = array(); $valeurs = array();
if ($charger_valeurs = charger_fonction("charger","formulaires/$form/",true)) if ($charger_valeurs = charger_fonction("charger","formulaires/$form/",true))
$valeurs = call_user_func_array($charger_valeurs,$args); $valeurs = call_user_func_array($charger_valeurs,$args);
$valeurs = pipeline(
'formulaire_charger',
array(
'args'=>array('form'=>$form,'args'=>$args),
'data'=>$valeurs)
);
if ($valeurs===false) { if ($valeurs===false) {
// pas de saisie // pas de saisie
$editable = false; $editable = false;
......
...@@ -219,6 +219,9 @@ $spip_pipeline = array( ...@@ -219,6 +219,9 @@ $spip_pipeline = array(
'delete_all' => '', 'delete_all' => '',
'delete_statistiques' => '', 'delete_statistiques' => '',
'exec_init' => '', 'exec_init' => '',
'formulaire_charger' => '',
'formulaire_verifier' => '',
'formulaire_traiter' => '',
'header_prive' => '|f_jQuery||compacte_head', 'header_prive' => '|f_jQuery||compacte_head',
'insert_head' => '|f_jQuery', 'insert_head' => '|f_jQuery',
'jquery_plugins' => '', 'jquery_plugins' => '',
......
...@@ -141,12 +141,23 @@ function traiter_formulaires_dynamiques(){ ...@@ -141,12 +141,23 @@ function traiter_formulaires_dynamiques(){
include_spip('inc/filtres'); include_spip('inc/filtres');
if ($args = decoder_contexte_ajax($args) if ($args = decoder_contexte_ajax($args)
AND $args['form'] == $form) { AND $args['form'] == $form) {
if ( $verifier = charger_fonction("verifier","formulaires/$form/",true);
(!($verifier = charger_fonction("verifier","formulaires/$form/",true)) $_POST["erreurs_$form"] = pipeline(
|| (count($_POST["erreurs_$form"] = call_user_func_array($verifier,$args))==0)) 'formulaire_verifier',
&& ($traiter = charger_fonction("traiter","formulaires/$form/",true)) array(
) { 'args'=>array('form'=>$form,'args'=>$args),
$rev = call_user_func_array($traiter,$args); 'data'=>$verifier?call_user_func_array($verifier,$args):array())
);
if ((count($_POST["erreurs_$form"])==0)){
$rev = "";
if ($traiter = charger_fonction("traiter","formulaires/$form/",true))
$rev = call_user_func_array($traiter,$args);
$rev = pipeline(
'formulaire_traiter',
array(
'args'=>array('form'=>$form,'args'=>$args),
'data'=>$rev)
);
// traiter peut retourner soit un message, soit un array(editable,message) // traiter peut retourner soit un message, soit un array(editable,message)
if (is_array($rev)) { if (is_array($rev)) {
$_POST["editable_$form"] = $rev[0]; $_POST["editable_$form"] = $rev[0];
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter