Changeset 59231 in spip-zone


Ignore:
Timestamp:
Mar 12, 2012, 8:54:59 AM (8 years ago)
Author:
m.dulondel@…
Message:
 
Location:
_plugins_/hydraulic/branches/v0.3
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/hydraulic/branches/v0.3/formulaires/courbe_remous.html

    r59103 r59231  
    11[<div class='hyd_formulaire_erreur '><span>(#ENV*{message_erreur})</span></div>]
    22<script>
     3//Permet d'afficher ou cacher les champs correspondant à une section.
    34function afficher_cacher() {
    45       
     
    3031      <tbody>
    3132                        <tr id="type_section_field">
    32                                 <td colspan="2"><div class="hyd_formulaire_chapitre">Type de section</div></td>
     33                                <td colspan="2"><div class="hyd_formulaire_chapitre"><:hydraulic:type_section:></div></td>
    3334                        </tr>
    3435
    3536                        <tr id="type_section_choix">
    3637                                <td align="right">
    37                                         Choix de la section
     38                                        <:hydraulic:choix_section:>
    3839                                </td>
    3940                                               
    4041                                <td>
    4142                                        <select name="lTypeSection" id="choix_section" onChange="afficher_cacher();">
    42                                                 <option value="FT" [(#ENV{lTypeSection}|=={'FT'}|?{'selected',''})]>Section Trapézoïdale</option>
    43                                                 <option value="FR" [(#ENV{lTypeSection}|=={'FR'}|?{'selected',''})]>Section Rectangulaire</option>
    44                                                 <option value="FC" [(#ENV{lTypeSection}|=={'FC'}|?{'selected',''})]>Section circulaire</option>
    45                                                 <option value="FP" [(#ENV{lTypeSection}|=={'FP'}|?{'selected',''})]>Section Puissance</option>
     43                                                <option value="FT" [(#ENV{lTypeSection}|=={'FT'}|?{'selected',''})]><:hydraulic:section_trap:></option>
     44                                                <option value="FR" [(#ENV{lTypeSection}|=={'FR'}|?{'selected',''})]><:hydraulic:section_rect:></option>
     45                                                <option value="FC" [(#ENV{lTypeSection}|=={'FC'}|?{'selected',''})]><:hydraulic:section_circ:></option>
     46                                                <option value="FP" [(#ENV{lTypeSection}|=={'FP'}|?{'selected',''})]><:hydraulic:section_puiss:></option>
    4647                                        </select>
    4748                 
     
    8182                        <tr>
    8283                                <td colspan="2" class="hyd_bouton_submit">
    83                                    <input type="submit" value=" <:hydraulic:calculer_remous:>">
     84                                   <input type="submit" value="<:hydraulic:calculer_remous:>">
    8485                                </td>
    8586                        </tr>
  • _plugins_/hydraulic/branches/v0.3/formulaires/lechapt_calmon.html

    r59103 r59231  
    11[<div class='hyd_formulaire_erreur '><span>(#ENV*{message_erreur})</span></div>]
    22
    3 <script>       
     3<script>
     4       
     5var glob = [];
    46// Variables globales contenant le choix fait pour chaque ligne 
    5 var glob = {
    6         'Q':'#ENV{choix_champs_Q}',
    7         'D':'#ENV{choix_champs_D}',
    8         'J':'#ENV{choix_champs_J}'
    9 }
     7<BOUCLE_sans_coeff(POUR){tableau #ENV{tableau_caract}}>
     8        glob['#CLE'] = '#ENV{choix_champs_#CLE}';
     9</BOUCLE_sans_coeff>
    1010
    1111// Mise a jour des variables globales
    1212function setVarGlob(){
    13         glob['Q'] = getRadioValue('choix_champs_Q');
    14         glob['D'] = getRadioValue('choix_champs_D');   
    15         glob['J'] = getRadioValue('choix_champs_J');   
     13        <BOUCLE_sans_coeff2(POUR){tableau #ENV{tableau_caract}}>
     14                glob['#CLE'] = getRadioValue('choix_champs_#CLE');
     15        </BOUCLE_sans_coeff2>
    1616}
    1717
     
    3030   document.getElementById('champs_M').value=materiau[(choix_mat*3)+1];
    3131   document.getElementById('champs_N').value=materiau[(choix_mat*3)+2];
    32 
    3332}       
    3433
     
    3635function gestion_radios(nom,valeur){
    3736       
    38         // Tableau contenant tous les champs moins ceux passés en paramètre
    39         var tabPartiel = {'Q': glob['Q'],'D': glob['D'],'J': glob['J']};
     37        var tabPartiel = {
     38                <BOUCLE_sans_coeff3(POUR){tableau #ENV{tableau_caract}}>
     39                        '#CLE' : glob['#CLE'],
     40                </BOUCLE_sans_coeff3>
     41        };
     42       
    4043        delete(tabPartiel[nom]);
    4144       
    4245        // Tableau des indices
    43         var tabIndice = ['Q', 'D', 'J'];
     46
     47        var tabIndice = [
     48                <BOUCLE_sans_coeff4(POUR){tableau #ENV{tableau_caract}}>
     49                        '#CLE',
     50                </BOUCLE_sans_coeff4>
     51        ];
    4452       
    4553        // Si on appuis sur un bouton de type "calcul_val"
     
    7785                }
    7886               
    79                 // Compte le nombre de calcul_val NON checké
     87                // Compte le nombre de calcul_val checké
    8088                var cptValCal = 0;
    8189                for(var cle in glob){
     
    9199                                if(tabIndice[i] == nom){
    92100                                        // Si on est pas arrivé au dernier élément
    93                                         if(i+1 <= 2){
     101                                        if(i+1 <= tabIndice.length-1){
    94102                                                indice = tabIndice[i+1];
    95103                                        }
     
    103111                        document.getElementById('caract_'+nom).disabled=false;
    104112                        document.getElementById('caract_'+indice).disabled=true;
     113                        var cacher = document.getElementsByClassName('champs_var_'+indice);
     114                        for(var i in cacher){
     115                                cacher[i].style.display='none';
     116                        }
    105117                        setVarGlob();
    106118                }
     
    159171      <tbody>
    160172                        <tr id="type_materiau_field">
    161                                 <td colspan="8"><div class="hyd_formulaire_chapitre">Type du matériau</div></td>
     173                                <td colspan="8"><div class="hyd_formulaire_chapitre"><:hydraulic:type_materiau:></div></td>
    162174                        </tr>
    163175
    164176                        <tr id="type_materiau_choix">
    165177                                <td align="right">
    166                                         Choix du matériau :
     178                                        <:hydraulic:choix_materiau:> :
    167179                                </td>
    168180                                               
    169181                                <td width="1px">
    170182                                        <select name="typeMateriau" id="choix_materiau" onChange="change_valeur();">
    171                                                 <option value="1" [(#ENV{typeMateriau}|=={'1'}|?{'selected',''})]>Fonte ou acier non revêtus - Béton grossier (eau corrosive)</option>
    172                                                 <option value="2" [(#ENV{typeMateriau}|=={'2'}|?{'selected',''})]>Fonte ou acier non revêtus - Béton grossier (eau peu corrosive)</option>
    173                                                 <option value="3" [(#ENV{typeMateriau}|=={'3'}|?{'selected',''})]>Fonte ou acier revêtement ciment</option>
    174                                                 <option value="4" [(#ENV{typeMateriau}|=={'4'}|?{'selected',''})]>Fonte ou acier revêtement bitume - Béton centrifugé</option>
    175                                                 <option value="5" [(#ENV{typeMateriau}|=={'5'}|?{'selected',''})]>Acier laminé - Béton lisse</option>
    176                                                 <option value="6" [(#ENV{typeMateriau}|=={'6'}|?{'selected',''})]>Fonte ou acier revêtement centrifugé</option>
    177                                                 <option value="7" [(#ENV{typeMateriau}|=={'7'}|?{'selected',''})]>PVC - Polyéthylène</option>
    178                                                 <option value="8" [(#ENV{typeMateriau}|=={'8'}|?{'selected',''})]>Tuyau hydrauliquement lisse - 0.05 ≤ D ≤ 0.2</option>
    179                                                 <option value="9" [(#ENV{typeMateriau}|=={'9'}|?{'selected',''})]>Tuyau hydrauliquement lisse - 0.25 ≤ D ≤ 1</option>
     183                                                <option value="1" [(#ENV{typeMateriau}|=={'1'}|?{'selected',''})]><:hydraulic:fonte_beton_corrosive:></option>
     184                                                <option value="2" [(#ENV{typeMateriau}|=={'2'}|?{'selected',''})]><:hydraulic:fonte_beton_ncorrosive:></option>
     185                                                <option value="3" [(#ENV{typeMateriau}|=={'3'}|?{'selected',''})]><:hydraulic:fonte_revt_ciment:></option>
     186                                                <option value="4" [(#ENV{typeMateriau}|=={'4'}|?{'selected',''})]><:hydraulic:fonte_revt_bitume:></option>
     187                                                <option value="5" [(#ENV{typeMateriau}|=={'5'}|?{'selected',''})]><:hydraulic:acier_lamine:></option>
     188                                                <option value="6" [(#ENV{typeMateriau}|=={'6'}|?{'selected',''})]><:hydraulic:fonte_revt_centrifuge:></option>
     189                                                <option value="7" [(#ENV{typeMateriau}|=={'7'}|?{'selected',''})]><:hydraulic:pvc:></option>
     190                                                <option value="8" [(#ENV{typeMateriau}|=={'8'}|?{'selected',''})]><:hydraulic:tuyau_lisse1:></option>
     191                                                <option value="9" [(#ENV{typeMateriau}|=={'9'}|?{'selected',''})]><:hydraulic:tuyau_lisse2:></option>
    180192                                        </select>
    181193                                       
     
    202214
    203215                        <tr id="caract_lechapt_calmon">
    204                                 <td colspan="8"><div class="hyd_formulaire_chapitre">Caractéristiques</div></td>
     216                                <td colspan="8"><div class="hyd_formulaire_chapitre"><:hydraulic:caract_lechapt_calmon:></div></td>
    205217                        </tr>
    206218
    207219                        <tr>
    208220                                <td colspan="2"></td>
    209                                 <td width="75px" colspan="2" align="center">Calculer valeur</td>
    210                                 <td width="75px" colspan="2" align="center">Varier valeur</td>
    211                                 <td width="75px" colspan="2" align="center">Fixer valeur</td>
    212                         </tr>
    213                        
    214                         #SET{tableau_caract,#ARRAY{1,Q,2,D,3,J}}       
    215                         <BOUCLE_caract(POUR) {tableau #GET{tableau_caract}}>
     221                                <td width="75px" colspan="2" align="center"><:hydraulic:calcul_val:></td>
     222                                <td width="75px" colspan="2" align="center"><:hydraulic:varier_val:></td>
     223                                <td width="75px" colspan="2" align="center"><:hydraulic:fixer_val:></td>
     224                        </tr>
     225                       
     226                       
     227                        <BOUCLE_caract(POUR) {tableau #ENV{tableau_caract}}>
    216228               
    217229                                <tr id="type_materiau_caract_#VALEUR">
    218                                         <td align="right" width="120px">
    219                                                 #VALEUR :       
     230                                        <td align="right" width="150px">
     231                                                #VALEUR :
    220232                                        </td>
    221233                                       
    222234                                        <td>
    223                                                 <input id="caract_#VALEUR" type="text" value="[(#ENV{choix_champs}|=={#VALEUR}|?{'',#ENV{#VALEUR}})]" maxlength="30" name="#VALEUR" [(#ENV{choix_champs_#VALEUR}|match{^((calcul_val_#VALEUR)|(varier_val_#VALEUR))$}|?{'disabled="true"',''})]/>
    224                                                 [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{#VALEUR})</div>]
     235                                                <input id="caract_#CLE" type="text" value="[(#ENV{choix_champs}|=={#CLE}|?{'',#ENV{#CLE}})]" maxlength="30" name="#CLE" [(#ENV{choix_champs_#CLE}|match{^((calcul_val_#CLE)|(varier_val_#CLE))$}|?{'disabled="true"',''})]/>
     236                                                [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{#CLE})</div>]
    225237                                        </td>   
    226238
    227239                                        <td colspan="2" align="center">
    228                                                 <input type="radio" id="calcul_val_#VALEUR" name="choix_champs_#VALEUR" value="calcul_val_#VALEUR" onclick="gestion_radios('#VALEUR', 'calcul_val_#VALEUR')" [(#ENV{choix_champs_#VALEUR}|=={calcul_val_#VALEUR}?{'checked',''})]/>
     240                                                <input type="radio" id="calcul_val_#CLE" name="choix_champs_#CLE" value="calcul_val_#CLE" onclick="gestion_radios('#CLE', 'calcul_val_#CLE')" [(#ENV{choix_champs_#CLE}|=={calcul_val_#CLE}?{'checked',''})]/>
    229241                                        </td>   
    230242                                       
    231243                                        <td colspan="2" align="center">
    232                                                 <input type="radio" id="varier_val_#VALEUR" name="choix_champs_#VALEUR" value="varier_val_#VALEUR" onclick="gestion_radios('#VALEUR', 'varier_val_#VALEUR')" [(#ENV{choix_champs_#VALEUR}|=={varier_val_#VALEUR}?{'checked',''})]/>
     244                                                <input type="radio" id="varier_val_#CLE" name="choix_champs_#CLE" value="varier_val_#CLE" onclick="gestion_radios('#CLE', 'varier_val_#CLE')" [(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}?{'checked',''})]/>
    233245                                        </td>
    234246                                                                               
    235247                                        <td colspan="2" align="center">
    236                                                 <input type="radio" id="val_fixe_#VALEUR" name="choix_champs_#VALEUR" value="val_fixe_#VALEUR" onclick="gestion_radios('#VALEUR', 'val_fixe_#VALEUR')" [(#ENV{choix_champs_#VALEUR}|=={val_fixe_#VALEUR}?{'checked',''})]/>
    237                                         </td>
    238                                 </tr>
    239 
    240 
    241                                 <tr class="champs_var_#VALEUR" style="display:[(#ENV{choix_champs_#VALEUR}|=={varier_val_#VALEUR}|?{'table-row','none'})];">
     248                                                <input type="radio" id="val_fixe_#CLE" name="choix_champs_#CLE" value="val_fixe_#CLE" onclick="gestion_radios('#CLE', 'val_fixe_#CLE')" [(#ENV{choix_champs_#CLE}|=={val_fixe_#CLE}?{'checked',''})]/>
     249                                        </td>
     250                                </tr>
     251
     252
     253                                <tr class="champs_var_#CLE" style="display:[(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}|?{'table-row','none'})];">
    242254                                        <td></td>
    243                                         <td align="right">Valeur minimum de #VALEUR :
    244                                                 <input name="val_min_#VALEUR" type="text" value="#ENV{val_min_#VALEUR}"/>
    245                                                 [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{val_min_#VALEUR})</div>]
     255                                        <td align="right"><:hydraulic:val_min:> #CLE :
     256                                                <input name="val_min_#CLE" type="text" value="#ENV{val_min_#CLE}"/>
     257                                                [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{val_min_#CLE})</div>]
    246258                                        </td>
    247259                                        <td colspan="6"></td>
    248260                                </tr>
    249261                                       
    250                                 <tr class="champs_var_#VALEUR" style="display:[(#ENV{choix_champs_#VALEUR}|=={varier_val_#VALEUR}|?{'table-row','none'})];">
     262                                <tr class="champs_var_#CLE" style="display:[(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}|?{'table-row','none'})];">
    251263                                        <td></td>
    252                                         <td align="right">Valeur maximum de #VALEUR :
    253                                                 <input name="val_max_#VALEUR" type="text" value="#ENV{val_max_#VALEUR}"/>
    254                                                 [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{val_max_#VALEUR})</div>]
     264                                        <td align="right"><:hydraulic:val_max:> #CLE :
     265                                                <input name="val_max_#CLE" type="text" value="#ENV{val_max_#CLE}"/>
     266                                                [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{val_max_#CLE})</div>]
    255267                                        </td>
    256268                                        <td colspan="6"></td>
    257269                                </tr>
    258270                                       
    259                                 <tr class="champs_var_#VALEUR" style="display:[(#ENV{choix_champs_#VALEUR}|=={varier_val_#VALEUR}|?{'table-row','none'})];">
     271                                <tr class="champs_var_#CLE" style="display:[(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}|?{'table-row','none'})];">
    260272                                        <td></td>
    261                                         <td align="right">Pas de variation de #VALEUR :
    262                                                 <input name="pas_var_#VALEUR" type="text" value="#ENV{pas_var_#VALEUR}"/>
    263                                                 [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{pas_var_#VALEUR})</div>]
     273                                        <td align="right"><:hydraulic:pas_var:> #CLE :
     274                                                <input name="pas_var_#CLE" type="text" value="#ENV{pas_var_#CLE}"/>
     275                                                [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{pas_var_#CLE})</div>]
    264276                                        </td>
    265277                                        <td colspan="6"></td>
     
    268280                        </BOUCLE_caract>               
    269281                       
     282                        <tr id="param_calc_lechapt_calmon">
     283                                <td colspan="8"><div class="hyd_formulaire_chapitre"><:hydraulic:param_calc_lechapt_calmon:></div></td>
     284                        </tr>
     285                       
     286                        <tr id="precision_lechapt_calmon">
     287                                        <td align="right">
     288                                                <:hydraulic:precision_lechapt_calmon:> :                       
     289                                        </td>
     290                                                               
     291                                        <td>
     292                                                <input id="champs_prec_lc" type="text" value="#ENV{prec_lc}" maxlength="30" name="prec_lc"/>
     293                                                [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{prec_lc})</div>]
     294                                        </td>   
     295                        </tr>
     296                               
    270297                        <tr>           
    271298                                <td colspan="8" class="hyd_bouton_submit">
    272                                    <input type="submit" value="Calcul Lechapt et Calmon">
     299                                   <input type="submit" value="<:hydraulic:calculer_lechapt_calmon:>">
    273300                                </td>
    274301                        </tr>
  • _plugins_/hydraulic/branches/v0.3/formulaires/lechapt_calmon.php

    r59103 r59231  
    3838 *
    3939 */
    40 
     40 
     41function mes_champs_coeff_materiau() {
     42        $mes_champs_coeff = array('L','M','N','Q','D','J','Lg');
     43        return $mes_champs_coeff;
     44}
     45
     46function mes_champs_sans_coeff_materiau(){
     47        $mes_champs_sans_coeff = array(
     48                        'Q' => _T('hydraulic:param_Q'),
     49                        'D' => _T('hydraulic:param_D'),
     50                        'J' => _T('hydraulic:param_J'),
     51                        'Lg' => _T('hydraulic:param_Lg')
     52                );
     53       
     54        return $mes_champs_sans_coeff;
     55}
     56
     57function id_decoupe($champs){
     58        $decoup = explode('_', $champs, 3);
     59        return $decoup[count($decoup)-1];
     60}
     61
     62/* Tableau des données pour chaque type de tuyau. Ces valeurs sont associées
     63 * aux numéros des options du select (voir page lechapt_calmon.php)
     64 */
    4165function mes_saisies_materiau() {
    42 
    43        
    4466        $type_materiaux = array(
    4567       
     
    5072                                ),
    5173                               
    52                                
    5374                                '2'          => array(
    5475                                                                           'L' =>1.601,
     
    5778                                ),
    5879                               
    59                                
    6080                                '3'          => array(
    6181                                                                           'L' =>1.40,
     
    6484                                ),
    6585                               
    66                                
    6786                                '4'          => array(
    6887                                                                           'L' =>1.16,
     
    7190                                ),
    7291                               
    73                                
    7492                                '5'          => array(
    7593                                                                           'L' =>1.1,
     
    7896                                ),
    7997                               
    80                                
    8198                                '6'          => array(
    8299                                                                           'L' =>1.049,
     
    85102                                ),
    86103                               
    87                                
    88104                                '7'          => array(
    89105                                                                           'L' =>1.01,
     
    92108                                ),
    93109                               
    94                                
    95110                                '8'          => array(
    96111                                                                           'L' =>0.916,
     
    99114                                ),
    100115                               
    101                                
    102116                                '9'          => array(
    103117                                                                           'L' =>0.971,
     
    105119                                                                           'N' =>4.81                   
    106120                                ),
    107                
    108121        );
    109122               
     
    113126
    114127function champs_obligatoires_lcalmon(){
    115         $tChOblig = array('L', 'M', 'N', 'Q', 'D', 'J');
    116         $choix_champs = array(
    117                 'Q' => _request('choix_champs_Q'),
    118                 'D' => _request('choix_champs_D'),
    119                 'J' => _request('choix_champs_J')
    120         );
     128        /*
     129         * Ce tableau contient la liste de tous les champs du formulaire.
     130         * La suite de cette fonction se chargera de supprimer les valeurs non obligatoires.
     131         */
     132         
     133        $tChOblig = mes_champs_coeff_materiau();
     134        $tChUtil = mes_champs_sans_coeff_materiau();
     135       
     136        $choix_champs = array();
     137        foreach($tChUtil as $cle=>$valeur){
     138                $choix_champs[$cle] = _request('choix_champs_'.$cle);
     139        }
    121140
    122141        foreach($choix_champs as $cle=>$valeur){
     142                // Si le choix du select est de calculer une valeur...
    123143                if(substr($valeur, 0,3) != 'val'){
    124144                        foreach($tChOblig as $cle1=>$valeur1){
    125145                                if($cle == $valeur1){
     146                                        // ... alors on peut supprimer de notre tableau le champs calculé (il n'est pas obligatoire car grisé)
    126147                                        unset($tChOblig[$cle1]);
     148                                        // Permet de tasser le tableau
    127149                                        $tChOblig = array_values($tChOblig);
    128150                                }
    129151                        }
    130152                }
    131                
     153                // Si le choix du select est de faire varier une valeur alors on ajoute les 3 champs nécessaires
    132154                if(substr($valeur, 0, 3) == 'var'){
    133155                        $tChOblig[] = 'val_min_'.$cle;
     
    136158                }       
    137159        }
     160        $tChOblig[] = 'prec_lc';
     161       
    138162        return $tChOblig;
    139163}
    140164
    141165function formulaires_lechapt_calmon_charger_dist() {
    142     // On charge les saisies et les champs qui nécessitent un accès par les fonctions
    143         $tSaisie_materiau = mes_saisies_materiau();
    144166        $valeurs = array(
    145                 'mes_saisies_materiaux' => $tSaisie_materiau,
     167                'mes_saisies_materiaux' => mes_saisies_materiau(),
     168                'tableau_caract' => mes_champs_sans_coeff_materiau(),
    146169                'typeMateriau' => 1,
    147                 'choix_champs_Q' => 'calcul_val_Q',
    148                 'choix_champs_D' => 'val_fixe_D',
    149                 'choix_champs_J' => 'val_fixe_J',
     170                'prec_lc' => 0.001,
    150171                'L' => 1.863,
    151172                'M' => 2,
    152173                'N' => 5.33,
    153                 'Q' => 1,
    154                 'val_min_Q' => 1,
    155                 'val_max_Q' => 2,
    156                 'pas_var_Q' => 3,
    157                 'val_min_D' => 1,
    158                 'val_max_D' => 2,
    159                 'pas_var_D' => 3,       
    160                 'val_min_J' => 1,
    161                 'val_max_J' => 2,
    162                 'pas_var_J' => 3,
    163                 'D' => 2,
    164                 'J' => 3       
     174                'Q' => 3,
     175                'D' => 1.2,
     176                'J' => 0.634482025,
     177                'Lg'=> 100
    165178        );
    166179 
     180        $mes_champs = mes_champs_sans_coeff_materiau();
     181        foreach($mes_champs as $cle=>$valeur){
     182                if($cle == 'Q'){
     183                        $valeurs['choix_champs_'.$cle] = 'calcul_val_'.$cle;
     184                }
     185                else{
     186                        $valeurs['choix_champs_'.$cle] = 'val_fixe_'.$cle;
     187                }
     188               
     189                $valeurs['val_min_'.$cle] = 1;
     190                $valeurs['val_max_'.$cle] = 2;
     191                $valeurs['pas_var_'.$cle] = 0.1;
     192        }
     193       
    167194    return $valeurs;
    168195}
     
    172199    $datas = array();
    173200    $tChOblig= champs_obligatoires_lcalmon();
    174     // verifier que les champs obligatoires sont bien là :
     201    // rifier que les champs obligatoires sont bien là :
    175202    foreach($tChOblig as $obligatoire) {
    176203        if (!_request($obligatoire)) {
    177             $erreurs[$obligatoire] = _T('hydraulic:champ_obligatoire');}
     204                        $erreurs[$obligatoire] = _T('hydraulic:champ_obligatoire');
     205        }
    178206        else {
    179207            $datas[$obligatoire] = _request($obligatoire);
     
    181209    }
    182210
     211        // Gestion des valeurs négatives
    183212    foreach($datas as $champ=>$data) {
    184213        if ($data < 0) $erreurs[$champ] = _T('hydraulic:valeur_positive');
    185214    }
    186 
     215   
    187216    if (count($erreurs)) {
    188217        $erreurs['message_erreur'] = _T('hydraulic:saisie_erreur');
    189218    }
     219
    190220    return $erreurs;
    191221}
    192222
    193223function formulaires_lechapt_calmon_traiter_dist(){
    194        
    195         $datas = champs_obligatoires_lcalmon();
    196         $datas[] = _request('choix_champs_Q');
    197         $datas[] = _request('choix_champs_D');
    198         $datas[] = _request('choix_champs_J');
    199         $CalVal = '';
    200        
    201         foreach($datas as $i){
    202                 if(substr($i, 0, 3) == 'cal'){
    203                         $CalVal = substr($i, -1);
    204                 }
    205         }
    206        
    207         switch($CalVal){
     224
     225        include_spip('hyd_inc/cache');
     226    include_spip('hyd_inc/log.class');
     227    include_spip('hyd_inc/graph.class');
     228       
     229         /***************************************************************************
     230    *                        Calcul de Lechapt et calmon
     231    ****************************************************************************/
     232    $echo = '';
     233        $ValCal = '';
     234        $result = array();
     235        $choix_radio = array();
     236        $tabLibelle = array();
     237        $champs_materiau_coeff = mes_champs_coeff_materiau();
     238        $champs_materiau_sans_coeff = mes_champs_sans_coeff_materiau();
     239    $iPrec=(int)-log10(_request('prec_lc'));
     240
     241
     242        foreach($champs_materiau_coeff as $champs){
     243                ${$champs} = _request($champs);
     244        }
     245       
     246        foreach($champs_materiau_sans_coeff as $cle=>$valeur){
     247                $choix_radio[$cle] = _request('choix_champs_'.$cle);
     248                $tabLibelle[$cle] = _T('hydraulic:param_'.$cle);
     249        }
     250
     251        $min = 0;
     252        $max = 0;
     253        $pas = 1;
     254        $i = 0;
     255       
     256               
     257        foreach($choix_radio as $ind){
     258                if(substr($ind, 0, 3) == 'cal'){
     259                        $ValCal = id_decoupe($ind);
     260                }
     261               
     262                else if(substr($ind, 0, 3) == 'var'){
     263                        $min = _request('val_min_'.id_decoupe($ind));
     264                        $max = _request('val_max_'.id_decoupe($ind));
     265                        $pas = _request('pas_var_'.id_decoupe($ind));
     266                        ${id_decoupe($ind)} = &$i;
     267                }
     268        }
     269       
     270        switch($ValCal){
    208271                case 'Q':
     272                        if($L != 0 && $Lg != 0 && $M != 0){
     273                                for($i = $min; $i <= $max; $i+= $pas){
     274                                        $result[] = pow(((($J*pow($D, $N))/$L)*(1000/$Lg)), 1/$M);
     275                                }
     276                        }
     277                        else{
     278                                $result[] = 0;
     279                        }
    209280                       
    210281                break;
    211282               
    212         }
    213        
    214         print_r($datas);
     283                case 'D':
     284                        if($J != 0 && $N != 0){
     285                                for($i = $min; $i <= $max; $i+= $pas){
     286                                        $result[] = pow(((($L*pow($Q, $M))/$J)*($Lg/1000)), 1/$N);
     287                                }
     288                        }
     289                        else{
     290                                $result[] = 0;
     291                        }
     292                       
     293                break;
     294               
     295                case 'J':
     296                        if($D != 0){
     297                                for($i = $min; $i <= $max; $i+= $pas){
     298                                        $result[] = (($L*pow($Q, $M))/pow($D, $N))*($Lg/1000) ;
     299                                }
     300                        }
     301                        else{
     302                                $result[] = 0;
     303                        }
     304                       
     305                break;
     306               
     307                case 'Lg':
     308                        if($L*pow($Q,$M) != 0){
     309                                for($i = $min; $i <= $max; $i+= $pas){
     310                                        $result[] = (($J*pow($D, $N))/($L*pow($Q,$M)))*1000 ;
     311                                }
     312                        }
     313                        else{
     314                                $result[] = 0;
     315                        }
     316                       
     317                break;
     318        }
     319
     320        /***************************************************************************
     321    *                   Affichage du tableau de données
     322    ****************************************************************************/
     323        $cptValVar = 1;
     324        $i = 0;
     325        $tabClass = array();
     326       
     327        foreach($tabLibelle as $cle=>$valeur){
     328                if(substr(_request('choix_champs_'.$cle), 0, 3) == 'var'){
     329                        $cptValVar++;
     330                }
     331        }
     332       
     333        foreach($tabLibelle as $cle=>$valeur){
     334                if(substr(_request('choix_champs_'.$cle), 0, 3) == 'cal'){
     335                        $tabClass['cal'] = $tabLibelle[$cle];
     336                }
     337                else if(substr(_request('choix_champs_'.$cle), 0, 3) == 'var'){
     338                        $tabClass['var'] = $tabLibelle[$cle];
     339                }
     340                else if(substr(_request('choix_champs_'.$cle), 0, 3) == 'var' || $cptValVar == 1){
     341                        $tabClass['var'] = $tabLibelle[$cle];
     342                        $cptValVar--;
     343                }
     344                else if(substr(_request('choix_champs_'.$cle), 0, 3) == 'val'){
     345                        $tabClass['val'.$i] = $tabLibelle[$cle];
     346                        $i++;
     347                }
     348        }
     349       
     350        $echo.='<table class="spip">
     351                        <thead>
     352                                <tr class="row_first">';
     353                               
     354                                foreach($tabClass as $cle=>$valeur){
     355                                        if(substr($cle, 0, 3) == 'val'){
     356                                                $echo.= '<th scope="col" rowspan="2">'.$tabClass[$cle].'</th>';
     357                                        }
     358                                }
     359
     360        $echo.= '               <th scope="col" rowspan="2">'.$tabClass['var'].'</th>
     361                                        <th scope="col" rowspan="2">'.$tabClass['cal'].'</th>
     362                                </tr>   
     363                        </thead>
     364                        <tbody>';
     365       
     366        $i=0;
     367        $tabAbs = array();
     368       
     369        if($cptValVar != 0){
     370                $ValeurVarie = $min;
     371        }
     372        else{
     373                $ValeurVarie = _request(substr($tabClass['var'],0,1));
     374        }
     375       
     376        foreach($result as $valCal){
     377                $i++;
     378                $echo.= '<tr class="';
     379                $echo.=($i%2==0)?'row_even':'row_odd';
     380                $echo.='">';
     381               
     382                                foreach($tabClass as $cle=>$valeur){
     383                                        if(substr($cle, 0, 3) == 'val'){
     384                                                $echo.= '<td>';
     385                                                $decoup = explode(':', $tabClass[$cle], 2);
     386                                                $echo.= _request($decoup[0]).'</td>';
     387                                        }
     388                                }       
     389                               
     390                $echo.= '<td>'.$ValeurVarie.'</td><td>'.format_nombre($valCal, $iPrec).'</td>';         
     391                $echo.= '</tr>';               
     392                $tabAbs[] = $ValeurVarie;
     393                $ValeurVarie+= $pas;
     394        }       
     395       
     396    $echo.=     '</tbody>
     397        </table>';
     398
     399
     400
     401    /***************************************************************************
     402    *                        Affichage du graphique
     403    ****************************************************************************/
     404 
     405        // Si notre tableau de résultats contient plus d'une ligne alors on l'affiche.
     406        if(count($result) > 1){
     407                $oGraph = new cGraph();
     408                // Ligne de Lechapt et calmon
     409                if(isset($result)) {
     410                        $oGraph->AddSerie(
     411                                'ligne_lechapt_calmon',
     412                                $tabAbs,
     413                                $result,
     414                                '#00a3cd',
     415                                'lineWidth:3, showMarker:true, markerOptions:{style:\'filledCircle\', size:8}');
     416                }
     417                // Récupération du graphique
     418                $echo .= $oGraph->GetGraph('ligne_lechapt_calmon',400,600);
     419        }
     420        $res['message_ok'] = $echo;
     421    return $res;
    215422}
    216423?>
  • _plugins_/hydraulic/branches/v0.3/lang/hydraulic_fr.php

    r56971 r59231  
    55    'abscisse'        => "Abscisse",
    66    'arret_calcul'    => "Arrêt du calcul : Hauteur critique atteinte à l'abscisse",
     7    'acier_lamine'    => "Acier laminé - Béton lisse",
    78    // C
    89    'calcul_caract'   => "Le calcul a les caractéristiques suivantes :",
     
    1415    'calcul_fluvial'  => "Condition limite aval >= Hauteur critique : calcul de la partie fluviale à partir de l'aval",
    1516    'calcul_torrentiel'=> "Condition limite amont <= Hauteur critique : calcul de la partie torrentielle à partir de l'amont",
    16     'champ_obligatoire'=> 'Ce champ est obligatoire',
     17    'champ_obligatoire'=> "Ce champ est obligatoire",
     18    'choix_materiau'  => "Choix du matériau",
     19    'caract_lechapt_calmon' => "Caractéristiques",
     20    'calculer_lechapt_calmon' => "Calcul de Lechapt et Calmon",
     21    'calcul_val'      => "Calculer valeur",
     22    'choix_section'   => "Choix de la section",
    1723    // D
    1824    'debit_amont'     => "Débit amont (m3/s)",
     
    2127    'fond'            => "Fond",
    2228    'fruit'           => "Fruit (m/m)",
     29    'fixer_val'       => "Fixer valeur",
     30    'fonte_beton_corrosive' =>"Fonte ou acier non revêtus - Béton grossier (eau corrosive)",
     31    'fonte_beton_ncorrosive' =>"Fonte ou acier non revêtus - Béton grossier (eau peu corrosive)",
     32    'fonte_revt_ciment' => "Fonte ou acier revêtement ciment",
     33    'fonte_revt_bitume' => "Fonte ou acier revêtement bitume - Béton centrifugé",
     34    'fonte_revt_centrifuge' => "Fonte ou acier revêtement centrifugé",
    2335    // H
    2436    'h_amont_imposee' => "Hauteur d'eau imposée à l'amont (m)",
     
    3951    'pente_fond'      => "Pente du fond (m/m)",
    4052    'precision_calc'  => "Précision de calcul et d'affichage des cotes (m)",
    41     'pas_calcul_depuis_aval' => 'Condition limite aval < Hauteur critique : pas de calcul possible depuis l\'aval',
    42     'pas_calcul_depuis_amont' => 'Condition limite amont > Hauteur critique : pas de calcul possible depuis l\'amont',
     53    'pas_calcul_depuis_aval' => "Condition limite aval < Hauteur critique : pas de calcul possible depuis l'aval",
     54    'pas_calcul_depuis_amont' => "Condition limite amont > Hauteur critique : pas de calcul possible depuis l'amont",
     55    'pas_var'         => "Pas de variation de",
     56    'pvc'             => "PVC - Polyéthylène",
     57    'param_Q'         => "Q: Débit (m³/s)",
     58    'param_D'         => "D: Diamètre du tuyau (m)",
     59    'param_J'         => "J: Perte de charge (m)",
     60    'param_Lg'        => "Lg: Longueur du tuyau (m)",
     61    'param_calc_lechapt_calmon' => "Paramètres de calcul",
     62    'precision_lechapt_calmon'  => "Précision de calcul(m)",
    4363    //S
    44     'saisie_erreur'   => 'Votre saisie contient des erreurs !',
     64    'saisie_erreur'   => "Votre saisie contient des erreurs !",
     65    'section_trap'    => "Section Trapézoïdale",
     66    'section_rect'    => "Section Rectangulaire",
     67    'section_circ'    => "Section Circulaire",
     68    'section_puiss'   => "Section Puissance",
     69
    4570    //T
    46     'tirant_eau'      => 'Tirant d\'eau (m)',
     71    'tirant_eau'      => "Tirant d'eau (m)",
     72    'type_materiau'   => "Type du matériau",
     73    'tuyau_lisse1'    => "Tuyau hydrauliquement lisse - 0.05 ≤ D ≤ 0.2",
     74    'tuyau_lisse2'    => "Tuyau hydrauliquement lisse - 0.25 ≤ D ≤ 1",
     75    'type_section'    => "Type de section",
    4776    //V
    48     'valeur_positive' => 'Cette valeur doit être strictement positive'
     77    'valeur_positive' => "Cette valeur doit être strictement positive",
     78    'val_min'         => "Valeur minimum de",
     79    'val_max'         => "Valeur maximum de",
     80    'varier_val'      => "Varier valeur"
    4981);
    5082
Note: See TracChangeset for help on using the changeset viewer.