Changeset 59407 in spip-zone


Ignore:
Timestamp:
Mar 16, 2012, 2:18:23 PM (8 years ago)
Author:
m.dulondel@…
Message:

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.

Location:
_plugins_/hydraulic/branches/v0.3/formulaires
Files:
4 edited

Legend:

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

    r59311 r59407  
    22<script language="javascript" type="text/javascript" src="#CHEMIN{js/hyd_fonctions.js}"></script>
    33<script>
    4 
    54
    65//Permet d'afficher ou cacher les champs correspondant à une section.
     
    2120}
    2221
    23 var glob = [];
    24 // Variables globales contenant le choix fait pour chaque ligne 
    25 <BOUCLE_sans_coeff(POUR){tableau #ENV{tableau_caract}}>
    26         glob['#CLE'] = '#ENV{choix_champs_#CLE}';
    27 </BOUCLE_sans_coeff>
    28 
    29 // Mise a jour des variables globales
    30 function setVarGlob(){
    31         <BOUCLE_sans_coeff2(POUR){tableau #ENV{tableau_caract}}>
    32                 glob['#CLE'] = getRadioValue('choix_champs_#CLE');
    33         </BOUCLE_sans_coeff2>
    34 }
    35 
    36 // Gére le comportement des boutons radios
    37 function gestion_radios(nom,valeur){
    38        
    39         var tabPartiel = {
    40                 <BOUCLE_sans_coeff3(POUR){tableau #ENV{tableau_caract}}>
    41                         '#CLE' : glob['#CLE'],
    42                 </BOUCLE_sans_coeff3>
    43         };
    44        
    45         delete(tabPartiel[nom]);
    46        
    47         // Tableau des indices
    48 
    49         var tabIndice = [
    50                 <BOUCLE_sans_coeff4(POUR){tableau #ENV{tableau_caract}}>
    51                         '#CLE',
    52                 </BOUCLE_sans_coeff4>
    53         ];
    54        
    55         // Si on appuis sur un bouton de type "varier_val" ou "val_fixe"
    56         if(valeur.substr(0,3) == 'var' || valeur.substr(0,3)=='val'){
     22function gestion_radios(nom, valeur){
     23        var tabPartiel = ['rug', 'pente', 'cote_eau', 'debit'];
     24       
     25        for(var i in tabPartiel){
     26                if(tabPartiel[i] == nom){
     27                        delete(tabPartiel[i]);
     28                }
     29        }
     30       
     31        if(valeur.substr(0,3) == 'var'){
    5732                for(var cle in tabPartiel){
    58                         if(document.getElementById('varier_val_'+cle).checked && (glob[nom] != "calcul_val_"+nom)){
    59                                 document.getElementById('val_fixe_'+cle).checked=true;
    60                                 setVarGlob();
     33                        if(document.getElementById('varier_val_'+tabPartiel[cle]).checked){
     34                                document.getElementById('val_fixe_'+tabPartiel[cle]).checked=true;
     35                                document.getElementById('caract_'+tabPartiel[cle]).disabled=false;     
     36                                document.getElementById('caract_'+nom).disabled=true;   
     37                                var cacher = document.getElementsByClassName('champs_var_'+tabPartiel[cle]);
     38                                for(var i in cacher){
     39                                        cacher[i].style.display='none';
     40                                }               
     41                        }       
     42                }
     43                document.getElementById('val_a_cal_field_nc').style.display='table-row';
     44                document.getElementById('val_a_cal_nc').style.display='table-row';
     45                document.getElementById('caract_'+nom).disabled=true;   
     46                var afficher = document.getElementsByClassName('champs_var_'+nom);
     47                        for(var i in afficher){
     48                                afficher[i].style.display='table-row';
     49                }       
     50        }
     51
     52        if(valeur.substr(0,3) == 'val'){
     53                var CptValVar = 0;
     54                for(var cle in tabPartiel){
     55                        if(document.getElementById('varier_val_'+tabPartiel[cle]).checked){
     56                                CptValVar++;
    6157                        }
    62                         else if(document.getElementById('varier_val_'+cle).checked && (glob[nom] == "calcul_val_"+nom) && valeur.substr(0,3) == 'var'){
    63                        
    64                                 document.getElementById('calcul_val_'+cle).checked=true;
    65                                 document.getElementById('caract_'+cle).disabled=true;
    66                                 document.getElementById('caract_'+nom).disabled=false;
    67                                 setVarGlob();
    68                         }
    69                 }
    70                
    71         if(valeur.substr(0,3) == 'var'){
    72                 setVarGlob();
    73                 document.getElementById('caract_'+nom).disabled=true;
    74                 for(var cle in glob){
    75                         if(glob[cle].substr(0,3) == 'val'){
    76                                 document.getElementById('caract_'+cle).disabled=false;
    77                         }       
    78                 }
    79                
    80                 var afficher = document.getElementsByClassName('champs_var_'+nom);
    81                 for(var i in afficher){
    82                         afficher[i].style.display='table-row';
    83                 }
    84                
    85                 for(var cle in tabPartiel){     
    86                         var cacher = document.getElementsByClassName('champs_var_'+cle);
    87                         for(var i in cacher){
    88                                 cacher[i].style.display='none';
    89                         }
    90                 }
    91                
    92                 setVarGlob();
    93         }
    94 
    95         // Compte le nombre de varier_val checké
    96         var cptVarVal = 0;
    97         for(var cle in glob){
    98                 if(document.getElementById('varier_val_'+cle).checked){
    99                         cptVarVal++;
    100                 }
    101         }
    102        
    103         if(cptVarVal == 0){
    104                 for(var cle in glob){
    105                         if(glob[cle].substr(0,3) != 'cal'){
    106                                 document.getElementById('caract_'+cle).disabled=false;
    107                         }       
    108                 }
     58                }
     59                if(CptValVar == 0){
     60                        document.getElementById('val_a_cal_field_nc').style.display='none';
     61                        document.getElementById('val_a_cal_nc').style.display='none';
     62                }
     63       
     64                document.getElementById('caract_'+nom).disabled=false; 
    10965                var cacher = document.getElementsByClassName('champs_var_'+nom);
    11066                for(var i in cacher){
    11167                        cacher[i].style.display='none';
    112                 }
     68                }               
    11369        }
    114        
    115         setVarGlob();
    11670}
    11771</script>
    118 
    11972<form method="post" action="#ENV{action}" id="form_normale_critique">
    12073   #ACTION_FORMULAIRE{#ENV{action}}
     
    12275      <tbody>
    12376                        <tr id="type_section_field_nc">
    124                                 <td colspan="6"><div class="hyd_formulaire_chapitre"><:hydraulic:type_section:></div></td>
     77                                <td colspan="4"><div class="hyd_formulaire_chapitre"><:hydraulic:type_section:></div></td>
    12578                        </tr>
    12679
    12780                        <tr id="type_section_nc">
    128                                 <td align="right">
    129                                         <:hydraulic:choix_section:>
    130                                 </td>
    131                                                
    132                                 <td>
     81                                <td align="right" width="30%">
     82                                        <:hydraulic:choix_section:> :
     83                                </td>
     84                                               
     85                                <td colspan="3" width="70%">
    13386                                        <select name="ncTypeSection" id="choix_section_nc" onChange="afficher_cacher();">
    13487                                                <option value="FT" [(#ENV{ncTypeSection}|=={'FT'}|?{'selected',''})]><:hydraulic:section_trap:></option>
     
    148101                                       
    149102                                 <tr id="#GET{id_fieldset}_field_nc" style="display:[(#CLE|match{^([(#ENV{ncTypeSection})]|Caract)$}|?{'table-row','none'})];">                         
    150                                          <td colspan="6"><div class="hyd_formulaire_chapitre">[(#VALEUR|table_valeur{0})]</div></td>
     103                                         <td colspan="4"><div class="hyd_formulaire_chapitre">[(#VALEUR|table_valeur{0}|traduction_libelle)]</div></td>
    151104                                </tr>
    152105                               
     
    154107                                <tr>
    155108                                        <td colspan="2"></td>
    156                                         <td width="75px" colspan="2" align="center"><:hydraulic:varier_val:></td>
    157                                         <td width="75px" colspan="2" align="center"><:hydraulic:fixer_val:></td>
     109                                        <td align="center"><:hydraulic:varier_val:></td>
     110                                        <td align="center"><:hydraulic:fixer_val:></td>
    158111                                </tr>
    159112                                ,''})]
     
    162115
    163116                                        <tr id="#GET{id_fieldset}_[(#CLE)]_nc" style="display:[(#GET{id_fieldset}|match{^([(#ENV{ncTypeSection})]|Caract)$}|?{'table-row','none'})];">
    164                                                 <td align="right" width="150px">
     117                                                <td align="right">
    165118                                                        [(#VALEUR|table_valeur{0}|traduction_libelle)] :               
    166119                                                </td>
    167120                                       
    168121                                                <td>
    169                                                    <input type="text" value="[(#ENV{#GET{id_fieldset}_[(#CLE)]_nc})]" maxlength="30" name="#GET{id_fieldset}_[(#CLE)]_nc">
     122                                                   <input id="caract_#CLE" type="text" value="[(#ENV{#GET{id_fieldset}_[(#CLE)]_nc})]" maxlength="30" name="#GET{id_fieldset}_[(#CLE)]_nc">
    170123                                                   [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{#GET{id_fieldset}_[(#CLE)]_nc})</div>]
    171124                                                </td>
    172                                                
    173                                         [(#GET{id_fieldset}|=={'Caract'}|?{
    174                                                        
    175                                                 <td colspan="2" align="center">
    176                                                         <input type="radio" id="varier_val_#CLE" name="choix_champs_#CLE" value="varier_val_#CLE" onclick="" [(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}?{'checked',''})]/>
    177                                                 </td>
    178                                                                                        
    179                                                 <td colspan="2" align="center">
    180                                                         <input type="radio" id="val_fixe_#CLE" name="choix_champs_#CLE" value="val_fixe_#CLE" onclick="" [(#ENV{choix_champs_#CLE}|=={val_fixe_#CLE}?{'checked',''})]/>
     125                                       
     126                                        <BOUCLE_caract(CONDITION){si #GET{id_fieldset}|== {'Caract'}}>
     127                                               
     128                                                <BOUCLE_val_var_existe(CONDITION){si #ENV{choix_champs_#CLE}|== {varier_val_#CLE}}>
     129                                                        #SET{val_var, #CLE}
     130                                                </BOUCLE_val_var_existe>
     131
     132                                                <td align="center">
     133                                                        <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',''})]/>
     134                                                </td>   
     135                                       
     136                                                <td align="center">
     137                                                        <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',''})]/>
    181138                                                </td>
    182139                                        </tr>
    183140                                       
    184141                                        <tr class="champs_var_#CLE" style="display:[(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}|?{'table-row','none'})];">
    185                                                 <td></td>
    186                                                 <td align="right"><:hydraulic:val_min:> #CLE :
    187                                                         <input name="val_min_#CLE" type="text" value=""/>
     142                                                <td colspan="2" align="right"><:hydraulic:val_min:> : </td>
     143                                                <td colspan="2">
     144                                                        <input name="val_min_#CLE" type="text" value="#ENV{val_min_#CLE}"/>
    188145                                                        [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{val_min_#CLE})</div>]
    189146                                                </td>
    190                                                 <td colspan="6"></td>
    191                                         </tr>
    192                                        
     147                                        </tr>
     148                                               
    193149                                        <tr class="champs_var_#CLE" style="display:[(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}|?{'table-row','none'})];">
    194                                                 <td></td>
    195                                                 <td align="right"><:hydraulic:val_max:> #CLE :
    196                                                         <input name="val_max_#CLE" type="text" value=""/>
     150                                                <td colspan="2" align="right"><:hydraulic:val_max:> :</td>
     151                                                <td colspan="2">
     152                                                        <input name="val_max_#CLE" type="text" value="#ENV{val_max_#CLE}"/>
    197153                                                        [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{val_max_#CLE})</div>]
    198154                                                </td>
    199                                                 <td colspan="6"></td>
    200                                         </tr>
    201                                        
     155                                        </tr>
     156                                               
    202157                                        <tr class="champs_var_#CLE" style="display:[(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}|?{'table-row','none'})];">
    203                                                 <td></td>
    204                                                 <td align="right"><:hydraulic:pas_var:> #CLE :
    205                                                         <input name="pas_var_#CLE" type="text" value=""/>
     158                                                <td colspan="2" align="right"><:hydraulic:pas_var:> :</td>
     159                                                <td colspan="2">
     160                                                        <input name="pas_var_#CLE" type="text" value="#ENV{pas_var_#CLE}"/>
    206161                                                        [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{pas_var_#CLE})</div>]
    207162                                                </td>
    208                                                 <td colspan="6"></td>
    209                                         </tr>   
    210                                                 ,
    211                                         </tr>})]
    212                                
     163                                        </tr>
     164                                               
     165                                        </BOUCLE_caract>       
     166       
     167                                        </tr>
     168                                       
    213169                                </BOUCLE_champsLib>
    214 
     170       
    215171                        </BOUCLE_fieldChamps>
    216 
    217 
     172                        <tr id="param_calc_normale_critique">
     173                                <td colspan="5"><div class="hyd_formulaire_chapitre"><:hydraulic:param_calcul:></div></td>
     174                        </tr>
     175                       
     176                        <tr id="precision_normale_critique">
     177                                <td align="right">
     178                                        <:hydraulic:precision_lechapt_calmon:> :                       
     179                                </td>                   
     180                                <td>
     181                                        <input id="champs_prec_nc" type="text" value="#ENV{prec_nc}" maxlength="30" name="prec_lc"/>
     182                                        [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{prec_nc})</div>]
     183                                </td>   
     184                        </tr>
     185                       
     186                        <tr id="val_a_cal_field_nc" style="display:[(#GET{val_var}|!={''}|?{'table-row','none'})];">
     187                                <td colspan="4"><div class="hyd_formulaire_chapitre"><:hydraulic:donnee_calc:></div></td>
     188                        </tr>
     189
     190                        <tr id="val_a_cal_nc" style="display:[(#GET{val_var}|!={''}|?{'table-row','none'})];">
     191                                <td align="right">
     192                                        <:hydraulic:choix_donnee_calc:> :
     193                                </td>
     194                                               
     195                                <td colspan="3">
     196                                        <select name="val_a_cal_nc">
     197                                                <option value="1" [(#ENV{val_a_cal_nc}|=={'1'}|?{'selected',''})]><:hydraulic:charge_spe:></option>
     198                                                <option value="2" [(#ENV{val_a_cal_nc}|=={'2'}|?{'selected',''})]><:hydraulic:charge_critique:></option>
     199                                                <option value="3" [(#ENV{val_a_cal_nc}|=={'3'}|?{'selected',''})]><:hydraulic:larg_miroir:></option>
     200                                                <option value="4" [(#ENV{val_a_cal_nc}|=={'4'}|?{'selected',''})]><:hydraulic:perim_mouille:></option>
     201                                                <option value="5" [(#ENV{val_a_cal_nc}|=={'5'}|?{'selected',''})]><:hydraulic:surf_mouille:></option>
     202                                                <option value="6" [(#ENV{val_a_cal_nc}|=={'6'}|?{'selected',''})]><:hydraulic:rayon_hyd:></option>
     203                                                <option value="7" [(#ENV{val_a_cal_nc}|=={'7'}|?{'selected',''})]><:hydraulic:vit_moy:></option>
     204                                                <option value="8" [(#ENV{val_a_cal_nc}|=={'8'}|?{'selected',''})]><:hydraulic:froud:></option>
     205                                                <option value="9" [(#ENV{val_a_cal_nc}|=={'9'}|?{'selected',''})]><:hydraulic:tirant_eau_crit:></option>
     206                                                <option value="10" [(#ENV{val_a_cal_nc}|=={'10'}|?{'selected',''})]><:hydraulic:tirant_eau_norm:></option>
     207                                                <option value="11" [(#ENV{val_a_cal_nc}|=={'11'}|?{'selected',''})]><:hydraulic:tirant_eau_fluv:></option>
     208                                                <option value="12" [(#ENV{val_a_cal_nc}|=={'12'}|?{'selected',''})]><:hydraulic:tirant_eau_torr:></option>
     209                                                <option value="13" [(#ENV{val_a_cal_nc}|=={'13'}|?{'selected',''})]><:hydraulic:tirant_eau_conj:></option>
     210                                                <option value="14" [(#ENV{val_a_cal_nc}|=={'14'}|?{'selected',''})]><:hydraulic:perte_charge:></option>
     211                                                <option value="15" [(#ENV{val_a_cal_nc}|=={'15'}|?{'selected',''})]><:hydraulic:var_lin:></option>
     212                                                <option value="16" [(#ENV{val_a_cal_nc}|=={'16'}|?{'selected',''})]><:hydraulic:impulsion:></option>
     213                                                <option value="17" [(#ENV{val_a_cal_nc}|=={'17'}|?{'selected',''})]><:hydraulic:force_tract:></option>
     214                                        </select>
     215                                        [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{[(#VALEUR|table_valeur{0})]})</div>]
     216                                </td>
     217                                               
     218                        </tr>
     219                       
    218220                        <tr>
    219                                 <td colspan="6" class="hyd_bouton_submit">
     221                                <td colspan="4" class="hyd_bouton_submit">
    220222                                   <input type="submit" value="<:hydraulic:calculer:>">
    221223                                </td>
    222224                        </tr>
    223                        
     225       
    224226      </tbody>
    225227   </table>
  • _plugins_/hydraulic/branches/v0.3/formulaires/calcul_normale_critique.php

    r59311 r59407  
    4343       
    4444                                'FT'          => array(
    45                                                                            'Définition de la section trapézoïdale',
     45                                                                           'def_section_trap',
    4646                                                                           array(
    4747                                                                                         'rLarg'  =>array('largeur_fond',2.5),
    48                                                                                          'rFruit' =>array('fruit', 0.56, false)
    49                                                                                         )
     48                                                                                         'rFruit' =>array('fruit', 0.56)
     49                                                                                         )
    5050                                ),
    5151                               
    5252                                'FR'          => array(
    53                                                                            'Définition de la section rectangulaire',
     53                                                                           'def_section_rect',
    5454                                                                           array(
    55                                                                                          'rLarg'  =>array('largeur_fond',2.5),
     55                                                                                         'rLarg'  =>array('largeur_fond',2.5)
    5656                                                                                        )
    5757                                ),
    5858                                       
    5959                                'FC'          => array(
    60                                                                            'Définition de la section circulaire',
     60                                                                           'def_section_circ',
    6161                                                                           array(
    6262                                                                                         'circ1'  =>array('champ_circulaire1',3),
     
    6666                               
    6767                                'FP'          => array(
    68                                                                            'Définition de la section puissance',
     68                                                                           'def_section_puis',
    6969                                                                           array(
    7070                                                                                         'puiss1' =>array('champs_puissance1',10),
     
    7474                               
    7575                                'Caract' => array(                             
    76                                                                            'Caractéristiques',                                 
     76                                                                           'caract_globale',                                   
    7777                                                                           array(
    7878                                                                                         'rug'      =>array('rugosite_nc',50),
     
    102102                }
    103103        }
    104 
     104       
    105105        return $tChOblig;
    106106}
     
    112112        $valeurs = array(
    113113                'ncTypeSection' => 'FT',
    114                 'mes_saisies' => $tSaisie_nc,
    115                 'choix_champs_rug'      => 'varier_val_rug',
    116                 'choix_champs_pente'    => 'val_fixe_pente',
    117                 'choix_champs_cote_eau' => 'val_fixe_cote_eau',
    118                 'choix_champs_debit'    => 'val_fixe_debit',
     114                'mes_saisies'   => $tSaisie_nc,
     115                'val_a_cal_nc'  => 1,
     116                'prec_nc'       => 0.001
    119117        );
    120118   
     
    122120                foreach($FieldSet[1] as $Cle=>$Champ) {
    123121                        $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                        }
    124128                }
    125129        }
    126 
     130       
    127131    return $valeurs;
    128132}
    129133
    130 function formulaires_calcul_normale_critique_verifier_dist(){
     134function formulaires_calcul_normale_critique_verifier_dist(){   
    131135    $erreurs = array();
    132136    $datas = array();
     
    134138    // Vérifier que les champs obligatoires sont bien là :
    135139    foreach($tChOblig as $obligatoire) {
    136         if (!_request($obligatoire)) {
     140                if (_request($obligatoire) == NULL) {
    137141                        $erreurs[$obligatoire] = _T('hydraulic:champ_obligatoire');
    138142        }
     143        else if(_request($obligatoire) == 0){
     144                        $erreurs[$obligatoire] = _T('hydraulic:valeur_positive');
     145                }
    139146        else {
    140147            $datas[$obligatoire] = _request($obligatoire);
     
    144151        // Gestion des valeurs négatives
    145152    foreach($datas as $champ=>$data) {
    146         if ($data < 0) $erreurs[$champ] = _T('hydraulic:valeur_positive');
     153        if ($data < 0) $erreurs[$champ] = _T('hydraulic:valeur_positive_nulle');
    147154    }
    148155   
     
    154161}
    155162
     163
    156164function formulaires_normale_critique_traiter_dist(){
    157165
    158166         /***************************************************************************
    159     *                        Calcul de Lechapt et calmon
    160     ****************************************************************************/
     167    *                        Calcul normale critique
     168    ***************************************************************************/
    161169
     170       
    162171        /***************************************************************************
    163172    *                   Affichage du tableau de données
    164173    ****************************************************************************/
    165 
     174       
    166175    /***************************************************************************
    167176    *                        Affichage du graphique
    168177    ****************************************************************************/
    169178
     179       
    170180}
    171181?>
  • _plugins_/hydraulic/branches/v0.3/formulaires/lechapt_calmon.html

    r59311 r59407  
    252252
    253253                                <tr class="champs_var_#CLE" style="display:[(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}|?{'table-row','none'})];">
    254                                         <td colspan="3" align="right"><:hydraulic:val_min:> #CLE : </td>
     254                                        <td colspan="3" align="right"><:hydraulic:val_min:> : </td>
    255255                                        <td colspan="2">
    256256                                                <input name="val_min_#CLE" type="text" value="#ENV{val_min_#CLE}"/>
     
    260260                                       
    261261                                <tr class="champs_var_#CLE" style="display:[(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}|?{'table-row','none'})];">
    262                                         <td colspan="3" align="right"><:hydraulic:val_max:> #CLE :</td>
     262                                        <td colspan="3" align="right"><:hydraulic:val_max:> :</td>
    263263                                        <td colspan="2">
    264264                                                <input name="val_max_#CLE" type="text" value="#ENV{val_max_#CLE}"/>
     
    268268                                       
    269269                                <tr class="champs_var_#CLE" style="display:[(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}|?{'table-row','none'})];">
    270                                         <td colspan="3" align="right"><:hydraulic:pas_var:> #CLE :</td>
     270                                        <td colspan="3" align="right"><:hydraulic:pas_var:> :</td>
    271271                                        <td colspan="2">
    272272                                                <input name="pas_var_#CLE" type="text" value="#ENV{pas_var_#CLE}"/>
     
    282282                       
    283283                        <tr id="precision_lechapt_calmon">
    284                                         <td align="right">
    285                                                 <:hydraulic:precision_lechapt_calmon:> :                       
    286                                         </td>
    287                                                                
    288                                         <td>
    289                                                 <input id="champs_prec_lc" type="text" value="#ENV{prec_lc}" maxlength="30" name="prec_lc"/>
    290                                                 [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{prec_lc})</div>]
    291                                         </td>   
     284                                <td align="right">
     285                                        <:hydraulic:precision_lechapt_calmon:> :                       
     286                                </td>                   
     287                                <td>
     288                                        <input id="champs_prec_lc" type="text" value="#ENV{prec_lc}" maxlength="30" name="prec_lc"/>
     289                                        [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{prec_lc})</div>]
     290                                </td>   
    292291                        </tr>
    293292                               
  • _plugins_/hydraulic/branches/v0.3/formulaires/lechapt_calmon.php

    r59311 r59407  
    195195}
    196196
    197 function formulaires_lechapt_calmon_verifier_dist(){
     197function formulaires_lechapt_calmon_verifier_dist(){   
    198198    $erreurs = array();
    199199    $datas = array();
     
    201201    // Vérifier que les champs obligatoires sont bien là :
    202202    foreach($tChOblig as $obligatoire) {
    203         if (!_request($obligatoire) && id_decoupe($obligatoire) != 'Q' && id_decoupe($obligatoire) != 'J') {
     203                if (_request($obligatoire) == NULL) {
    204204                        $erreurs[$obligatoire] = _T('hydraulic:champ_obligatoire');
    205205        }
     206        else if(_request($obligatoire) == 0 && id_decoupe($obligatoire) != 'Q' && id_decoupe($obligatoire) != 'J'){
     207                        $erreurs[$obligatoire] = _T('hydraulic:valeur_positive');
     208                }
    206209        else {
    207210            $datas[$obligatoire] = _request($obligatoire);
     
    211214        // Gestion des valeurs négatives
    212215    foreach($datas as $champ=>$data) {
    213         if ($data < 0) $erreurs[$champ] = _T('hydraulic:valeur_positive');
     216        if ($data < 0) $erreurs[$champ] = _T('hydraulic:valeur_positive_nulle');
    214217    }
    215218   
     
    258261                        $ValCal = id_decoupe($ind);
    259262                }
    260                
    261263                else if(substr($ind, 0, 3) == 'var'){
    262264                        $min = _request('val_min_'.id_decoupe($ind));
     
    266268                }
    267269        }
     270       
    268271        $max += $pas/2;
    269272       
    270273        switch($ValCal){
    271                 case 'Q':
    272                         if($Lg != 0 || $min != 0){                     
     274                case 'Q':                       
     275                        for($i = $min; $i <= $max; $i+= $pas){
     276                                $result[] = pow(((($J*pow($D, $N))/$L)*(1000/$Lg)), 1/$M);
     277                        }
     278                break;
     279               
     280                case 'D':
     281                        if($J == 0 && _request('choix_champs_J') != 'varier_val_J'){
     282                                $result[] = 0;
     283                        }
     284                        else{
    273285                                for($i = $min; $i <= $max; $i+= $pas){
    274                                         $result[] = pow(((($J*pow($D, $N))/$L)*(1000/$Lg)), 1/$M);
     286                                        if($i == 0 && _request('choix_champs_J') == 'varier_val_J'){
     287                                                $result[] = INF;
     288                                        }
     289                                        else{
     290                                                $result[] = pow(((($L*pow($Q, $M))/$J)*($Lg/1000)), 1/$N);
     291                                        }
    275292                                }
    276293                        }
    277                         else{
    278                                 $result[] = 0;
     294               
     295                break;
     296               
     297                case 'J':
     298                        for($i = $min; $i <= $max; $i+= $pas){
     299                                $result[] = (($L*pow($Q, $M))/pow($D, $N))*($Lg/1000) ;
    279300                        }
    280301                       
    281302                break;
    282303               
    283                 case 'D':
    284                         if($J != 0 || $min != 0){
     304                case 'Lg':
     305                        if($Q == 0 && _request('choix_champs_Q') != 'varier_val_Q'){
     306                                $result[] = 0;
     307                        }
     308                        else{
    285309                                for($i = $min; $i <= $max; $i+= $pas){
    286                                         $result[] = pow(((($L*pow($Q, $M))/$J)*($Lg/1000)), 1/$N);
     310                                        if($i == 0 && _request('choix_champs_Q') == 'varier_val_Q'){
     311                                                $result[] = INF;
     312                                        }
     313                                        else{
     314                                                $result[] = (($J*pow($D, $N))/($L*pow($Q,$M)))*1000 ;
     315                                        }
    287316                                }
    288317                        }
    289                         else{
    290                                 $result[] = 0;
    291                         }
    292                        
    293                 break;
    294                
    295                 case 'J':
    296                         if($D != 0 || $min != 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($Q != 0 || $min != 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                        
     318
    317319                break;
    318320        }
     
    374376        }
    375377       
    376         foreach($result as $valCal){
     378        foreach($result as $indice){
    377379                $i++;
    378380                $echo.= '<tr class="';
     
    388390                                }       
    389391                               
    390                 $echo.= '<td>'.$ValeurVarie.'</td><td>'.format_nombre($valCal, $iPrec).'</td>';         
    391                 $echo.= '</tr>';               
     392                $echo.= '<td>'.$ValeurVarie.'</td><td>'.format_nombre($indice, $iPrec).'</td>';         
     393                $echo.= '</tr>';       
    392394                $tabAbs[] = $ValeurVarie;
    393395                $ValeurVarie+= $pas;
     
    397399        </table>';
    398400
    399 
     401        if($min == 0 && ($ValCal == 'D' || $ValCal == 'Lg')){
     402                unset($result[0]);
     403                $result = array_values($result);
     404               
     405                unset($tabAbs[0]);
     406                $tabAbs = array_values($tabAbs);
     407        }
    400408
    401409    /***************************************************************************
    402410    *                        Affichage du graphique
    403411    ****************************************************************************/
    404  
     412
    405413        // Si notre tableau de résultats contient plus d'une ligne alors on l'affiche.
    406414        if(count($result) > 1){
Note: See TracChangeset for help on using the changeset viewer.