Documentation du code de SPIP et de ses plugins

Saisies

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()  : 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 inexistant
saisies_verifier_coherence_afficher_si_par_champ()  : bool
Vérifie qu'un champ testé dans un `afficher_si` (ce qui est donc entre `@@`) se trouve dans la liste des saisies proposées en tenant compte du fait qu'on peut avoir : - @plugin:xx@ - @config:xxx@ - @choix_grille_1[soustruc]@

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[, null|string $no_arobase = null ]) : array<string|int, mixed>
Parameters
$condition : string
$no_arobase : null|string = null

, permet de ne pas parser le arobase

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'aurait 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[, array<string|int, mixed> $modificateur = [] ][, 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é
$modificateur : array<string|int, mixed> = []

Fonctions applicables au champ de saisie pour en modifier la valeur

$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, array<string|int, mixed> $modificateur, string $operateur, string|int $valeur) : bool
Parameters
$valeur_champ : string

la valeur du champ à tester.

$modificateur : array<string|int, mixed>

Fonctions applicables au champ de saisie pour en modifier la valeur

$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, array<string|int, mixed> $modificateur, string $operateur, string $valeur) : bool
Parameters
$valeur_champ : array<string|int, mixed>

la valeur du champ à tester.

$modificateur : array<string|int, mixed>

Fonctions applicables au champ de saisie pour en modifier la valeur

$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) : mixed
Parameters
$valeur : string
Tags
@return

array( 'regexp' => 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 inexistant

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

erreurs

saisies_verifier_coherence_afficher_si_par_champ()

Vérifie qu'un champ testé dans un `afficher_si` (ce qui est donc entre `@@`) se trouve dans la liste des saisies proposées en tenant compte du fait qu'on peut avoir : - @plugin:xx@ - @config:xxx@ - @choix_grille_1[soustruc]@

saisies_verifier_coherence_afficher_si_par_champ(string $champ, array<string|int, mixed> $saisies_par_nom) : bool
Parameters
$champ : string

sans les @ d'encadrement

$saisies_par_nom : array<string|int, mixed>
Return values
bool

        
On this page

Search results