source: spip-zone/_plugins_/hydraulic/branches/v0.3/formulaires/calcul_normale_critique.php @ 59407

Last change on this file since 59407 was 59407, checked in by m.dulondel@…, 8 years ago

Ajout des codes ACSII pour les symboles non reconnus ( fichier langue Anglais).
Gestion des boutons radio en javascript pour le formulaire calcul_normal_critique.html.

File size: 4.7 KB
Line 
1<?php
2/*
3 * formulaires/calcul_normale_critique.php
4 *
5 *
6 *
7 * Copyright 2012 David Dorchies <dorch@dorch.fr>
8 *
9 *
10 *
11 * This program is free software; you can redistribute it and/or modify
12 *
13 * it under the terms of the GNU General Public License as published by
14 *
15 * the Free Software Foundation; either version 2 of the License, or
16 *
17 * (at your option) any later version.
18 *
19 *
20 *
21 * This program is distributed in the hope that it will be useful,
22 *
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 *
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26 *
27 * GNU General Public License for more details.
28 *
29 *
30 *
31 * You should have received a copy of the GNU General Public License
32 *
33 * along with this program; if not, write to the Free Software
34 *
35 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
36 *
37 * MA 02110-1301, USA.
38 *
39 */
40
41function mes_saisies_normale_critique(){
42        $fieldset_champs_nc = array(
43       
44                                'FT'          => array(
45                                                                           'def_section_trap',
46                                                                           array(
47                                                                                         'rLarg'  =>array('largeur_fond',2.5),
48                                                                                         'rFruit' =>array('fruit', 0.56)
49                                                                                         )
50                                ),
51                               
52                                'FR'          => array(
53                                                                           'def_section_rect',
54                                                                           array(
55                                                                                         'rLarg'  =>array('largeur_fond',2.5)
56                                                                                        )
57                                ),
58                                       
59                                'FC'          => array(
60                                                                           'def_section_circ',
61                                                                           array(
62                                                                                         'circ1'  =>array('champ_circulaire1',3),
63                                                                                         'circ2'  =>array('champ_circulaire2', 0.6)
64                                                                                        )
65                                ),
66                               
67                                'FP'          => array(
68                                                                           'def_section_puis',
69                                                                           array(
70                                                                                         'puiss1' =>array('champs_puissance1',10),
71                                                                                         'puiss2' =>array('champs_puissance2', 0.7)
72                                                                                        )
73                                ),
74                               
75                                'Caract' => array(                             
76                                                                           'caract_globale',                                   
77                                                                           array(
78                                                                                         'rug'      =>array('rugosite_nc',50),
79                                                                                         'pente'    =>array('pente_nc', 50),
80                                                                                         'cote_eau' =>array('cote_eau_nc', 0.005),
81                                                                                         'debit'    =>array('debit_nc', 1.2)
82                                                                                        )
83                                )
84        );
85               
86  return $fieldset_champs_nc;
87}
88
89function champs_obligatoires_nc() {
90       
91        $tSaisie = mes_saisies_normale_critique();
92    $tChOblig = array();
93    $sTypeSection = _request('ncTypeSection');
94   
95    foreach($tSaisie as $IdFS=>$FieldSet) {
96                if((substr($IdFS,0,1) != 'F') || ($IdFS == $sTypeSection)){
97                        foreach($FieldSet[1] as $Cle=>$Champ) {
98                                if((!isset($Champ[2])) || (isset($Champ[2]) && $Champ[2])) {
99                                        $tChOblig[] = $IdFS.'_'.$Cle.'_nc';
100                                }
101                        }
102                }
103        }
104       
105        return $tChOblig;
106}
107
108function formulaires_calcul_normale_critique_charger_dist() { 
109        // On charge les saisies et les champs qui nécessitent un accès par les fonctions
110        $tSaisie_nc = mes_saisies_normale_critique();
111       
112        $valeurs = array(
113                'ncTypeSection' => 'FT',
114                'mes_saisies'   => $tSaisie_nc,
115                'val_a_cal_nc'  => 1,
116                'prec_nc'       => 0.001
117        );
118   
119    foreach($tSaisie_nc as $CleFD=>$FieldSet) {
120                foreach($FieldSet[1] as $Cle=>$Champ) {
121                        $valeurs[$CleFD.'_'.$Cle.'_nc'] = $Champ[1];
122                        if($CleFD == 'Caract'){
123                                $valeurs['choix_champs_'.$Cle] = 'val_fixe_'.$Cle;             
124                                $valeurs['val_min_'.$Cle] = 1;
125                                $valeurs['val_max_'.$Cle] = 2;
126                                $valeurs['pas_var_'.$Cle] = 0.1;
127                        }
128                }
129        }
130       
131    return $valeurs;
132}
133
134function formulaires_calcul_normale_critique_verifier_dist(){   
135    $erreurs = array();
136    $datas = array();
137    $tChOblig= champs_obligatoires_nc();
138    // Vérifier que les champs obligatoires sont bien là :
139    foreach($tChOblig as $obligatoire) {
140                if (_request($obligatoire) == NULL) {
141                        $erreurs[$obligatoire] = _T('hydraulic:champ_obligatoire');
142        }
143        else if(_request($obligatoire) == 0){
144                        $erreurs[$obligatoire] = _T('hydraulic:valeur_positive');
145                }
146        else {
147            $datas[$obligatoire] = _request($obligatoire);
148        }
149    }
150
151        // Gestion des valeurs négatives
152    foreach($datas as $champ=>$data) {
153        if ($data < 0) $erreurs[$champ] = _T('hydraulic:valeur_positive_nulle');
154    }
155   
156    if (count($erreurs)) {
157        $erreurs['message_erreur'] = _T('hydraulic:saisie_erreur');
158    }
159
160    return $erreurs;
161}
162
163
164function formulaires_normale_critique_traiter_dist(){
165
166         /***************************************************************************
167    *                        Calcul normale critique
168    ***************************************************************************/
169
170       
171        /***************************************************************************
172    *                   Affichage du tableau de données
173    ****************************************************************************/
174       
175    /***************************************************************************
176    *                        Affichage du graphique
177    ****************************************************************************/
178
179       
180}
181?>
182
Note: See TracBrowser for help on using the repository browser.