|
|
|
@ -19,8 +19,9 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
|
|
|
|
/** |
|
|
|
|
* Trouve le résultat d'une saisie (_request()) |
|
|
|
|
* en tenant compte du fait que la saisie peut être décrit sous forme de sous entrées d'un tableau |
|
|
|
|
* - soit `toto[truc][bidule]` |
|
|
|
|
* - soit `toto/truc/bidule` |
|
|
|
|
* |
|
|
|
|
* @todo Prendre en compte aussi la notation champ/index/index |
|
|
|
|
* @param string $champ |
|
|
|
|
* Nom du champ de la saisie, y compris avec crochets pour sous entrées |
|
|
|
|
* @param null|array $tableau |
|
|
|
@ -40,6 +41,16 @@ function saisies_request($champ, $tableau = null) {
|
|
|
|
|
foreach ($index[1] as $cle) { |
|
|
|
|
$valeur = isset($valeur[$cle]) ? $valeur[$cle] : null; |
|
|
|
|
} |
|
|
|
|
} elseif (count($explode = explode('/', $champ)) > 1) { |
|
|
|
|
if ($tableau) { |
|
|
|
|
$valeur = $tableau[array_shift($explode)]; |
|
|
|
|
} else { |
|
|
|
|
$valeur = _request(array_shift($explode)); |
|
|
|
|
} |
|
|
|
|
// On va chercher au fond du tableau |
|
|
|
|
foreach ($explode as $cle) { |
|
|
|
|
$valeur = isset($valeur[$cle]) ? $valeur[$cle] : null; |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
// Sinon la valeur est juste celle du champ |
|
|
|
|
if ($tableau) { |
|
|
|
@ -116,8 +127,8 @@ function saisies_request_property_from_FILES($champ, $property = 'name') {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Modifie la valeur d'un saisie postée en tenant compte que ça puisse être un tableau |
|
|
|
|
* |
|
|
|
|
* @todo Prendre en compte aussi la notation champ/index/index |
|
|
|
|
* - soit `toto[truc][bidule]` |
|
|
|
|
* - soit `toto/truc/bidule` |
|
|
|
|
* @todo Prendre un arg en plus pour enregistrer la valeur dans un autre tableau que le GET/POST |
|
|
|
|
* @param string $nom |
|
|
|
|
* Nom du champ |
|
|
|
@ -142,6 +153,17 @@ function saisies_set_request($champ, $valeur) {
|
|
|
|
|
// Et on reinjecte le tout |
|
|
|
|
saisies_liste_set_request('get', $nom_champ_principal, $champ_principal); |
|
|
|
|
set_request($nom_champ_principal, $champ_principal); |
|
|
|
|
} elseif (count($explode = explode('/', $champ)) > 1) { |
|
|
|
|
$nom_champ_principal = array_shift($explode); |
|
|
|
|
$enfant = &$champ_principal; |
|
|
|
|
foreach ($explode as $cle) { |
|
|
|
|
$enfant = &$enfant[$cle]; |
|
|
|
|
} |
|
|
|
|
// Une fois descendu tout en bas, on met la valeur |
|
|
|
|
$enfant = $valeur; |
|
|
|
|
// Et on reinjecte le tout |
|
|
|
|
saisies_liste_set_request('get', $nom_champ_principal, $champ_principal); |
|
|
|
|
set_request($nom_champ_principal, $champ_principal); |
|
|
|
|
} |
|
|
|
|
// Sinon la valeur est juste celle du nom |
|
|
|
|
else { |
|
|
|
|