33 spip_log($this->saisies,
'hydraulic',_LOG_DEBUG);
34 spip_log($this->champs,
'hydraulic');
35 spip_log($this->champs_fvc,
'hydraulic',_LOG_DEBUG);
40 foreach($this->saisies as $fs) {
41 foreach($fs[1] as $cle=>$val) {
53 foreach($this->saisies as $fs) {
54 foreach($fs[1] as $cle=>$val) {
55 spip_log($cle,
'hydraulic');
74 $choix_champs = array();
75 foreach($tChCalc as $valeur){
76 $choix_champs[$valeur] = _request(
'choix_champs_'.$valeur);
79 foreach($choix_champs as $cle=>$valeur){
82 foreach($tChOblig as $cle1=>$valeur1){
85 unset($tChOblig[$cle1]);
87 $tChOblig = array_values($tChOblig);
93 $tChOblig[] =
'val_min_'.$cle;
94 $tChOblig[] =
'val_max_'.$cle;
95 $tChOblig[] =
'pas_var_'.$cle;
110 foreach($this->saisies as $fs) {
111 foreach($fs[1] as $cle=>$val) {
112 $valeurs[$cle] = $val[1];
118 foreach($this->champs_fvc as $cle){
119 $valeurs[
'choix_champs_'.$cle] =
'fix';
120 $valeurs[
'val_min_'.$cle] = 1;
121 $valeurs[
'val_max_'.$cle] = 2;
122 $valeurs[
'pas_var_'.$cle] = 0.1;
123 if(_request(
'choix_champs_'.$cle)==
'cal') {
127 $valeurs[
'choix_champs_'.$sVarCal] =
'cal';
154 spip_log($tChOblig,
'hydraulic');
155 spip_log($tChCalc,
'hydraulic');
156 $choix_radio = array();
159 $data[
'iPrec']=(int)-log10(_request(
'rPrec'));
162 foreach($tChOblig as $champ) {
163 if (_request($champ)){
164 $data[$champ] = _request($champ);
166 $data[$champ] = 999.;
168 $data[$champ] = str_replace(
',',
'.',
$data[$champ]);
172 $data[
'sLang'] = $spip_lang;
178 foreach($tChCalc as $cle){
179 $choix_radio[$cle] = _request(
'choix_champs_'.$cle);
180 if($bLibelles) {
$data[
'tLib'][$cle] = _T(
'hydraulic:param_'.$cle);}
188 foreach($choix_radio as $sVar=>$valeur){
190 if($valeur ==
'cal'){
191 $data[
'ValCal'] = $sVar;
194 else if($valeur ==
'var'){
196 $data[
'min'] = _request(
'val_min_'.$sVar);
197 $data[
'max'] = _request(
'val_max_'.$sVar);
198 $data[
'pas'] = _request(
'pas_var_'.$sVar);
200 $data[
'ValVar'] = $sVar;
208 spip_log(
$data,
'hydraulic',_LOG_DEBUG);
221 foreach($this->saisies as $fs) {
222 foreach($fs[1] as $cle=>$val) {
223 $tData[$cle] = (isset($this->data[$cle]))?$this->data[$cle]:999;
224 $tCtrl[$cle] = $val[2];
229 foreach($tCtrl as $Cle=>$Ctrl) {
230 $tData[$Cle] = trim(str_replace(
',',
'.',$tData[$Cle]));
231 if(strpos($Ctrl,
'o')!==
false & (!isset($tData[$Cle]) | $tData[$Cle]==
"")) {
233 $erreurs[$Cle] = _T(
'hydraulic:erreur_obligatoire');
234 } elseif(strpos($Ctrl,
's')===
false & !preg_match(
'#^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$#', $tData[$Cle]) & $tData[$Cle]!=
"") {
236 $erreurs[$Cle] = _T(
'hydraulic:erreur_non_numerique');
239 $tData[$Cle] = floatval($tData[$Cle]);
240 if(strpos($Ctrl,
'p')!==
false & strpos($Ctrl,
'n')!==
false & $tData[$Cle] < 0) {
242 $erreurs[$Cle] = _T(
'hydraulic:erreur_val_positive_nulle');
243 } elseif(strpos($Ctrl,
'p')!==
false & strpos($Ctrl,
'n')===
false & $tData[$Cle] <= 0) {
245 $erreurs[$Cle] = _T(
'hydraulic:erreur_val_positive');
251 if (count($erreurs)) {
252 $erreurs[
'message_erreur'] = _T(
'hydraulic:saisie_erreur');