Documentation du code de SPIP et de ses plugins

Saisies pour formulaires

saisies_afficher_si_commun.php

Gestion de l'affichage conditionnelle des saisies.

Partie commun js/php

Table of Contents

Functions

saisies_parser_condition_afficher_si()  : array<string|int, mixed>
Reçoit une condition la parse pour trouver champs/opérateurs/valeurs etc.
saisies_afficher_si_filtrer_parse_condition()  : array<string|int, mixed>
Filtrer le retour d'un parsage d'un test d'afficher_si, pour ne pas garder des infos qui ne servent pas par là suite.
saisies_afficher_si_evaluer_plugin()  : bool
Retourne le résultat de l'évaluation d'un plugin actif
saisies_tester_condition_afficher_si()  : bool
Teste une condition d'afficher_si
saisies_tester_condition_afficher_si_string()  : bool
Teste un condition d'afficher_si lorsque la valeur envoyée par le formulaire est une chaîne
saisies_tester_condition_afficher_si_array()  : bool
Teste un condition d'afficher_si lorsque la valeur postée est un tableau
saisies_afficher_si_get_valeur_config()  : string
Retourne la valeur d'une config, si nécessaire
saisies_afficher_si_secure()  : bool
Vérifie qu'une condition est sécurisée IE : ne permet pas d'executer n'importe quel code arbitraire.
saisies_afficher_si_verifier_syntaxe()  : bool
Vérifie qu'une condition respecte la syntaxe formelle
saisies_afficher_si_parser_valeur_MATCH()  : array<string|int, mixed>
Décompose une chaine '/regex/modificateur'
saisies_verifier_coherence_afficher_si()  : string
Vérifier que les afficher_si dans un tableau de saisies sont cohérents A savoir qu'on ne demande pas un test sur un champ inexistans

Functions

saisies_parser_condition_afficher_si()

Reçoit une condition la parse pour trouver champs/opérateurs/valeurs etc.

saisies_parser_condition_afficher_si(string $condition[, mixed $no_arobase = null ]) : array<string|int, mixed>
Parameters
$condition : string
$no_arobase : mixed = null
Return values
array<string|int, mixed>

tableau d'analyse (resultat d'un preg_match_all) montrant sous condition par sous condition l'analyse en champ/opérateur/valeur etc.

saisies_afficher_si_filtrer_parse_condition()

Filtrer le retour d'un parsage d'un test d'afficher_si, pour ne pas garder des infos qui ne servent pas par là suite.

saisies_afficher_si_filtrer_parse_condition(array<string|int, mixed> $parse) : array<string|int, mixed>

IE : si la REGEXP était optimale, on n'aurai pas besoin de cette fonction Note : on garde les fonctions entrées vides, car parfois besoin de distinguer vide de null

Parameters
$parse : array<string|int, mixed>
Return values
array<string|int, mixed>

$parse

saisies_afficher_si_evaluer_plugin()

Retourne le résultat de l'évaluation d'un plugin actif

saisies_afficher_si_evaluer_plugin(string $champ[, string $negation = '' ]) : bool
Parameters
$champ : string

(sans les @@)

$negation : string = ''

! si on doit nier

Return values
bool

'' ('' si jamais on ne teste pas un plugin)

saisies_tester_condition_afficher_si()

Teste une condition d'afficher_si

saisies_tester_condition_afficher_si(string|array<string|int, mixed> $valeur_champ, string $total[, string $operateur = '' ][, string $valeur = '' ][, string $negation = '' ]) : bool
Parameters
$valeur_champ : string|array<string|int, mixed>

la valeur du champ à tester. Cela peut être :

  • un string
  • un tableau
  • un tableau sérializé
$total : string

TOTAL si on demande de faire le décompte dans un tableau

$operateur : string = ''

: l'opérateur

$valeur : string = ''

la valeur à tester

$negation : string = ''

y-a-t-il un négation avant le test ? '!' si oui

Return values
bool

false / true selon la condition

saisies_tester_condition_afficher_si_string()

Teste un condition d'afficher_si lorsque la valeur envoyée par le formulaire est une chaîne

saisies_tester_condition_afficher_si_string(string $valeur_champ, string $operateur, string|int $valeur) : bool
Parameters
$valeur_champ : string

la valeur du champ à tester.

$operateur : string

: l'opérateur:

$valeur : string|int

la valeur à tester.

Return values
bool

false / true selon la condition

saisies_tester_condition_afficher_si_array()

Teste un condition d'afficher_si lorsque la valeur postée est un tableau

saisies_tester_condition_afficher_si_array(array<string|int, mixed> $valeur_champ, mixed $total, string $operateur, string $valeur) : bool
Parameters
$valeur_champ : array<string|int, mixed>

la valeur du champ à tester.

$total : mixed
$operateur : string

: l'opérateur:

$valeur : string

la valeur à tester pour un IN. Par exemple "23" ou encore "23,25"

Return values
bool

false / true selon la condition

saisies_afficher_si_get_valeur_config()

Retourne la valeur d'une config, si nécessaire

saisies_afficher_si_get_valeur_config(string $champ) : string
Parameters
$champ : string

le "champ" a tester : config:xxx ou un vrai champ

Return values
string

saisies_afficher_si_secure()

Vérifie qu'une condition est sécurisée IE : ne permet pas d'executer n'importe quel code arbitraire.

saisies_afficher_si_secure(string $condition[, array<string|int, mixed> $tests = [] ]) : bool
Parameters
$condition : string
$tests : array<string|int, mixed> = []

tableau des tests parsés

Return values
bool

true si secure / false sinon

saisies_afficher_si_verifier_syntaxe()

Vérifie qu'une condition respecte la syntaxe formelle

saisies_afficher_si_verifier_syntaxe(string $condition[, array<string|int, mixed> $tests = [] ]) : bool
Parameters
$condition : string
$tests : array<string|int, mixed> = []

liste des tests simples

Return values
bool

saisies_afficher_si_parser_valeur_MATCH()

Décompose une chaine '/regex/modificateur'

saisies_afficher_si_parser_valeur_MATCH(string $valeur) : array<string|int, mixed>
Parameters
$valeur : string
Return values
array<string|int, mixed>

string, 'modificateur' => string )

saisies_verifier_coherence_afficher_si()

Vérifier que les afficher_si dans un tableau de saisies sont cohérents A savoir qu'on ne demande pas un test sur un champ inexistans

saisies_verifier_coherence_afficher_si(array<string|int, mixed> $saisies) : string
Parameters
$saisies : array<string|int, mixed>
Return values
string

erreurs


        
On this page

Search results