Un plugin (experimental) qui permet de régler plus finement le contenu du message de retour.
Par exemple :
````
Message si le champ_1 est rempli
````
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.0 KiB
44 lines
1.0 KiB
<?php |
|
// Sécurité |
|
if (!defined('_ECRIRE_INC_VERSION')) { |
|
return; |
|
} |
|
|
|
/** |
|
* Permettre d'utiliser la syntaxe |
|
* ``` |
|
* <condition si="<afficher_si>"> |
|
* partie en affichage conditionnelle |
|
* </condition> |
|
* ``` |
|
**/ |
|
function formidable_retour_etendu_formidable_pre_raccourcis_arobases(array $flux): array { |
|
include_spip('inc/saisies'); |
|
$data = &$flux['data']; |
|
$regexp = '#<condition(\s*)' |
|
.'si=(?<guillemet>"|\')' |
|
.'(?<condition>.*)' |
|
.'(\k<guillemet>)>' |
|
.'(.*)' |
|
.'</condition>' |
|
.'#Us'; |
|
// Vérifier si les conditions sont remplis |
|
if (preg_match_all($regexp, $data, $matches, PREG_SET_ORDER)) { |
|
foreach ($matches as $m) { |
|
if (!saisies_evaluer_afficher_si($m['condition'])) { |
|
$data = str_replace($m[0], '', $data); |
|
} else { |
|
$remplace = trim($m[5]); |
|
$remplace = preg_replace('#^'._AUTOBR.'#', '', $remplace); |
|
$remplace = preg_replace('#'._AUTOBR.'$#', '', $remplace); |
|
$data = str_replace($m[0], $remplace, $data); |
|
} |
|
} |
|
}; |
|
|
|
// Nettoyage |
|
$data = str_replace('<p></p>', '', $data); |
|
|
|
return $flux; |
|
} |
|
|
|
|