Changeset 60951 in spip-zone
- Timestamp:
- May 5, 2012, 6:15:22 AM (9 years ago)
- Location:
- _plugins_/hydraulic/branches/v0.3
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/hydraulic/branches/v0.3/formulaires/calcul_ouvrages.html
r60709 r60951 3 3 <script language="javascript" type="text/javascript" src="#CHEMIN{js/hyd_fonctions.js}"></script> 4 4 <script> 5 /* 6 * La plupart des commentaires sont les mêmes que pour la page lechapt_calmon.html 7 */ 8 9 // Choix de l'ouvrage 10 var globSelectOuv = 'vRect'; 11 var glob = []; 12 13 function setVarGlob(){ 14 globSelectOuv = getSelectValue('choix_ouvrage'); 15 affSurvCheck = document.getElementById("affSurverse").checked; 16 for(var i in glob){ 17 glob[i] = getRadioValue('choix_champs_'+i); 18 } 19 } 20 21 // Retourne sous forme de tableau tous les élèments de la Class classe et de type tagName 5 22 function elementsParClasse(classe, tagName){ 6 23 var divs = document.getElementsByTagName(tagName); … … 14 31 } 15 32 16 var globSelectOuv = 'vRect'; 17 var glob = []; 18 19 // Variables globales contenant le choix fait pour chaque ligne 20 <BOUCLE_remplisglob(POUR){tableau #ENV{mes_saisies}}> 21 if(globSelectOuv == '#CLE'){ 22 <BOUCLE_remplisglob1(POUR){tableau #VALEUR|table_valeur{1}}> 23 glob['#CLE'] = '#ENV{choix_champs_#CLE}'; 24 </BOUCLE_remplisglob1> 25 } 26 </BOUCLE_remplisglob> 27 28 function setVarGlob(){ 29 globSelectOuv = getSelectValue('choix_ouvrage'); 30 <BOUCLE_remplisglob2(POUR){tableau #ENV{mes_saisies}}> 33 function affichageEtValeur(){ 34 afficher_cacher_champs_select(); 35 afficher_cacher_champs_ouv(); 36 afficher_cacher_surverse(); 37 } 38 39 function afficher_cacher_champs_select(){ 40 setVarGlob(); 41 var tabAfficher = []; 42 43 <BOUCLE_tabS(POUR){tableau #ENV{mes_saisies}}> 31 44 if(globSelectOuv == '#CLE'){ 32 <BOUCLE_remplisglob3(POUR){tableau #VALEUR|table_valeur{1}}> 33 glob['#CLE'] = getRadioValue('choix_champs_#CLE'); 34 </BOUCLE_remplisglob3> 35 } 36 </BOUCLE_remplisglob2> 37 } 38 45 <BOUCLE_tabS2(POUR){tableau #VALEUR|table_valeur{2}}> 46 tabAfficher.push([(#VALEUR|table_valeur{0})]); 47 </BOUCLE_tabS2> 48 } 49 </BOUCLE_tabS> 50 51 for(var i = 0; i < document.getElementById("choix_equation_debit").length; i++){ 52 document.getElementById("choix_equation_debit").options[i].style.display="none"; 53 document.getElementById("choix_equation_debit").options[i].selected=false; 54 } 55 56 var cpt = 0; 57 for(var i in tabAfficher){ 58 document.getElementById("choix_equation_debit").options[tabAfficher[i]-1].style.display="list-item"; 59 if(cpt == 0){ 60 document.getElementById("choix_equation_debit").options[tabAfficher[i]-1].selected=true; 61 cpt++; 62 } 63 } 64 } 65 66 function afficher_cacher_champs_ouv(){ 67 setVarGlob(); 68 var tabOuvrageAfficher = []; 69 var tabOuvrageCacher = []; 70 71 <BOUCLE_remplisTabOuv(POUR) {tableau #ENV{mes_saisies}}> 72 if(globSelectOuv == '#CLE'){ 73 <BOUCLE_remplisTabOuv2(POUR) {tableau #VALEUR|table_valeur{1}}> 74 tabOuvrageAfficher.push('#CLE'); 75 </BOUCLE_remplisTabOuv2> 76 } 77 </BOUCLE_remplisTabOuv> 78 79 <BOUCLE_libEquat(POUR){tableau #ENV{saisie_equat}}> 80 tabOuvrageCacher.push('#CLE'); 81 </BOUCLE_libEquat> 82 83 for(var i in tabOuvrageCacher){ 84 document.getElementById('ouvrage_'+tabOuvrageCacher[i]).style.display='none'; 85 } 86 87 for(var i in tabOuvrageAfficher){ 88 document.getElementById('ouvrage_'+tabOuvrageAfficher[i]).style.display='table-row'; 89 } 90 91 } 92 93 function afficher_cacher_surverse(){ 94 setVarGlob(); 95 var tabAffSurv = []; 96 97 <BOUCLE_vanne1(POUR){tableau #ENV{mes_saisies}}> 98 #SET{afficherVanne, #VALEUR|table_valeur{1}} 99 <BOUCLE_vanne2(CONDITION){si #VALEUR|table_valeur{0}|substr{0,5}|== {'vanne'}}> 100 tabAffSurv.push('#CLE'); 101 </BOUCLE_vanne2> 102 </BOUCLE_vanne1> 103 104 // Afficher ou cacher le fieldset + la case a cocher si cest pas une vanne 105 if(tabAffSurv.indexOf(globSelectOuv) !== -1){ 106 document.getElementById("surverseField").style.display='table-row'; 107 document.getElementById("afficher_surverse").style.display='table-row'; 108 109 } 110 else{ 111 document.getElementById("surverseField").style.display='none'; 112 document.getElementById("afficher_surverse").style.display='none'; 113 document.getElementById("affSurverse").checked=false; 114 } 115 116 var f = document.getElementById("form_calcul_ouvrages"); 117 if(f) { 118 var champs = f.getElementsByTagName("tr"); 119 for(var i=0, n=champs.length; i<n; i++) { 120 if(champs[i].getAttribute("id") !== null && champs[i].getAttribute("id").indexOf('field_surverse',0) !== -1 && document.getElementById("affSurverse").checked){ 121 document.getElementById(champs[i].getAttribute("id")).style.display="table-row"; 122 document.getElementById('loi_debit_surverse').style.display="table-row"; 123 } 124 else if(champs[i].getAttribute("id") !== null && champs[i].getAttribute("id").indexOf('field_surverse',0) !== -1 && !document.getElementById("affSurverse").checked){ 125 document.getElementById(champs[i].getAttribute("id")).style.display="none"; 126 document.getElementById('loi_debit_surverse').style.display="none"; 127 } 128 } 129 } 130 } 131 132 // Gére le comportement des boutons radios 39 133 function gestion_radios(nom,valeur){ 134 // Ce tableau contiendra tous les indices , ainsi que leur valeur, excepté celle qui a été cliquée 40 135 var tabPartiel = []; 136 137 // On supprime du tableau l'élément sur lequel on a cliqué 138 delete(tabPartiel[nom]); 139 140 // Tableau des indices 41 141 var tabIndice = []; 42 setVarGlob(); 43 44 <BOUCLE_libelleCaract3(POUR){tableau #ENV{mes_saisies}}> 45 if(globSelectOuv == '#CLE'){ 46 <BOUCLE_libelleCaract4(POUR){tableau #VALEUR|table_valeur{1}}> 47 tabPartiel['#CLE'] = glob['#CLE']; 48 tabIndice.push('#CLE'); 49 </BOUCLE_libelleCaract4> 50 } 51 </BOUCLE_libelleCaract3> 52 53 delete(tabPartiel[nom]); 54 // Si on appuis sur un bouton de type "calcul_val" 142 55 143 if(valeur.substr(0,3) == 'cal'){ 56 144 /* … … 70 158 } 71 159 72 // Si on appui ssur un bouton de type "varier_val" ou "val_fixe"160 // Si on appuit sur un bouton de type "varier_val" ou "val_fixe" 73 161 else if(valeur.substr(0,3) == 'var' || valeur.substr(0,3)=='val'){ 74 162 for(var cle in tabPartiel){ 75 var test = 0;76 163 if(document.getElementById('varier_val_'+cle).checked && (glob[nom] != "calcul_val_"+nom)){ 77 164 if(document.getElementById('varier_val_'+nom).checked){ … … 97 184 // Si aucune calcul_val n'est checké 98 185 if(cptValCal == 0){ 99 186 // Alors on chercher l'indice suivant... 100 187 indice = ''; 101 188 for(var i = 0; i < tabIndice.length; i++){ … … 111 198 112 199 } 200 // ... et on le met a calcul_val 113 201 document.getElementById('calcul_val_'+indice).checked=true; 114 202 document.getElementById('caract_'+nom).disabled=false; … … 122 210 } 123 211 212 // Si on appuis sur un bouton de type varier_val 124 213 if(valeur.substr(0,3) == 'var'){ 125 214 setVarGlob(); … … 130 219 } 131 220 } 132 alert(nom); 221 222 // on affiche les champs correspondant au bouton sélectionné 133 223 var afficher = elementsParClasse('champs_var_'+nom, 'tr'); 134 224 for(var i in afficher){ 135 225 afficher[i].style.display='table-row'; 136 226 } 137 227 // On cache tous les autres champs de variations. 138 228 for(var cle in tabPartiel){ 139 229 var cacher = elementsParClasse('champs_var_'+cle, 'tr'); … … 165 255 } 166 256 } 257 167 258 setVarGlob(); 168 } 259 } 260 169 261 </script> 262 170 263 <form method="post" action="#ENV{action}" id="form_calcul_ouvrages"> 171 264 #ACTION_FORMULAIRE{#ENV{action}} … … 213 306 </BOUCLE_conditionAff> 214 307 </BOUCLE_tabMesSaisies> 215 <option value="#CLE" [(#ENV{choixEquation}|=={#CLE}|?{'selected',''})] style="display: [(#CLE|=={#GET{affichage}}|?{'list-item','none'})]"> #VALEUR</option>308 <option value="#CLE" [(#ENV{choixEquation}|=={#CLE}|?{'selected',''})] style="display: [(#CLE|=={#GET{affichage}}|?{'list-item','none'})]">[(#VALEUR|traduction_hydraulic)]</option> 216 309 </BOUCLE_choixEquat> 217 310 </select> … … 304 397 </td> 305 398 <td> 306 <input type="checkbox" id="affSurverse" name="afficher_surverse" onclick="afficher_ca se_a_cocher()" [(#ENV{afficher_surverse}|=={'on'}|?{'checked', ''})]/>399 <input type="checkbox" id="affSurverse" name="afficher_surverse" onclick="afficher_cacher_surverse()" [(#ENV{afficher_surverse}|=={'on'}|?{'checked', ''})]/> 307 400 [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{[(#VALEUR|table_valeur{0})]})</div>] 308 401 </td> -
_plugins_/hydraulic/branches/v0.3/formulaires/calcul_ouvrages.php
r60709 r60951 25 25 26 26 $numLoi = array( 27 1 => ' Déversoir/Orifice Cemagref88',28 2 => ' Vanne de fond/Seuil Cemagref88',29 3 => ' Seuil dénoyé',30 4 => ' Seuil noyé',31 5 => ' Vanne dénoyé',32 6 => ' Vanne noyé',33 7 => ' Cunge 1980',34 8 => ' Déversoir/Orifice Cemagref02',35 9 => ' Vanne de fond/Seuil Cemagref02'27 1 => 'or_cemagref88', 28 2 => 's_cemagref88', 29 3 => 's_denoye', 30 4 => 's_noye', 31 5 => 'v_denoye', 32 6 => 'v_noye', 33 7 => 'cunge', 34 8 => 'or_cemagref02', 35 9 => 's_cemagref02' 36 36 ); 37 37 -
_plugins_/hydraulic/branches/v0.3/formulaires/courbe_remous.html
r60709 r60951 6 6 function afficher_cacher() { 7 7 var section = getSelectValue('choix_section_cr'); 8 // On récupère tous le formulaire 8 9 var f = document.getElementById("form_courbe_remous"); 9 10 if(f) { 11 // On récupère seulement les lignes <tr> du formulaire stocké dans f 10 12 var champs = f.getElementsByTagName("tr"); 11 13 // On parcourt tous les <tr> du formulaire -
_plugins_/hydraulic/branches/v0.3/formulaires/lechapt_calmon.html
r60709 r60951 2 2 <script language="javascript" type="text/javascript" src="#CHEMIN{js/hyd_fonctions.js}"></script> 3 3 <script> 4 // Permet de switcher les valeur de L, M et N en fonction du matériau choisi e4 // Permet de switcher les valeur de L, M et N en fonction du matériau choisis 5 5 function change_valeur() { 6 /* 7 * Le select commence à 1 donc on diminue son indice de 1 vu qu'on utilise un tableau pour stocker 8 * les valeurs (on commence a 0) 9 */ 6 10 var choix_mat = getSelectValue('choix_materiau')-1; 7 11 var materiau = new Array(); … … 18 22 } 19 23 24 // Retourne sous forme de tableau tous les élèments de la Class classe et de type tagName 20 25 function elementsParClasse(classe, tagName){ 21 26 var divs = document.getElementsByTagName(tagName); … … 29 34 } 30 35 36 // Tableau contenant tous les choix des groupes de boutons radios 31 37 var glob = []; 32 38 … … 39 45 function setVarGlob(){ 40 46 <BOUCLE_sans_coeff2(POUR){tableau #ENV{tableau_caract}}> 47 // On récupère le choix effectué parmis les groupes de champs radios. 41 48 glob['#CLE'] = getRadioValue('choix_champs_#CLE'); 42 49 </BOUCLE_sans_coeff2> … … 46 53 function gestion_radios(nom,valeur){ 47 54 48 // Ce tableau contiendra tous les indices , ainsi que leur valeur, excepté celle qui a été cliqué 55 // Ce tableau contiendra tous les indices , ainsi que leur valeur, excepté celle qui a été cliquée 49 56 var tabPartiel = { 50 57 <BOUCLE_sans_coeff3(POUR){tableau #ENV{tableau_caract}}> … … 53 60 }; 54 61 62 // On supprime du tableau l'élément sur lequel on a cliqué 55 63 delete(tabPartiel[nom]); 56 64 … … 79 87 } 80 88 81 // Si on appui ssur un bouton de type "varier_val" ou "val_fixe"89 // Si on appuit sur un bouton de type "varier_val" ou "val_fixe" 82 90 else if(valeur.substr(0,3) == 'var' || valeur.substr(0,3)=='val'){ 83 91 for(var cle in tabPartiel){ 84 var test = 0;85 92 if(document.getElementById('varier_val_'+cle).checked && (glob[nom] != "calcul_val_"+nom)){ 86 93 if(document.getElementById('varier_val_'+nom).checked){ … … 106 113 // Si aucune calcul_val n'est checké 107 114 if(cptValCal == 0){ 108 115 // Alors on chercher l'indice suivant... 109 116 indice = ''; 110 117 for(var i = 0; i < tabIndice.length; i++){ … … 120 127 121 128 } 129 // ... et on le met a calcul_val 122 130 document.getElementById('calcul_val_'+indice).checked=true; 123 131 document.getElementById('caract_'+nom).disabled=false; … … 131 139 } 132 140 141 // Si on appuis sur un bouton de type varier_val 133 142 if(valeur.substr(0,3) == 'var'){ 134 143 setVarGlob(); … … 140 149 } 141 150 151 // on affiche les champs correspondant au bouton sélectionné 142 152 var afficher = elementsParClasse('champs_var_'+nom, 'tr'); 143 153 for(var i in afficher){ 144 154 afficher[i].style.display='table-row'; 145 155 } 146 156 // On cache tous les autres champs de variations. 147 157 for(var cle in tabPartiel){ 148 158 var cacher = elementsParClasse('champs_var_'+cle, 'tr'); -
_plugins_/hydraulic/branches/v0.3/formulaires/lechapt_calmon.php
r60709 r60951 39 39 */ 40 40 41 // Cette fonction renvoit tous les indices des champs présents dans le formulaire. 41 42 function mes_champs_coeff_materiau() { 42 43 $mes_champs_coeff = array('L','M','N','Q','D','J','Lg'); … … 44 45 } 45 46 47 // Cette fonction renvoit seulement les paramètres fixes, ainsi que leur code pour le dictionnaires des langues 46 48 function mes_champs_sans_coeff_materiau(){ 47 49 $mes_champs_sans_coeff = array( … … 55 57 } 56 58 59 // Découpe le paramètre champs en suivant les "_" et renvoit l'avant derner morceau. 57 60 function id_decoupe($champs){ 58 61 $decoup = explode('_', $champs, 3); … … 60 63 } 61 64 62 /* Tableau des données pour chaque type de tuyau. Ces valeurs sont associées 65 /* 66 * Tableau des données pour chaque type de tuyau. Ces valeurs sont associées 63 67 * aux numéros des options du select (voir page lechapt_calmon.php) 64 68 */ … … 130 134 * La suite de cette fonction se chargera de supprimer les valeurs non obligatoires. 131 135 */ 132 133 136 $tChOblig = mes_champs_coeff_materiau(); 134 137 $tChUtil = mes_champs_sans_coeff_materiau(); … … 179 182 180 183 $mes_champs = mes_champs_sans_coeff_materiau(); 184 // On parcourt tous le tableau des indices, et on initialise les valeurs des boutons radios, et des champs de variation 181 185 foreach($mes_champs as $cle=>$valeur){ 182 186 if($cle == 'Q'){ … … 204 208 $erreurs[$obligatoire] = _T('hydraulic:champ_obligatoire'); 205 209 } 210 // Les coefficients des matériaux doivent être strictement positifs 206 211 else if(($obligatoire == 'L' || $obligatoire == 'M' || $obligatoire == 'N') && _request($obligatoire) == 0){ 207 212 $erreurs[$obligatoire] = _T('hydraulic:valeur_positive'); … … 258 263 $CacheFileName=md5(serialize($datas)); 259 264 265 // On transforme les champs du tableau en variables 260 266 foreach($champs_materiau_coeff as $champs){ 261 267 ${$champs} = _request($champs); 262 268 } 263 269 270 // On récupère les différents choix effectué sur les boutons radios ainsi que les libelles de tous les paramètres 264 271 foreach($champs_materiau_sans_coeff as $cle=>$valeur){ 265 272 $choix_radio[$cle] = _request('choix_champs_'.$cle); … … 273 280 274 281 foreach($choix_radio as $ind){ 282 // Si il y a une valeur a calculer 275 283 if(substr($ind, 0, 3) == 'cal'){ 276 284 $ValCal = id_decoupe($ind); 277 285 } 286 // Sinon si une valeur varie 278 287 else if(substr($ind, 0, 3) == 'var'){ 288 // alors on récupère sa valeur maximum, minimum et son pas de variation 279 289 $min = _request('val_min_'.id_decoupe($ind)); 280 290 $max = _request('val_max_'.id_decoupe($ind)); 281 291 $pas = _request('pas_var_'.id_decoupe($ind)); 292 // On fait pointer la variable qui varie sur l'indice de parcours du tableau i 282 293 ${id_decoupe($ind)} = &$i; 283 294 } 284 295 } 296 297 // Pour afficher correctement la valeur maximum 285 298 $max += $pas/2; 286 299 … … 291 304 } 292 305 else { 306 /* 307 * Selon la variable à calculer, on gère les valeurs = à 0 et les valeurs infinies 308 * et on fait le valcul correspondant. 309 */ 293 310 switch($ValCal){ 294 311 case 'Q': … … 368 385 $tabClass = array(); 369 386 387 // On compte le nombre de valeur qui varie 370 388 foreach($tabLibelle as $cle=>$valeur){ 371 389 if(substr(_request('choix_champs_'.$cle), 0, 3) == 'var'){ … … 373 391 } 374 392 } 375 393 // On répertorie toutes les valeurs selon leur type dans un tableau 376 394 foreach($tabLibelle as $cle=>$valeur){ 377 395 if(substr(_request('choix_champs_'.$cle), 0, 3) == 'cal'){ … … 391 409 } 392 410 411 // On génère les entêtes du tableau de résulats 393 412 $echo.='<table class="spip"> 394 413 <thead> … … 417 436 } 418 437 438 // On insère les différents résultats dans le tableau correspondant. 419 439 foreach($result as $indice){ 420 440 $i++; … … 440 460 </table>'; 441 461 462 // Si la première valeur est infinie alors on la supprime et on tasse le tableau 442 463 if(is_infinite($result[0])){ 443 464 unset($result[0]); -
_plugins_/hydraulic/branches/v0.3/hyd_inc/section.class.php
r60927 r60951 237 237 switch($sDonnee) { 238 238 case 'B' : // Largeur aux berges 239 239 240 $this->arCalcGeo[$sDonnee] = $this->CalcB(); 240 241 if($this->arCalcGeo[$sDonnee] < $this->oP->rYB / 100) { -
_plugins_/hydraulic/branches/v0.3/hyd_inc/section.php
r60728 r60951 40 40 'def_section_rect', 41 41 array( 42 'rLarg ' =>array('largeur_fond',2.5),42 'rLargeurBerge' =>array('largeur_fond',2.5), 43 43 ) 44 44 ), … … 54 54 'def_section_parab', 55 55 array( 56 'r Coef' =>array('coef',0.5),57 'rLarg Berge' =>array('largeur_berge', 4)56 'rk' =>array('coef',0.5), 57 'rLargeurBerge' =>array('largeur_berge', 4) 58 58 ) 59 59 ) -
_plugins_/hydraulic/branches/v0.3/hyd_inc/sectionPuiss.class.php
r60927 r60951 30 30 */ 31 31 class cSnPuiss extends acSection { 32 p rotected$rk; /// Coefficient de forme compris entre 0 et 132 public $rk; /// Coefficient de forme compris entre 0 et 1 33 33 //$LargeurBerge => La largeur des berges est déjà présente dans acSection 34 34 protected $nbDessinPoints=50; -
_plugins_/hydraulic/branches/v0.3/hyd_inc/sectionRectang.class.php
r60416 r60951 30 30 */ 31 31 class cSnRectang extends acSection { 32 32 33 33 function __construct(&$oLog,&$oP,$rLargeurFond) { 34 34 $this->rLargeurBerge = $rLargeurFond; -
_plugins_/hydraulic/branches/v0.3/lang/hydraulic_fr.php
r60728 r60951 29 29 'cote_eau' => "Côte de l'eau (m)", 30 30 'coef' => "Coefficient", 31 'cunge' => "Cunge 1980", 31 32 // D 32 33 'debit_amont' => "Débit amont (m³/s)", … … 69 70 // O 70 71 'ordonnee' => "Ordonnée", 72 'or_cemagref88' => "Déversoir/Orifice Cemagref 88", 73 'or_cemagref02' => "Déversoir/Orifice Cemagref 02", 71 74 // P 72 75 'param_calcul' => "Paramètres de calcul", … … 87 90 'perim_mouille' => "Le périmètre mouillé (m)", 88 91 'perte_charge' => "La perte de charge (m/m)", 89 90 92 //R 91 93 'rayon_hyd' => "Le rayon hydraulique (m)", … … 98 100 'section_parab' => "Section Parabolique", 99 101 'surf_mouille' => "La surface mouillée (m²)", 102 's_cemagref88' => "Vanne de fond/Seuil Cemagref 88", 103 's_denoye' => "Seuil dénoyé", 104 's_noye' => "Seuil noyé", 105 's_cemagref02' => "Vanne de fond/Seuil Cemagref 02", 100 106 //T 101 107 'tirant_eau' => "Tirant d'eau (m)", … … 120 126 'vit_moy' => "La vitesse moyenne (m/s)", 121 127 'var_lin' => "Variation linéaire de l'énergie spécifique (m/m)", 128 'v_denoye' => "Vanne dénoyé", 129 'v_noye' => "Vanne noyé", 122 130 123 131 );
Note: See TracChangeset
for help on using the changeset viewer.