Browse Source

Ajout de `saisie_deplacer_avant()` et `saisies_deplacer_apres()` (qui encapsulent

`saisies_deplacer()`).

fix #155
close #156
no_submit
Maïeul 1 year ago
parent
commit
10bd6032f9
  1. 39
      inc/saisies_manipuler.php
  2. 1144
      tests/saisies_deplacer/saisies_deplacer_apres.php
  3. 1129
      tests/saisies_deplacer/saisies_deplacer_avant.php

39
inc/saisies_manipuler.php

@ -231,10 +231,14 @@ function saisies_dupliquer($saisies, $id_ou_nom_ou_chemin) {
* - Le nom de la saisie devant laquelle on déplacera
* - OU le nom d'un conteneur entre crochets [conteneur] (et dans ce cas on déplace à la fin de conteneur)
* - OU le nom d'un conteneur entre crochets suivi d'un identifiant numérique entre crochets [conteneur][x] (et dans ce cas on déplace à la position x au sein du conteneur)
*
* @param string $avant_ou_apres (optionel) : valeur possible : `'avant'` ou `'apres'`, pour inserer respectivent avant/après la saisie `$ou`
* @return array Retourne le tableau modifié des saisies
*/
function saisies_deplacer($saisies, $id_ou_nom_ou_chemin, $ou) {
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') {
return $saisies;
}
// On récupère le contenu de la saisie à déplacer
$saisie = saisies_chercher($saisies, $id_ou_nom_ou_chemin);
@ -282,13 +286,42 @@ function saisies_deplacer($saisies, $id_ou_nom_ou_chemin, $ou) {
// Si seulement on a bien trouvé un nouvel endroit où la placer, alors on déplace
if ($chemin) {
$saisies = saisies_inserer($saisies, $saisie, $chemin);
if ($avant_ou_apres === 'avant') {
$saisies = saisies_inserer($saisies, $saisie, $chemin);
} else {
$saisies = saisies_inserer_apres($saisies, $saisie, $chemin);
}
}
}
return $saisies;
}
/**
* Déplacer une saisie existante avant une autre
* @param array $saisies Un tableau décrivant les saisies
* @param unknown_type $id_ou_nom_ou_chemin L'identifiant unique ou le nom ou le chemin de la saisie à déplacer
* @param string $ou la saisie devant laquelle déplacer
* @return array $string
* @use saisie_deplacer()
**/
function saisies_deplacer_avant($saisies, $id_ou_nom_ou_chemin, $ou) {
return saisies_deplacer($saisies, $id_ou_nom_ou_chemin, $ou, 'avant');
}
/**
* Déplacer une saisie existante après une autre
* @param array $saisies Un tableau décrivant les saisies
* @param unknown_type $id_ou_nom_ou_chemin L'identifiant unique ou le nom ou le chemin de la saisie à déplacer
* @param string $ou la saisie devant laquelle déplacer
* @return array $string
* @use saisie_deplacer()
**/
function saisies_deplacer_apres($saisies, $id_ou_nom_ou_chemin, $ou) {
return saisies_deplacer($saisies, $id_ou_nom_ou_chemin, $ou, 'apres');
}
/**
* Modifie une saisie.
*

1144
tests/saisies_deplacer/saisies_deplacer_apres.php

File diff suppressed because it is too large Load Diff

1129
tests/saisies_deplacer/saisies_deplacer_avant.php

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save