style: `and`->`&&` ; `or`->||`

pull/303/head
Maïeul 2 months ago committed by Maïeul
parent 6e9463d480
commit c0c131df22

@ -37,7 +37,7 @@ function action_deplacer_saisie_dist() {
}
// tester @id et [@id] (fieldset)
if ($ou and !isset($saisies_actuelles[$ou]) and !isset($saisies_actuelles[ substr($ou, 1, -1) ])) {
if ($ou && !isset($saisies_actuelles[$ou]) && !isset($saisies_actuelles[ substr($ou, 1, -1) ])) {
return '';
}

@ -17,11 +17,8 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* Par ex 'Ligne1|Colonne1' => 'Ma première ligne|Ma première colonne'
**/
function champs_extras_calculer_balise_LISTER_VALEURS_choix_grille($objet, $colonne, $cles) {
if (
$options = calculer_balise_CHAMP_EXTRA($objet, $colonne)
and isset($options['data_rows'])
and isset($options['data_cols'])
) {
$options = calculer_balise_CHAMP_EXTRA($objet, $colonne);
if (isset($options['data_rows']) && isset($options['data_cols'])) {
$data_rows = saisies_chaine2tableau($options['data_rows']);
$data_cols = saisies_chaine2tableau($options['data_cols']);
$retour = [];

@ -38,12 +38,14 @@ function formulaires_construire_formulaire_charger($identifiant, $formulaire_ini
// Si pas de session, on prend le formulaire initial comme formulaire actuel,
// ou bien si la session est trop trop veille, on prend le formulaire initial comme formulaire
$formulaire_actuel = session_get($identifiant);
if (
is_null($formulaire_actuel = session_get($identifiant))
or
($md5_precedent_formulaire_initial
and
$md5_formulaire_initial != $md5_precedent_formulaire_initial and $_SERVER['REQUEST_METHOD'] === 'GET')
is_null($formulaire_actuel)
|| (
$md5_precedent_formulaire_initial
&& $md5_formulaire_initial != $md5_precedent_formulaire_initial
&& $_SERVER['REQUEST_METHOD'] === 'GET'
)
) {
session_set($identifiant, $formulaire_initial);
session_set($identifiant . '_md5_formulaire_initial', $md5_formulaire_initial);
@ -67,7 +69,7 @@ function formulaires_construire_formulaire_charger($identifiant, $formulaire_ini
}
// La liste des options globales qu'on peut configurer, si elles existent
if (isset($options['options_globales']) and is_array($options['options_globales'])) {
if (is_array($options['options_globales'] ?? '')) {
$contexte['_activer_options_globales'] = true;
if (isset($formulaire_actuel['options'])) {
$contexte['options_globales'] = $formulaire_actuel['options'];
@ -78,12 +80,12 @@ function formulaires_construire_formulaire_charger($identifiant, $formulaire_ini
}
// La liste des saisies
if (isset($options['uniquement_sql']) and $options['uniquement_sql']) {
if ($options['uniquement_sql'] ?? '') {
$saisies_disponibles = saisies_lister_disponibles_sql('saisies', false);
} else {
$saisies_disponibles = saisies_lister_disponibles('saisies', false);
}
if (isset($options['saisies_exclues']) and is_array($options['saisies_exclues'])) {
if (is_array($options['saisies_exclues'] ?? '')) {
$saisies_disponibles = array_diff_key($saisies_disponibles, array_flip($options['saisies_exclues']));
}
$contexte['_saisies_disponibles_par_categories'] = saisies_regrouper_disponibles_par_categories($saisies_disponibles);
@ -106,10 +108,10 @@ function formulaires_construire_formulaire_verifier($identifiant, $formulaire_in
// On ne fait rien du tout si on n'est pas dans l'un de ces cas
if (
!(
$nom_ou_id = $configurer_saisie = _request('configurer_saisie')
or $nom_ou_id = $enregistrer_saisie = _request('enregistrer_saisie')
or $configurer_globales = _request('configurer_globales')
or $enregistrer_globales = _request('enregistrer_globales')
($nom_ou_id = $configurer_saisie = _request('configurer_saisie'))
|| ($nom_ou_id = $enregistrer_saisie = _request('enregistrer_saisie'))
|| ($configurer_globales = _request('configurer_globales'))
|| ($enregistrer_globales = _request('enregistrer_globales'))
)
) {
return $erreurs;
@ -121,7 +123,7 @@ function formulaires_construire_formulaire_verifier($identifiant, $formulaire_in
$formulaire_actuel = session_get($identifiant);
// Gestion de la config globales
if ($configurer_globales or $enregistrer_globales) {
if ($configurer_globales || $enregistrer_globales) {
$options['options_globales'] = saisies_fieldsets_en_onglets($options['options_globales'], $identifiant, true);
$options['options_globales'] = saisies_transformer_option($options['options_globales'], 'conteneur_class', '#(.*)#', '\1 pleine_largeur');
array_walk_recursive($options['options_globales'], 'construire_formulaire_transformer_nom', 'options_globales[@valeur@]');
@ -150,12 +152,12 @@ function formulaires_construire_formulaire_verifier($identifiant, $formulaire_in
return $erreurs;
}
// La liste des saisies
if (isset($options['uniquement_sql']) and $options['uniquement_sql']) {
if ($options['uniquement_sql'] ?? '') {
$saisies_disponibles = saisies_lister_disponibles_sql('saisies', true);
} else {
$saisies_disponibles = saisies_lister_disponibles('saisies', true);
}
if (isset($options['saisies_exclues']) and is_array($options['saisies_exclues'])) {
if (is_array($options['saisies_exclues'] ?? '')) {
$saisies_disponibles = array_diff_key($saisies_disponibles, array_flip($options['saisies_exclues']));
}
@ -169,8 +171,8 @@ function formulaires_construire_formulaire_verifier($identifiant, $formulaire_in
// S'il y a l'option adéquat, on ajoute le champ pour modifier le nom
if (
isset($options['modifier_nom']) and $options['modifier_nom']
and $chemin_nom = saisies_chercher($formulaire_config, "saisie_modifiee_{$nom}[options][description]", true)
($options['modifier_nom'] ?? '')
&& ($chemin_nom = saisies_chercher($formulaire_config, "saisie_modifiee_{$nom}[options][description]", true))
) {
$chemin_nom[] = 'saisies';
$chemin_nom[] = '0';
@ -252,7 +254,7 @@ function formulaires_construire_formulaire_verifier($identifiant, $formulaire_in
];
}
// Si le type de vérif a des options, on ajoute un fieldset
if (isset($verif['options']) and $verif['options'] and is_array($verif['options'])) {
if (is_array($verif['options'] ?? []) && ($verif['options'] ?? '')) {
$groupe = [
'saisie' => 'fieldset',
'options' => [
@ -291,7 +293,7 @@ function formulaires_construire_formulaire_verifier($identifiant, $formulaire_in
// Si la saisie possede un identifiant, on l'ajoute
// au formulaire de configuration pour ne pas le perdre en route
if (isset($saisie['identifiant']) and $saisie['identifiant']) {
if ($saisie['identifiant'] ?? '') {
$formulaire_config = saisies_inserer(
$formulaire_config,
[
@ -312,11 +314,11 @@ function formulaires_construire_formulaire_verifier($identifiant, $formulaire_in
// Si on autorise à modifier le nom ET qu'il doit être unique : on vérifie
if (
isset($options['modifier_nom']) and $options['modifier_nom']
and isset($options['nom_unique']) and $options['nom_unique']
($options['modifier_nom'] ?? '')
&& ($options['nom_unique'] ?? '')
) {
$nom_modifie = $saisie_modifiee['options']['nom'];
if ($nom_modifie != $enregistrer_saisie and saisies_chercher($formulaire_actuel, $nom_modifie)) {
if ($nom_modifie != $enregistrer_saisie && saisies_chercher($formulaire_actuel, $nom_modifie)) {
$vraies_erreurs["saisie_modifiee_{$nom}[options][nom]"] = _T('saisies:erreur_option_nom_unique');
}
}
@ -336,7 +338,7 @@ function formulaires_construire_formulaire_verifier($identifiant, $formulaire_in
}
// S'il y a des vraies erreurs au final
if ($enregistrer_globales or $enregistrer_saisie) {
if ($enregistrer_globales || $enregistrer_saisie) {
if ($vraies_erreurs) {
$erreurs = array_merge($erreurs, $vraies_erreurs);
$erreurs['message_erreur'] = singulier_ou_pluriel(count($vraies_erreurs), 'avis_1_erreur_saisie', 'avis_nb_erreurs_saisie');
@ -352,12 +354,12 @@ function formulaires_construire_formulaire_verifier($identifiant, $formulaire_in
function formulaires_construire_formulaire_traiter($identifiant, $formulaire_initial = [], $options = []) {
$retours = [];
if (isset($options['uniquement_sql']) and $options['uniquement_sql']) {
if ($options['uniquement_sql'] ?? '') {
$saisies_disponibles = saisies_lister_disponibles_sql('saisies', true);
} else {
$saisies_disponibles = saisies_lister_disponibles('saisies', true);
}
if (isset($options['saisies_exclues']) and is_array($options['saisies_exclues'])) {
if (is_array($options['saisies_exclues'] ?? '')) {
$saisies_disponibles = array_diff_key($saisies_disponibles, array_flip($options['saisies_exclues']));
}
@ -381,7 +383,8 @@ function formulaires_construire_formulaire_traiter($identifiant, $formulaire_ini
]
];
// S'il y a des valeurs par défaut pour ce type de saisie, on les ajoute
if (($defaut = $saisies_disponibles[$ajouter_saisie]['defaut']) and is_array($defaut)) {
$defaut = $saisies_disponibles[$ajouter_saisie]['defaut'] ?? '';
if (is_array($defaut)) {
$defaut = _T_ou_typo($defaut, 'multi');
$saisie = array_replace_recursive($saisie, $defaut);
@ -392,9 +395,13 @@ function formulaires_construire_formulaire_traiter($identifiant, $formulaire_ini
} else {
$saisie_de_fin = ['saisie' => 'nope'];
}
if (isset($saisie_de_fin['saisies']) and ($saisie['saisie'] !== $saisie_de_fin['saisie'])) {
if (isset($saisie_de_fin['saisies']) && ($saisie['saisie'] !== $saisie_de_fin['saisie'])) {
$saisies_fieldset_fin = &$saisie_de_fin['saisies'];
while (is_array($saisies_fieldset_fin) and isset(array_slice($saisies_fieldset_fin, -1, 1)[0]['saisies']) and !isset($saisie['saisies'])) {
while (
is_array($saisies_fieldset_fin)
&& isset(array_slice($saisies_fieldset_fin, -1, 1)[0]['saisies'])
&& !isset($saisie['saisies'])
) {
$fin = &$saisies_fieldset_fin[count($saisies_fieldset_fin) - 1];
$saisies_fieldset_fin = &$fin['saisies'];
}
@ -483,7 +490,7 @@ function formulaires_construire_formulaire_traiter($identifiant, $formulaire_ini
*
**/
function construire_formulaire_transformer_nom(&$valeur, string $cle, string $transformation) {
if ($cle == 'nom' and is_string($valeur)) {
if ($cle == 'nom' && is_string($valeur)) {
$valeur = str_replace('@valeur@', $valeur, $transformation);
}
}
@ -578,7 +585,7 @@ function construire_formulaire_generer_saisie_configurable(array $saisie, array
$saisie['options']['readonly'] = 'oui';
// On vire les sous-saisies s'il y en a
if (isset($saisie['saisies']) and $saisie['saisies'] and is_array($saisie['saisies'])) {
if (is_array($saisie['saisies'] ?? '') && $saisie['saisies']) {
$nb_champs_masques = count(saisies_lister_champs($saisie['saisies']));
$saisie['saisies'] = [
[
@ -702,7 +709,7 @@ function construire_formulaire_generer_saisie_configurable(array $saisie, array
**/
function saisie_option_contenu_vide($var): bool {
if (!$var) {
if (is_string($var) and strlen($var)) {
if (is_string($var) && strlen($var)) {
return true;
}
return false;

@ -69,12 +69,12 @@ if (!function_exists('_T_ou_typo')) {
}
// Si la valeur est bien une chaine (et pas non plus un entier déguisé)
if (is_string($valeur) and !is_numeric($valeur)) {
if (is_string($valeur) && !is_numeric($valeur)) {
$presence_idiome = strpos($valeur, '<:');
// Si la chaine est du type <:truc:> on passe à _T()
if (
$presence_idiome === 0
and preg_match('/^\<:([^>]*?):\>$/', $valeur, $match)
&& preg_match('/^\<:([^>]*?):\>$/', $valeur, $match)
) {
$valeur = _T($match[1]);
} else {
@ -91,7 +91,7 @@ if (!function_exists('_T_ou_typo')) {
if (
$mode_typo === 'toujours'
or ($mode_typo === 'multi' and ($presence_idiome or strpos($valeur, '<multi>') !== false))
|| ($mode_typo === 'multi' && ($presence_idiome || strpos($valeur, '<multi>') !== false))
) {
include_spip('inc/texte');
// définir le connect pour éviter de déclencher les sécurités dans typo

@ -60,7 +60,7 @@ function saisie_editable($champ, $env, $utiliser_editable = true) {
}
}
// sinon, si on a des sous saisies
if (isset($champ['saisies']) and is_array($champ['saisies'])) {
if (is_array($champ['saisies'] ?? '')) {
foreach ($champ['saisies'] as $saisie) {
if (saisie_editable($saisie, $env, false)) {
return true;
@ -117,9 +117,9 @@ function saisies_generer_html($champ, $env = []) {
// S'il y a le détail des saisies du même formulaire, on le passe en contexte. Utiliser pour générer correctement les afficher_si
// Attention, en cas de multi-étapes, on passe le contexte de toutes les saisies, classées par etape en cherchant par priorité dans `saisies_par_etapes`, puis `_saisies_par_etapes`, puis `saisies` qu'on regroupe en étapes.
if (isset($env['_etape']) and isset($env['saisies_par_etapes'])) {
if (isset($env['_etape']) && isset($env['saisies_par_etapes'])) {
$contexte['_saisies'] = $env['saisies_par_etapes'];
} elseif (isset($env['_etape']) and isset($env['_saisies_par_etapes'])) {
} elseif (isset($env['_etape']) && isset($env['_saisies_par_etapes'])) {
$contexte['_saisies'] = $env['_saisies_par_etapes'];
} else {
$contexte['_saisies'] = isset($env['saisies']) ? $env['saisies'] : [];
@ -128,7 +128,7 @@ function saisies_generer_html($champ, $env = []) {
// Peut-être des transformations à faire sur les options textuelles
$options = isset($champ['options']) ? $champ['options'] : [];
foreach ($options as $option => $valeur) {
if (substr($option, 0, 4) === 'data' and !is_array($valeur)) {//data, ou datas, ou data_rows, ou data_cols
if (substr($option, 0, 4) === 'data' && !is_array($valeur)) {//data, ou datas, ou data_rows, ou data_cols
// exploser une chaine datas en tableau
$options[$option] = _T_ou_typo(saisies_chaine2tableau($valeur), 'multi');
} else {
@ -155,7 +155,7 @@ function saisies_generer_html($champ, $env = []) {
}
// Si env est définie dans les options ou qu'il y a des enfants, on ajoute tout l'environnement
if (isset($contexte['env']) or (isset($champ['saisies']) and is_array($champ['saisies']))) {
if (isset($contexte['env']) || is_array($champ['saisies'] ?? '')) {
unset($contexte['env']);
// on sauve l'ancien environnement
@ -169,11 +169,7 @@ function saisies_generer_html($champ, $env = []) {
unset($env['inserer_fin']);
unset($env['id']);
$saisies_disponibles = saisies_lister_disponibles();
if (
isset($saisies_disponibles[$contexte['type_saisie']])
and isset($saisies_disponibles[$contexte['type_saisie']]['options'])
and is_array($saisies_disponibles[$contexte['type_saisie']]['options'])
) {
if (isset($saisies_disponibles[$contexte['type_saisie']]) && is_array($saisies_disponibles[$contexte['type_saisie']]['options'] ?? '')) {
$options_a_supprimer = array_merge(
saisies_lister_champs($saisies_disponibles[$contexte['type_saisie']]['options']),
saisies_lister_champs($saisies_disponibles[$contexte['type_saisie']]['options_dev'] ?? [])
@ -201,8 +197,8 @@ function saisies_generer_html($champ, $env = []) {
// Si le nom du champ est un tableau indexé, il faut parser !
if (
isset($contexte['nom'])
and preg_match('/([\w]+)((\[[\w]+\])+)/', $contexte['nom'], $separe)
and isset($env[$separe[1]])
&& preg_match('/([\w]+)((\[[\w]+\])+)/', $contexte['nom'], $separe)
&& isset($env[$separe[1]])
) {
$contexte['valeur'] = $env[$separe[1]];
preg_match_all('/\[([\w]+)\]/', $separe[2], $index);
@ -210,7 +206,7 @@ function saisies_generer_html($champ, $env = []) {
foreach ($index[1] as $cle) {
$contexte['valeur'] = isset($contexte['valeur'][$cle]) ? $contexte['valeur'][$cle] : null;
}
} elseif (isset($contexte['nom']) and isset($env[$contexte['nom']])) {
} elseif (isset($contexte['nom']) && isset($env[$contexte['nom']])) {
// Sinon la valeur est juste celle du nom si elle existe
$contexte['valeur'] = $env[$contexte['nom']];
} else {
@ -219,7 +215,7 @@ function saisies_generer_html($champ, $env = []) {
}
// Si ya des enfants on les remonte dans le contexte
if (isset($champ['saisies']) and is_array($champ['saisies'])) {
if (is_array($champ['saisies'] ?? '')) {
$contexte['saisies'] = $champ['saisies'];
}
// On génère la saisie
@ -258,7 +254,7 @@ function saisies_generer_vue($saisie, $env = [], $env_obligatoire = []) {
// Peut-être des transformations à faire sur les options textuelles
$options = $saisie['options'];
foreach ($options as $option => $valeur) {
if (substr($option, 0, 4) === 'data' and !is_array($valeur)) {//data, ou datas, ou data_rows, ou data_cols
if (substr($option, 0, 4) === 'data' && !is_array($valeur)) {//data, ou datas, ou data_rows, ou data_cols
$options[$option] = _T_ou_typo(saisies_chaine2tableau($valeur), 'multi');
} else {
$options[$option] = _T_ou_typo($valeur, 'multi');
@ -269,7 +265,7 @@ function saisies_generer_vue($saisie, $env = [], $env_obligatoire = []) {
$contexte = array_merge($contexte, $options);
// Si env est définie dans les options ou qu'il y a des enfants, on ajoute tout l'environnement
if (isset($contexte['env']) or (isset($saisie['saisies']) and is_array($saisie['saisies']))) {
if (isset($contexte['env']) || is_array($saisie['saisies'] ?? '')) {
unset($contexte['env']);
// on sauve l'ancien environnement
@ -281,10 +277,7 @@ function saisies_generer_vue($saisie, $env = [], $env_obligatoire = []) {
// certains éléments qui ne doivent absolument provenir que des options
$saisies_disponibles = saisies_lister_disponibles();
if (
isset($saisies_disponibles[$contexte['type_saisie']]['options'])
and is_array($saisies_disponibles[$contexte['type_saisie']]['options'])
) {
if (is_array($saisies_disponibles[$contexte['type_saisie']]['options'] ?? '')) {
$options_a_supprimer = array_merge(
saisies_lister_champs($saisies_disponibles[$contexte['type_saisie']]['options']),
saisies_lister_champs($saisies_disponibles[$contexte['type_saisie']]['options_dev'] ?? [])
@ -303,13 +296,13 @@ function saisies_generer_vue($saisie, $env = [], $env_obligatoire = []) {
// Dans tous les cas on récupère de l'environnement la valeur actuelle du champ
// On regarde en priorité s'il y a un tableau listant toutes les valeurs, sinon on cherchera dans l'env
$contexte['valeur'] = saisies_request($contexte['nom'], (!empty($env['valeurs']) and is_array($env['valeurs'])) ? $env['valeurs'] : $env);
$contexte['valeur'] = saisies_request($contexte['nom'], (!empty($env['valeurs']) && is_array($env['valeurs'])) ? $env['valeurs'] : $env);
if (is_null($contexte['valeur'])) {
$contexte['valeur'] = '';
}
// Si ya des enfants on les remonte dans le contexte
if (isset($saisie['saisies']) and is_array($saisie['saisies'])) {
if (is_array($saisie['saisies'] ?? '')) {
$contexte['saisies'] = $saisie['saisies'];
}

@ -73,7 +73,7 @@ function saisies_afficher_si_filtrer_parse_condition($parse) {
unset($parse[$cle]);
}
}
if (isset($parse['valeur_numerique']) and $parse['valeur_numerique'] !== '') {
if (($parse['valeur_numerique'] ?? '') !== '') {
$parse['valeur'] = $parse['valeur_numerique'];
unset($parse['valeur_numerique']);
}
@ -117,7 +117,7 @@ function saisies_afficher_si_evaluer_plugin($champ, $negation = '') {
**/
function saisies_tester_condition_afficher_si($valeur_champ, $total, $operateur = '', $valeur = '', $negation = '') {
// Si pas operateur ni de valeur on test juste qu'un champ est cochée / validé
if (!$operateur and !$valeur) {
if (!$operateur && !$valeur) {
// En JS `Boolean('0')` renvoie True ;
// En PHP `boolval('0') renvoi False
// On se cale sur le comportement de JS
@ -126,10 +126,10 @@ function saisies_tester_condition_afficher_si($valeur_champ, $total, $operateur
$valeur_champ = 'oui';
}
if ($negation) {
return !(isset($valeur_champ) and $valeur_champ);
return !(isset($valeur_champ) && $valeur_champ);
}
else {
return isset($valeur_champ) and $valeur_champ;
return isset($valeur_champ) && $valeur_champ;
}
}
@ -144,7 +144,7 @@ function saisies_tester_condition_afficher_si($valeur_champ, $total, $operateur
}
}
// Transformation en tableau des valeurs et valeur_champ, si IN/!IN
if ($operateur === 'IN' or $operateur === '!IN') {
if (in_array($operateur, ['IN', '!IN'])) {
if (!is_array($valeur_champ)) {
if ($valeur_champ) {
$valeur_champ = [$valeur_champ];
@ -211,7 +211,7 @@ function saisies_tester_condition_afficher_si_array($valeur_champ, $total, $oper
} else {//Cas deux : on test une valeur
$valeur = explode(',', $valeur);
$intersection = array_intersect($valeur_champ, $valeur);
if ($operateur === '==' or $operateur === 'IN') {
if (in_array($operateur, ['==', 'IN'])) {
return count($intersection) > 0;
} else {
return count($intersection) == 0;
@ -265,7 +265,7 @@ function saisies_afficher_si_secure($condition, $tests = []) {
* @return bool
**/
function saisies_afficher_si_verifier_syntaxe($condition, $tests = []) {
if ($tests and saisies_afficher_si_secure($condition, $tests)) {//Si cela passe la sécurité, faisons des tests complémentaires
if ($tests && saisies_afficher_si_secure($condition, $tests)) {//Si cela passe la sécurité, faisons des tests complémentaires
// parenthèses équilibrées
if (substr_count($condition, '(') != substr_count($condition, ')')) {
return false;
@ -282,11 +282,8 @@ function saisies_afficher_si_verifier_syntaxe($condition, $tests = []) {
//Vérifier la syntaxe regexp en cas de MATCH
foreach ($tests as $test) {
if (
isset($test['operateur'])
and ($test['operateur'] === 'MATCH' or $test['operateur'] === '!MATCH')
) {
if (!$regexp = afficher_si_parser_valeur_MATCH($test['valeur']) or !$regexp['regexp']) {
if (in_array($test['operateur'] ?? '', ['MATCH', '!MATCH'])) {
if (!($regexp = afficher_si_parser_valeur_MATCH($test['valeur'])) || !$regexp['regexp']) {
$expression = $test['expression'];
spip_log("Afficher_si incorrect. $expression incluant MATCH, mais valeur à tester non valide (manque // ?)", 'saisies' . _LOG_CRITIQUE);
return false;
@ -346,7 +343,7 @@ function saisies_verifier_coherence_afficher_si(array $saisies): string {
// Autoriser '@config:xxx' et '@plugin:xx@'
$champs_dans_afficher_si = array_filter($champs_dans_afficher_si, function ($champ) {
if (strpos($champ, 'config:') === 0 or strpos($champ, 'plugin:') === 0) {
if (strpos($champ, 'config:') === 0 || strpos($champ, 'plugin:') === 0) {
return false;
} else {
return true;

@ -26,7 +26,8 @@ function saisies_afficher_si_js($condition, $saisies_par_etapes = []) {
return '';
}
$saisies_par_etapes = pipeline('saisies_afficher_si_saisies', $saisies_par_etapes);
if ($etape = _request('_etape') and array_key_exists('etape_1', $saisies_par_etapes)) {
$etape = _request('_etape');
if ($etape && array_key_exists('etape_1', $saisies_par_etapes)) {
$saisies_etape_courante_par_nom = saisies_lister_par_nom($saisies_par_etapes["etape_$etape"]['saisies']);
$saisies_toutes_par_nom = saisies_lister_par_nom($saisies_par_etapes);
} else {

@ -37,15 +37,10 @@ function saisies_verifier_afficher_si(array $saisies, ?array $env = null, array
}
foreach ($saisies as $cle => $saisie) {
if (
isset($saisie['options']['afficher_si'])
and $condition = trim($saisie['options']['afficher_si'])
) {
$condition = trim($saisie['options']['afficher_si'] ?? '');
if ($condition) {
// Est-ce uniquement au remplissage?
if (
isset($saisie['options']['afficher_si_remplissage_uniquement'])
and $saisie['options']['afficher_si_remplissage_uniquement'] == 'on'
) {
if (($saisie['options']['afficher_si_remplissage_uniquement'] ?? '') == 'on') {
$remplissage_uniquement = true;
} else {
$remplissage_uniquement = false;
@ -55,7 +50,7 @@ function saisies_verifier_afficher_si(array $saisies, ?array $env = null, array
$ok = saisies_evaluer_afficher_si($condition, $env, $saisies_toutes_par_nom);
if (!$ok) {
saisies_afficher_si_liste_masquees('set', $saisie);//Retenir que la saisie a été masquée
if ($remplissage_uniquement == false or is_null($env)) {
if ($remplissage_uniquement == false || is_null($env)) {
unset($saisies[$cle]);
}
}
@ -158,7 +153,7 @@ function saisies_afficher_si_get_valeur_champ($champ, $env, $saisies_par_nom) {
$valeur = saisies_request($champ);
}
} else {
$valeur = saisies_request($champ, (!empty($env['valeurs']) and is_array($env['valeurs'])) ? $env['valeurs'] : $env);
$valeur = saisies_request($champ, (!empty($env['valeurs']) && is_array($env['valeurs'])) ? $env['valeurs'] : $env);
if (is_null($valeur)) {
$valeur = '';
}
@ -220,7 +215,7 @@ function saisies_transformer_condition_afficher_si($condition, $env = null, $sai
} else {
$nom_champ = '';
}
if (!$saisies_par_nom or isset($saisies_par_nom[$nom_champ]) or strpos($nom_champ, 'config:') === 0 or strpos($nom_champ, 'plugin:') === 0) {
if (!$saisies_par_nom || isset($saisies_par_nom[$nom_champ]) || strpos($nom_champ, 'config:') === 0 || strpos($nom_champ, 'plugin:') === 0) {
if ($no_arobase === null) {
$valeur_champ = saisies_afficher_si_get_valeur_champ($nom_champ, $env, $saisies_par_nom);
} else {

@ -108,9 +108,9 @@ function saisies_determiner_deplacement_rapide($saisies, $etape, $sens) {
$nb_total_etapes = count($saisies_par_etapes);
$i = $etape + $sens;
$etape_a_conserver = false;//Basculé à true dès qu'un afficher_si réussit ou si pas d'afficher_si
while (!$etape_a_conserver and $i <= $nb_total_etapes) {//Tester les futures étapes 1 par 1
while (!$etape_a_conserver && $i <= $nb_total_etapes) {//Tester les futures étapes 1 par 1
$etape = $saisies_par_etapes["etape_$i"];
if (!isset($etape['options']['afficher_si']) or !$etape['options']['afficher_si']) {
if (!($etape['options']['afficher_si'] ?? '')) {
$etape_a_conserver = true;
} elseif (!in_array($etape, $saisies_afficher_si_liste_masquees)) {
$etape_a_conserver = true;

@ -22,12 +22,12 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* @return array Tableau de la saisie complété de l'identifiant
**/
function saisie_identifier($saisie, $regenerer = false) {
if (!isset($saisie['identifiant']) or !$saisie['identifiant']) {
if (!($saisie['identifiant'] ?? '')) {
$saisie['identifiant'] = uniqid('@');
} elseif ($regenerer) {
$saisie['identifiant'] = uniqid('@');
}
if (isset($saisie['saisies']) and is_array($saisie['saisies'])) {
if (is_array($saisie['saisies'] ?? '')) {
$saisie['saisies'] = saisies_identifier($saisie['saisies'], $regenerer);
}

@ -26,8 +26,8 @@ function saisies_lister_par_identifiant($contenu, $avec_conteneur = true) {
if (is_array($contenu)) {
foreach ($contenu as $ligne) {
if (is_array($ligne)) {
$enfants_presents = (isset($ligne['saisies']) and is_array($ligne['saisies']));
if (array_key_exists('saisie', $ligne) and (!$enfants_presents or $avec_conteneur)) {
$enfants_presents = is_array($ligne['saisies'] ?? '');
if (array_key_exists('saisie', $ligne) && (!$enfants_presents || $avec_conteneur)) {
$saisies[$ligne['identifiant']] = $ligne;
}
if ($enfants_presents) {
@ -56,8 +56,8 @@ function saisies_lister_par_nom($contenu, $avec_conteneur = true) {
if (is_array($ligne)) {
if (
array_key_exists('saisie', $ligne)
and (!isset($ligne['saisies']) or !is_array($ligne['saisies']) or $avec_conteneur)
and isset($ligne['options'])
&& (!is_array($ligne['saisies'] ?? '') || $avec_conteneur)
&& isset($ligne['options'])
) {
$saisies[$ligne['options']['nom']] = $ligne;
}
@ -109,7 +109,7 @@ function saisies_lister_avec_option($option, $saisies, $tri = 'nom') {
}
foreach ($saisies as $nom_ou_id => $saisie) {
if (isset($saisie['options'][$option]) and $saisie['options'][$option]) {
if ($saisie['options'][$option] ?? '') {
$saisies_option[$nom_ou_id] = $saisie;
}
}
@ -150,14 +150,14 @@ function saisies_lister_avec_type($saisies, $type, $tri = 'nom', $avec_conteneur
// tri par nom si ce n'est pas le cas
$s = array_keys($saisies);
if (is_int(array_shift($s)) and $tri and !$avec_conteneur) {
if (is_int(array_shift($s)) && $tri && !$avec_conteneur) {
$trier = 'saisies_lister_par_' . $tri;
$saisies = $trier($saisies);
}
foreach ($saisies as $nom_ou_id => $saisie) {
if (in_array($saisie['saisie'], $type)) {
if ($avec_conteneur and isset($saisie['saisies'])) {
if ($avec_conteneur && isset($saisie['saisies'])) {
$saisie['saisies'] = saisies_lister_avec_type($saisie['saisies'], $type, $tri, $avec_conteneur);
}
$saisies_type[$nom_ou_id] = $saisie;
@ -181,10 +181,10 @@ function saisies_lister_par_type($contenu) {
if (is_array($contenu)) {
foreach ($contenu as $ligne) {
if (is_array($ligne)) {
if (array_key_exists('saisie', $ligne) and (!isset($ligne['saisies']))) {
if (array_key_exists('saisie', $ligne) && (!isset($ligne['saisies']))) {
$saisies[ $ligne['saisie'] ][ $ligne['options']['nom'] ] = $ligne;
}
if (isset($ligne['saisies']) and is_array($ligne['saisies'])) {
if (is_array($ligne['saisies'] ?? '')) {
$saisies = array_merge_recursive($saisies, saisies_lister_par_type($ligne['saisies']));
}
}
@ -210,7 +210,7 @@ function saisies_lister_par_etapes($saisies, $check_only = false) {
$saisies_etapes = false;
$etapes = 0;
if (isset($saisies['options']['etapes_activer']) and $saisies['options']['etapes_activer']) {
if ($saisies['options']['etapes_activer'] ?? '') {
if (isset($saisies['options']['etapes_ignorer_recapitulatif'])) {
$ignorer_recapitulatif = $saisies['options']['etapes_ignorer_recapitulatif'];
} else {
@ -220,7 +220,7 @@ function saisies_lister_par_etapes($saisies, $check_only = false) {
// Un premier parcourt pour compter les étapes
unset($saisies['options']);
foreach ($saisies as $cle => $saisie) {
if (is_array($saisies) and $saisie['saisie'] == 'fieldset') {
if (is_array($saisies) && $saisie['saisie'] == 'fieldset') {
$etapes++;
}
}
@ -236,7 +236,7 @@ function saisies_lister_par_etapes($saisies, $check_only = false) {
// On reparcourt pour lister les saisies
foreach ($saisies as $cle => $saisie) {
// Si c'est un groupe, on ajoute son contenu à l'étape
if (isset($saisie['saisie']) and $saisie['saisie'] == 'fieldset') {
if (($saisie['saisie'] ?? '') === 'fieldset') {
$compteur_etape++;
// S'il y a eu des champs hors groupe avant, on fusionne
if (isset($saisies_etapes["etape_$compteur_etape"]['saisies'])) {
@ -460,7 +460,7 @@ function saisies_saisie_est_tabulaire($saisie) {
if (in_array($saisie['saisie'], ['checkbox', 'selection_multiple', 'choix_grille'])) {
$est_tabulaire = true;
} else {
if ($saisie['saisie'] === 'selection' and isset($saisie['options']['multiple']) and $saisie['options']['multiple']) {
if ($saisie['saisie'] === 'selection' && ($saisie['options']['multiple'] ?? '')) {
$est_tabulaire = true;
} else {
$est_tabulaire = false;
@ -479,7 +479,7 @@ function saisies_saisie_est_tabulaire($saisie) {
* @return bool
**/
function saisies_saisie_est_fichier($saisie) {
$file = (($saisie['saisie'] == 'input' and isset($saisie['options']['type']) and $saisie['options']['type'] == 'file') or $saisie['saisie'] == 'fichiers');
$file = (($saisie['saisie'] === 'input' && ($saisie['options']['type'] ?? '') === 'file') || $saisie['saisie'] == 'fichiers');
return pipeline(
'saisie_est_fichier',
['args' => $saisie, 'data' => $file]
@ -496,7 +496,7 @@ function saisies_saisie_est_fichier($saisie) {
*/
function saisies_chercher($saisies, $id_ou_nom_ou_chemin, $retourner_chemin = false) {
unset($saisies['options']);
if (is_array($saisies) and $id_ou_nom_ou_chemin) {
if (is_array($saisies) && $id_ou_nom_ou_chemin) {
if (is_string($id_ou_nom_ou_chemin)) {
$nom = $id_ou_nom_ou_chemin;
// identifiant ? premier caractere @
@ -509,8 +509,8 @@ function saisies_chercher($saisies, $id_ou_nom_ou_chemin, $retourner_chemin = fa
return $retourner_chemin ? $chemin : $saisie;
// sinon a telle des enfants ? et si c'est le cas, cherchons dedans
} elseif (
isset($saisie['saisies']) and is_array($saisie['saisies']) and $saisie['saisies']
and ($retour = saisies_chercher($saisie['saisies'], $nom, $retourner_chemin))
is_array($saisie['saisies'] ?? '') && ($saisie['saisies'] ?? [])
&& ($retour = saisies_chercher($saisie['saisies'], $nom, $retourner_chemin))
) {
return $retourner_chemin ? array_merge($chemin, ['saisies'], $retour) : $retour;
}
@ -529,7 +529,7 @@ function saisies_chercher($saisies, $id_ou_nom_ou_chemin, $retourner_chemin = fa
}
// Si c'est une vraie saisie
if ($saisie['saisie'] and $saisie['options']['nom']) {
if (($saisie['saisie'] ?? '') && ($saisie['options']['nom'] ?? '')) {
return $retourner_chemin ? $chemin : $saisie;
}
}
@ -548,18 +548,7 @@ function saisies_chercher($saisies, $id_ou_nom_ou_chemin, $retourner_chemin = fa
function saisies_verifier_gel_saisie($description) {
$options = $description['options'];
//As t-on bloqué d'une manière ou d'une autre la valeur postée?
if (
(
isset($options['readonly'])
and $options['readonly']
)
or (
isset($options['disable'])
and isset($options['disable_avec_post'])
and $options['disable']
and $options['disable_avec_post']
)
) {
if (($options['readonly'] ?? '') || (($options['disable'] ?? '') && ($options['disable_avec_post'] ?? ''))) {
return true;
} else {
return false;

@ -31,7 +31,7 @@ function saisies_lister_disponibles($saisies_repertoire = 'saisies', $inclure_ob
// On ne garde que les saisies qui ont bien le HTML avec !
if (
file_exists("$dossier$type_saisie.html")
and (
&& (
is_array($saisie = saisies_charger_infos($type_saisie))
)
) {
@ -87,7 +87,7 @@ function saisies_lister_disponibles_sql($saisies_repertoire = 'saisies', $inclur
$saisies = [];
$saisies_disponibles = saisies_lister_disponibles($saisies_repertoire, $inclure_obsoletes);
foreach ($saisies_disponibles as $type => $saisie) {
if (isset($saisie['defaut']['options']['sql']) and $saisie['defaut']['options']['sql']) {
if ($saisie['defaut']['options']['sql'] ?? '') {
$saisies[$type] = $saisie;
}
}
@ -114,11 +114,12 @@ function saisies_charger_infos($type_saisie, $saisies_repertoire = 'saisies') {
if (is_array($saisie)) {
$saisie = saisies_recuperer_heritage($saisie, $saisies_repertoire);
$saisie['titre'] = (isset($saisie['titre']) and $saisie['titre'])
? _T_ou_typo($saisie['titre']) : $type_saisie;
$saisie['description'] = (isset($saisie['description']) and $saisie['description'])
? _T_ou_typo($saisie['description']) : '';
if (isset($saisie['icone']) and $saisie['icone']) {
$saisie['titre'] = _T_ou_typo($saisie['titre'] ?? '');
if (!$saisie['titre']) {
$saisie['titre'] = $type_saisie;
};
$saisie['description'] = _T_ou_typo($saisie['description'] ?? '');
if ($saisie['icone'] ?? '') {
$icone = $saisie['icone'];
$saisie['icone'] = chemin_image($icone);
if (!$saisie['icone']) {
@ -168,7 +169,7 @@ function saisies_recuperer_heritage($saisie, $saisies_repertoire = 'saisies') {
} else {
continue;
}
if (isset($option['mode']) and $option['mode'] === 'fusionner') {
if (($option['mode'] ?? '') === 'fusionner') {
$fusion = true;
} else {
$fusion = false;
@ -304,7 +305,7 @@ function saisies_regrouper_disponibles_par_categories($saisies = [], $categorie_
}
// Si l'On demande uniquement une cate
if ($categorie_demande and $categorie_demande !== $categorie) {
if ($categorie_demande && $categorie_demande !== $categorie) {
continue;
}
@ -335,13 +336,13 @@ function saisies_regrouper_disponibles_par_categories($saisies = [], $categorie_
* @return int
**/
function saisies_lister_disponibles_par_categories_usort($saisie1, $saisie2) {
if (!isset($saisie1['categorie']['rang']) and isset($saisie2['categorie']['rang'])) {
if (!isset($saisie1['categorie']['rang']) && isset($saisie2['categorie']['rang'])) {
return +1;
}
if (isset($saisie1['categorie']['rang']) and !isset($saisie2['categorie']['rang'])) {
if (isset($saisie1['categorie']['rang']) && !isset($saisie2['categorie']['rang'])) {
return -1;
}
if (!isset($saisie1['categorie']['rang']) and !isset($saisie2['categorie']['rang'])) {
if (!isset($saisie1['categorie']['rang']) && !isset($saisie2['categorie']['rang'])) {
$rang1 = $rang2 = 0;
} else {
$rang1 = $saisie1['categorie']['rang'];

@ -75,7 +75,7 @@ function saisies_supprimer($saisies, $id_ou_nom_ou_chemin) {
* Tableau des saisies complété de la saisie insérée
**/
function saisies_inserer($saisies, $saisie, $id_ou_nom_ou_chemin = []) {
if (is_string($id_ou_nom_ou_chemin) and $id_ou_nom_ou_chemin) {//Est-ce qu'on n'a un nom ou un id ?
if (is_string($id_ou_nom_ou_chemin) && $id_ou_nom_ou_chemin) {//Est-ce qu'on n'a un nom ou un id ?
if (preg_match('/^\[(@?[\w]*)\](\[([\d])*\])*$/', $id_ou_nom_ou_chemin, $match)) {//Si [fieldset], inserer à la fin du fieldset, si [fieldset][X] inserer à la position X dans le fieldset
if (isset($match[3])) {
$position = $match[3];
@ -159,7 +159,7 @@ function saisies_inserer_selon_chemin($saisies, $saisie, $chemin = []) {
unset($saisies['options']);
}
// On vérifie quand même que ce qu'on veut insérer est correct
if (isset($saisie['saisie']) and isset($saisie['options']['nom'])) {
if (isset($saisie['saisie']) && isset($saisie['options']['nom'])) {
// ajouter un identifiant
$saisie = saisie_identifier($saisie);
@ -171,8 +171,8 @@ function saisies_inserer_selon_chemin($saisies, $saisie, $chemin = []) {
} elseif (is_array($chemin)) {
$position = array_pop($chemin);
foreach ($chemin as $cle) {
// Si la clé est un conteneur de saisies "saisies" et qu'elle n'existe pas encore, on la crée
if ($cle == 'saisies' and !isset($parent[$cle])) {
// Si la clé est un conteneur de saisies ("saisies") et qu'elle n'existe pas encore, on la crée
if ($cle == 'saisies' && !isset($parent[$cle])) {
$parent[$cle] = [];
}
$parent = &$parent[$cle];
@ -242,7 +242,7 @@ function saisies_dupliquer($saisies, $id_ou_nom_ou_chemin) {
*/
function saisies_deplacer($saisies, $id_ou_nom_ou_chemin, $ou, $avant_ou_apres = 'avant') {
// Si le paramètre $avant_ou_apres est erronné, on arrête là
if ($avant_ou_apres !== 'avant' and $avant_ou_apres !== 'apres') {
if ($avant_ou_apres !== 'avant' && $avant_ou_apres !== 'apres') {
return $saisies;
}
// On récupère le contenu de la saisie à déplacer
@ -354,27 +354,26 @@ function saisies_modifier($saisies, $id_ou_nom_ou_chemin, $modifs, $fusion = fal
// On récupère les enfants tels quels s'il n'y a pas des enfants dans la modif
if (
!isset($modifs['saisies'])
and isset($parent[$position]['saisies'])
and is_array($parent[$position]['saisies'])
&& isset($parent[$position]['saisies'])
&& is_array($parent[$position]['saisies'])
) {
$modifs['saisies'] = $parent[$position]['saisies'];
}
// Pareil pour les vérifications
if (
!isset($modifs['verifier'])
and isset($parent[$position]['verifier'])
and is_array($parent[$position]['verifier'])
&& is_array($parent[$position]['verifier'] ?? '')
) {
$modifs['verifier'] = $parent[$position]['verifier'];
}
// Si 'nouveau_type_saisie' est donnee, c'est que l'on souhaite
// peut être changer le type de saisie !
// Note : on maintient encore la syntaxe historique qui met cela dans 'options', mais elle n'est pas nécessaire et disparaitra en 5.0
if (isset($modifs['nouveau_type_saisie']) and $type = $modifs['nouveau_type_saisie']) {
// Note : on maintient encore la syntaxe historique qui met cela dans 'options', mais elle n'est pas nécessaire et disparaitra en 6.0
if ($type = ($modifs['nouveau_type_saisie'] ?? '')) {
$modifs['saisie'] = $type;
unset($modifs['nouveau_type_saisie']);
} elseif (isset($modifs['options']['nouveau_type_saisie']) and $type = $modifs['options']['nouveau_type_saisie']) {
} elseif ($type = ($modifs['options']['nouveau_type_saisie'] ?? '')) {
$modifs['saisie'] = $type;
unset($modifs['options']['nouveau_type_saisie']);
trigger_error('Dans la fonction saisie_modifier, nouveau_type_saisie doit être appelé à la racine de $modifs. L\'appel dans $options est deprécié et sera supprimé en v5.', E_USER_DEPRECATED);
@ -506,7 +505,7 @@ function saisies_mapper_option($saisies, $options, $callback, $args = [], $recur
$saisies[$cle]['options'][$option] = call_user_func_array($callback, array_merge([$saisies[$cle]['options'][$option] ?? ''], $args));
}
// On parcourt récursivement toutes les saisies enfants
if (isset($saisie['saisies']) and is_array($saisie['saisies']) and $recursif) {
if (is_array($saisie['saisies'] ?? '') && $recursif) {
$saisies[$cle]['saisies'] = saisies_mapper_option($saisie['saisies'], $option, $callback, $args, $recursif);
}
}
@ -532,7 +531,7 @@ function saisies_supprimer_option($saisies, $option, $recursif = true) {
unset($saisies[$cle]['options'][$option]);
// On parcourt récursivement toutes les saisies enfants
if (isset($saisie['saisies']) and is_array($saisie['saisies']) and $recursif) {
if (is_array($saisie['saisies'] ?? '') && $recursif) {
$saisies[$cle]['saisies'] = saisies_supprimer_option($saisie['saisies'], $option);
}
}
@ -561,7 +560,7 @@ function saisies_transformer_noms_auto($formulaire, $saisies) {
unset($new['saisies']);
$formulaire[] = $new;
if (isset($saisie['saisies']) and is_array($saisie['saisies'])) {
if (is_array($saisie['saisies'] ?? '')) {
$saisies[$cle]['saisies'] = saisies_transformer_noms_auto($formulaire, $saisie['saisies']);
}
}

@ -21,15 +21,9 @@ function saisies_migrer_afficher_si_remplissage($saisies) {
foreach ($saisies as &$saisie) {
$options = &$saisie['options'];
if (
isset($options['afficher_si_remplissage'])
and $options['afficher_si_remplissage'] != ''
) {
if ($options['afficher_si_remplissage'] ?? '') {
// si a tout hasard la personne avait rempli les deux champs afficher_si, on fusionne les conditions
if (
isset($options['afficher_si'])
and $options['afficher_si'] != ''
) {
if ($options['afficher_si'] ?? '') {
$options['afficher_si'] =
'('
. $options['afficher_si']
@ -47,7 +41,7 @@ function saisies_migrer_afficher_si_remplissage($saisies) {
}
// appliquer recursivement si on a des saisies filles
if (isset($saisie['saisies']) and is_array($saisie['saisies'])) {
if (is_array($saisie['saisies'] ?? '')) {
$saisie['saisies'] = saisies_migrer_afficher_si_remplissage($saisie['saisies']);
}
}

@ -63,7 +63,7 @@ function saisies_request_from_FILES($champ) {
$valeur = null; //On considère que par défaut on a envoyé aucun fichiers
// Si c'est un champ unique
if (!is_array($_FILES[$champ]['error']) and $_FILES[$champ]['error'] != 4) {
if (!is_array($_FILES[$champ]['error']) && $_FILES[$champ]['error'] != 4) {
$valeur = $_FILES[$champ];
} elseif (is_array($_FILES[$champ]['error'])) {
foreach ($_FILES[$champ]['error'] as $err) {
@ -180,7 +180,7 @@ function saisies_get_valeur_saisie($saisie, $valeurs = null) {
$file = saisies_saisie_est_fichier($saisie);
// Cas de la saisie 'fichiers':
if ($file and !is_array($valeurs)) {
if ($file && !is_array($valeurs)) {
$valeur = saisies_request_from_FILES($champ);
} else {// Tout type de saisie, sauf fichiers
$valeur = saisies_request($champ, $valeurs);
@ -189,7 +189,7 @@ function saisies_get_valeur_saisie($saisie, $valeurs = null) {
// - saisie destinataire, qui pourrait avoir une première option vide
if (is_array($valeur)) {
$valeur = array_filter($valeur, function ($v) {
return (!empty($v) or $v == '0');
return (!empty($v) || $v == '0');
});
}
}

@ -67,24 +67,24 @@ function saisies_verifier($formulaire, $saisies_masquees_empty_string = true, $e
// On commence par vérifier l'obligation, seulement si demandé
if (
$obligatoire
and $obligatoire != 'non'
and (
($file and $valeur == null)
or (!$file and (
&& $obligatoire != 'non'
&& (
($file && $valeur == null)
|| (!$file && (
is_null($valeur)
or (is_string($valeur) and trim($valeur) == '')
or (is_array($valeur) and count($valeur) == 0)
|| (is_string($valeur) && trim($valeur) == '')
|| (is_array($valeur) && count($valeur) == 0)
))
)
) {
$erreurs[$champ] =
(isset($saisie['options']['erreur_obligatoire']) and $saisie['options']['erreur_obligatoire'])
($saisie['options']['erreur_obligatoire'] ?? '')
? _T_ou_typo($saisie['options']['erreur_obligatoire'])
: _T('info_obligatoire');
}
// S'il y a une erreur d'obligation, on passe à la saisie suivante
if (isset($erreurs[$champ]) and $erreurs[$champ]) {
if ($erreurs[$champ] ?? '') {
continue;
}
$verifier_tous = $saisie['verifier'] ?? [];
@ -94,7 +94,7 @@ function saisies_verifier($formulaire, $saisies_masquees_empty_string = true, $e
}
//Boucle sur toutes les verif
foreach ($verifier_tous as $verifier) {
if (is_array($verifier) and $verifier) {//Sécurité d'appel
if (is_array($verifier) && $verifier) {//Sécurité d'appel
// Si on fait une vérification de type fichiers, il n'y a pas vraiment de normalisation, mais un retour d'erreur fichiers par fichiers
if ($verif_fonction) {
if ($verifier['type'] == 'fichiers') {
@ -116,7 +116,7 @@ function saisies_verifier($formulaire, $saisies_masquees_empty_string = true, $e
// Si le champ n'est pas valide par rapport au test demandé, on ajoute l'erreur
}
// S'il n'y a pas d'erreur et que la variable de normalisation a été remplie, on l'injecte dans le POST
elseif (!is_null($normaliser) and $verifier['type'] != 'fichiers') {
elseif (!is_null($normaliser) && $verifier['type'] != 'fichiers') {
saisies_set_request($champ, $normaliser, $valeurs);
}
} else {
@ -144,16 +144,18 @@ function saisies_verifier($formulaire, $saisies_masquees_empty_string = true, $e
]
);
//S'il n'y a pas d'erreur, et seulement si on vient de franchir la dernière étape, on vide les afficher_si)
if (empty($erreurs) and ($etape === count($saisies_par_etapes) and !_request('aller_a_etape', $valeurs)) or (!$etape)) {
if (
empty($erreurs)
&& ($etape === count($saisies_par_etapes)
&& !_request('aller_a_etape', $valeurs))
|| (!$etape)
) {
saisies_afficher_si_masquees_set_request_empty_string($saisies_par_etapes, $valeurs);
}
// Vérifier que les valeurs postées sont acceptables, à savoir par exemple que pour un select, ce soit ce qu'on a proposé. On vérifie cela en tout dernier, après le vidage des afficher_si car certainses saisies peuvent avoir des valeurs acceptables qui dépendant des afficher_si (exemple : les saisies calculs). Si jamais on a une valeur innacceptable, c'est que la personne a triché sur le POST en truandant le HTML, donc on s'en fiche si en retour son formulaire d'erreur n'est pas cohérent.
if (
isset($formulaire['options']['verifier_valeurs_acceptables'])
and $formulaire['options']['verifier_valeurs_acceptables']
) {
if ($formulaire['options']['verifier_valeurs_acceptables'] ?? '') {
$erreurs = saisies_verifier_valeurs_acceptables($saisies_etape_courante_apres_verification_afficher_si_par_nom, $erreurs);
}
return $erreurs;

@ -31,6 +31,6 @@ function case_valeurs_acceptables($valeur, $description) {
}
return $valeur == $defaut;
} else {
return ($valeur == $valeur_oui or $valeur == $valeur_non);
return ($valeur == $valeur_oui || $valeur == $valeur_non);
}
}

@ -20,7 +20,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* @return bool true si valeur ok, false sinon,
**/
function date_valeurs_acceptables($valeur, $description) {
if (saisies_verifier_gel_saisie($description) and isset($description['options']['defaut'])) {
if (saisies_verifier_gel_saisie($description) && isset($description['options']['defaut'])) {
$defaut = $description['options']['defaut'];
include_spip('inc/filtres');
$defaut = recup_date($defaut);

@ -20,7 +20,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* @return bool true si valeur ok, false sinon,
**/
function hidden_valeurs_acceptables($valeur, $description) {
if (isset($description['options']['defaut']) and $description['options']['defaut'] != $valeur) {
if (isset($description['options']['defaut']) && $description['options']['defaut'] != $valeur) {
return false;
} else {
return true;

@ -20,10 +20,10 @@ if (!defined('_ECRIRE_INC_VERSION')) {
**/
function selection_valeurs_acceptables($valeur, $description) {
$options = $description['options'];
if ($valeur == '' and !isset($options['obligatoire'])) {
if ($valeur == '' && !isset($options['obligatoire'])) {
return true;
}
if (saisies_verifier_gel_saisie($description) and isset($options['defaut'])) {
if (saisies_verifier_gel_saisie($description) && isset($options['defaut'])) {
return $valeur == $options['defaut'];
} else {
$data = saisies_trouver_data($description, true);

@ -28,10 +28,16 @@ function selection_multiple_valeurs_acceptables($valeur, $description) {
}
}
$data = saisies_aplatir_tableau(saisies_trouver_data($description, true));
if (isset($valeur['choix_alternatif']) and isset($description['options']['choix_alternatif']) and $description['options']['choix_alternatif'] == 'on') {
if (
isset($valeur['choix_alternatif'])
&& ($description['options']['choix_alternatif'] ?? '') == 'on'
) {
unset($valeur['choix_alternatif']);
}
if (saisies_verifier_gel_saisie($description) and isset($description['options']['defaut'])) {
if (
saisies_verifier_gel_saisie($description)
&& isset($description['options']['defaut'])
) {
// Si valeur gelée, on vérifie qu'il n'y ni plus ni moins dans ce qui a été postée
$defaut = saisies_valeur2tableau($description['options']['defaut']);
$intersection = array_intersect($defaut, $valeur);

@ -23,9 +23,9 @@ function textarea_valeurs_acceptables($valeur, $description) {
$options = $description['options'];
if (
saisies_verifier_gel_saisie($description)
and
&&
isset($options['defaut'])
and $options['defaut'] != $valeur
&& $options['defaut'] != $valeur
) {
return false;
}

@ -21,8 +21,8 @@ function saisies_afficher_si_js_defaut($parse, $saisies_form) {
// Compatibilité historique de syntaxe, avant que l'on mette tout en JSON, on envoyait directement RegExp(valeur), il fallait donc que les // soitsentsdans valeur. Mais désormais on envoie en JSON, donc on a un string, donc il faut enlever les slashs avant d'envoyer au JS
if (
isset($parse['operateur'])
and
($parse['operateur'] === 'MATCH' or $parse['operateur'] === '!MATCH')
&&
in_array($parse['operateur'], ['MATCH', '!MATCH'])
) {
include_spip('inc/saisies_afficher_si_commun');

@ -86,7 +86,7 @@ function saisie_traitement_vue($valeur, $env) {
// si traitement est renseigne, alors le champ est deja mis en forme
// (saisies)
// sinon on fait une mise en forme smart
if ($valeur and !is_array($valeur) and !isset($env['traitements'])) {
if ($valeur && !is_array($valeur) && !isset($env['traitements'])) {
if (in_array($env['type_saisie'], ['textarea'])) {
$valeur = propre($valeur);
} else {
@ -186,7 +186,10 @@ function lister_tables_objets_edit() {
$objets_edit = [];
foreach ($objets as $objet => $definition) {
if (isset($definition['editable']) and isset($definition['url_edit']) and $definition['url_edit'] != '') {
if (
isset($definition['editable'])
&& ($definition['url_edit'] ?? '')
) {
$objets_edit[$objet] = ['type' => $definition['type'], 'url_edit' => $definition['url_edit'], 'texte_objets' => $definition['texte_objets']];
}
}
@ -287,12 +290,9 @@ function saisies_picker_preselect_objet($valeur, $objet) {
// Nb : évitons des preg_match si possible
$is_objet_unique = is_numeric($valeur); // ex. : 10
$is_objet_multiple = (is_array($valeur) and is_numeric($valeur[0])); // ex. : array(10,20)
$is_objet_multiple = (is_array($valeur) && is_numeric($valeur[0])); // ex. : array(10,20)
if (
$is_objet_unique
or $is_objet_multiple
) {
if ($is_objet_unique || $is_objet_multiple) {
if ($is_objet_unique) {
$valeur = [$valeur];
}

@ -71,9 +71,9 @@ function saisies_affichage_final($flux) {
include_spip('inc/config');
if (
!lire_config('saisies/assets_global')
and $GLOBALS['html'] // si c'est bien du HTML
and strpos($flux, '<!--!inserer_saisie_editer-->') !== false // et qu'on a au moins une saisie
and strpos($flux, '<head') !== false // et qu'on a la balise <head> quelque part
&& $GLOBALS['html'] // si c'est bien du HTML
&& strpos($flux, '<!--!inserer_saisie_editer-->') !== false // et qu'on a au moins une saisie
&& strpos($flux, '<head') !== false // et qu'on a la balise <head> quelque part
) {
$head = saisies_generer_head($flux, true);
$flux = str_replace('</head>', "$head</head>", $flux);
@ -94,7 +94,7 @@ function saisies_generer_head($html_content = '', $tester_saisies = false) {
$flux = '';
include_spip('inc/filtres');
// Pas de saisie alors qu'on veux tester leur présence > hop, on retourne direct
if ($tester_saisies and strpos($html_content, '<!--!inserer_saisie_editer-->') === false) {
if ($tester_saisies && strpos($html_content, '<!--!inserer_saisie_editer-->') === false) {
return $flux;
}
@ -111,13 +111,13 @@ function saisies_generer_head($html_content = '', $tester_saisies = false) {
// si on a une saisie de type textarea avec maxlength, on va charger un script
if (!$tester_saisies or (strpos($html_content, 'textarea') !== false and strpos($html_content, 'maxlength') !== false)) {
if (!$tester_saisies || (strpos($html_content, 'textarea') !== false && strpos($html_content, 'maxlength') !== false)) {
$js = timestamp(find_in_path('javascript/saisies_textarea_counter.js'));
$ins_js .= '<script type="text/javascript">saisies_caracteres_restants = "' . _T('saisies:caracteres_restants') . '";</script>';
$ins_js .= "\n<script type='text/javascript' src='$js'></script>\n";
}
// Afficher_si
if (!$tester_saisies or strpos($html_content, 'data-afficher_si') !== false) {
if (!$tester_saisies || strpos($html_content, 'data-afficher_si') !== false) {
$ins_js .= afficher_si_definir_fonctions();
$js = timestamp(find_in_path('javascript/saisies_afficher_si.js'));
$ins_js .= "\n<script type='text/javascript' src='$js'></script>\n";
@ -192,7 +192,7 @@ function saisies_formulaire_charger($flux) {
function saisies_preremplir_defaut_depuis_config($saisies, $meta_case) {
include_spip('inc/config');
foreach ($saisies as &$saisie) {
if (isset($saisie['options']['nom']) and $saisie['options']['nom'] != '_meta_casier') {
if (isset($saisie['options']['nom']) && $saisie['options']['nom'] !== '_meta_casier') {
$nom = $saisie['options']['nom'];
$nom = str_replace('[', '/', $nom);
$nom = str_replace(']', '', $nom);
@ -228,14 +228,14 @@ function saisies_styliser($flux) {
// Si on cherche un squelette de formulaire
strncmp($flux['args']['fond'], 'formulaires/', 12) == 0
// Et que ce n'est pas une inclusion (on teste ça pour l'instant mais c'est pas très générique)
and strpos($flux['args']['fond'], 'inc-', 12) === false
&& strpos($flux['args']['fond'], 'inc-', 12) === false
// Et qu'il y a des saisies dans le contexte
and isset($flux['args']['contexte']['_saisies'])
&& 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)
&& include_spip('inc/flock')
&& ($ext = $flux['args']['ext'])
&& lire_fichier($flux['data'] . '.' . $ext, $contenu_squelette)
&& !trim($contenu_squelette)
) {
$flux['data'] = preg_replace("/\.$ext$/", '', find_in_path("formulaires/inc-saisies-cvt.$ext"));
}
@ -265,10 +265,10 @@ function saisies_formulaire_verifier($flux) {
$args_du_form = $flux['args']['args'];
$saisies = saisies_chercher_formulaire($form, $args_du_form, true);
if ($saisies and !saisies_lister_par_etapes($saisies, true)) {
if ($saisies && !saisies_lister_par_etapes($saisies, true)) {
$erreurs = saisies_verifier($saisies);
if ($erreurs and !isset($erreurs['message_erreur'])) {
if ($erreurs && !isset($erreurs['message_erreur'])) {
$erreurs['message_erreur'] = _T('saisies:erreur_generique');
}
if (!is_array($flux['data'])) {
@ -311,15 +311,12 @@ function saisies_formulaire_verifier_etape($flux) {
$flux['data'] = array_merge($erreurs, $flux['data']);
// Si on est en train de vérifier la dernière étape courante et qu'elle n'a pas d'erreur, alors voir si on peut sauter les étapes suivantes
if (
isset($flux['args']['etape_saisie'])
and $etape == $flux['args']['etape_saisie']
and empty($flux['data'])
and (!$flux['args']['etape_demandee'] or $flux['args']['etape_demandee'] > $etape)
$etape == ($flux['args']['etape_saisie'] ?? -1)
&& empty($flux['data'])
&& (!$flux['args']['etape_demandee'] || $flux['args']['etape_demandee'] > $etape)
) {
if (
$avance_rapide = saisies_determiner_avance_rapide($saisies, $etape)
and $avance_rapide != $etape + 1
) {
$avance_rapide = saisies_determiner_avance_rapide($saisies, $etape);
if ($avance_rapide && $avance_rapide != $etape + 1) {
set_request('aller_a_etape', $avance_rapide);
$flux['args']['etape_demandee'] = $avance_rapide;
}

@ -46,9 +46,9 @@ function verifier_saisies_option_data_dist($valeur, $options = []) {
$lignes_avec_cle_implicite = array_filter($lignes, function ($ligne) {
return
trim($ligne)
and substr($ligne, 0, 1) !== '*'
and substr($ligne, 0, 2) !== '/*'
and !preg_match('#^(.*)\|#m', $ligne);
&& substr($ligne, 0, 1) !== '*'
&& substr($ligne, 0, 2) !== '/*'
&& !preg_match('#^(.*)\|#m', $ligne);
});
if ($lignes_avec_cle_implicite) {
return _T('saisies:verifier_saisies_option_data_cle_manquante');
@ -56,8 +56,7 @@ function verifier_saisies_option_data_dist($valeur, $options = []) {
// Les sous groupes sont-ils interdits?
if (
isset($options['interdire_sous_groupes'])
and $options['interdire_sous_groupes']
($options['interdire_sous_groupes'] ?? '')
) {
foreach ($lignes as $ligne) {
if (substr($ligne, 0, 1) === '*') {
@ -75,7 +74,7 @@ function verifier_saisies_option_data_dist($valeur, $options = []) {
}
// Vérifier, si besoin, que toutes les clés répondent bien à certains critères (qu'on définit via une description de vérification).
if (isset($options['verifier_cles']) and is_array($options['verifier_cles'])) {
if (is_array($options['verifier_cles'] ?? '')) {
$verifier = charger_fonction('verifier', 'inc');
$cles_erronnees = [];
foreach ($les_cles as $cle) {

Loading…
Cancel
Save