Ignore:
Timestamp:
Mar 28, 2017, 2:25:55 PM (3 years ago)
Author:
dorch@…
Message:

Correction bug formulaire courbe_remous : plantage si aucune courbe n'est calculable
Amélioration : Si une courbe n'est pas calculable, le journal de calcul fait apparaître l'information en rouge
Corrrection grammaire française

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/hydraulic/trunk/hyd_inc/form_courbe_remous.class.php

    r103636 r103640  
    8888                }
    8989                else {
    90                         $this->oLog->Add(_T('hydraulic:pas_calcul_depuis_aval'));
     90                        $this->oLog->Add(_T('hydraulic:pas_calcul_depuis_aval'), true);
    9191                }
    9292
     
    9898                }
    9999                else {
    100                         $this->oLog->Add(_T('hydraulic:pas_calcul_depuis_amont'));
     100                        $this->oLog->Add(_T('hydraulic:pas_calcul_depuis_amont'), true);
    101101                }
    102102                spip_log($aC,'hydraulic',_LOG_DEBUG);
     
    239239                $trX = $this->result['trX'];
    240240
    241                 /***************************************************************************
    242                 *                        Affichage du graphique
    243                 ****************************************************************************/
    244                 include_spip('hyd_inc/graph.class');
    245                 $oGraph = new cGraph();
    246                 // Cote des berges
    247                 $oGraph->AddSerie(
    248                         'berge',
    249                         $trX,
    250                         $this->oP->rYB,  // La cote des berges sera calculée à partir de la pente fournie dans GetGraph
    251                         '#C58f50',
    252                         'lineWidth:1'
    253                 );
    254                 // Cote du fond
    255                 $oGraph->AddSerie(
    256                         'fond',
    257                         $trX,
    258                         0,  // La cote du fond sera calculée à partir de la pente fournie dans GetGraph
    259                         '#753f00',
    260                         'lineWidth:1, fill:true'
    261                 );
    262                 // Ligne d'eau fluviale
    263                 if(isset($this->result['Flu'])) {
     241                $echo = '';
     242
     243                if(!empty($trX)) {
     244                        /***************************************************************************
     245                        *                        Affichage du graphique
     246                        ****************************************************************************/
     247                        include_spip('hyd_inc/graph.class');
     248                        $oGraph = new cGraph();
     249                        // Cote des berges
    264250                        $oGraph->AddSerie(
    265                                 'ligne_eau_fluviale',
    266                                 array_keys($this->result['Flu']),
    267                                 array_values($this->result['Flu']),
    268                                 '#0093bd',
    269                                 'lineWidth:3, showMarker:true, markerOptions:{style:\'filledCircle\', size:8}'
     251                                'berge',
     252                                $trX,
     253                                $this->oP->rYB,  // La cote des berges sera calculée à partir de la pente fournie dans GetGraph
     254                                '#C58f50',
     255                                'lineWidth:1'
    270256                        );
    271                 }
    272                 // Ligne d'eau torrentielle
    273                 if(isset($this->result['Tor'])) {
     257                        // Cote du fond
    274258                        $oGraph->AddSerie(
    275                                 'ligne_eau_torrentielle',
    276                                 array_keys($this->result['Tor']),
    277                                 array_values($this->result['Tor']),
    278                                 '#77a3cd',
    279                                 'lineWidth:3, showMarker:true, markerOptions:{style:\'filledCircle\', size:8}'
     259                                'fond',
     260                                $trX,
     261                                0,  // La cote du fond sera calculée à partir de la pente fournie dans GetGraph
     262                                '#753f00',
     263                                'lineWidth:1, fill:true'
    280264                        );
    281                 }
    282                 // Hauteur critique
    283                 if(is_numeric($this->oSn->rHautCritique)) {
    284                         $oGraph->AddSerie(
    285                                 'h_critique',
    286                                 $trX,
    287                                 $this->oSn->rHautCritique,  // La cote du fond sera calculée à partir de la pente fournie dans GetGraph
    288                                 '#ff0000',
    289                                 'lineWidth:2'
    290                         );
    291                 }
    292                 // Hauteur normale
    293                 if(is_numeric($this->oSn->rHautNormale)) {
    294                         $oGraph->AddSerie(
    295                                 'h_normale',
    296                                 $trX,
    297                                 $this->oSn->rHautNormale,  // La cote du fond sera calculée à partir de la pente fournie dans GetGraph
    298                                 '#a4c537',
    299                                 'lineWidth:2'
    300                         );
    301                 }
    302 
    303                 // Valeur calculée
    304                 if($choix_graph == 'courbe') {
    305                         $oGraph->AddSerie(
    306                                 $sCodeLangValCal,
    307                                 array_keys($this->result['tRes']),
    308                                 array_values($this->result['tRes']),
    309                                 '#C17AF0',
    310                                 'lineWidth:3, showMarker:true, markerOptions:{style:\'filledCircle\', size:8}'
    311                         );
    312                 }
    313 
    314                 // Décalage des données par rapport au fond
    315                 $oGraph->Decal(max(0,-$this->data['rIf']*$this->data['rLong']), $this->data['rIf'], $this->data['rLong']);
    316 
    317                 // Récupération du graphique
    318                 $echo = $oGraph->GetGraph('courbe_remous',400,600);
    319 
    320                 // Affichage du graphique
    321                 if($choix_graph == 'graph') {
    322                         $echo .= $this->getGraph(
    323                                 _T('hydraulic:abscisse'),
    324                                 $sLibValCal,
    325                                 array_keys($this->result['tRes']),
    326                                 array_values($this->result['tRes'])
    327                         );
     265                        // Ligne d'eau fluviale
     266                        if(isset($this->result['Flu'])) {
     267                                $oGraph->AddSerie(
     268                                        'ligne_eau_fluviale',
     269                                        array_keys($this->result['Flu']),
     270                                        array_values($this->result['Flu']),
     271                                        '#0093bd',
     272                                        'lineWidth:3, showMarker:true, markerOptions:{style:\'filledCircle\', size:8}'
     273                                );
     274                        }
     275                        // Ligne d'eau torrentielle
     276                        if(isset($this->result['Tor'])) {
     277                                $oGraph->AddSerie(
     278                                        'ligne_eau_torrentielle',
     279                                        array_keys($this->result['Tor']),
     280                                        array_values($this->result['Tor']),
     281                                        '#77a3cd',
     282                                        'lineWidth:3, showMarker:true, markerOptions:{style:\'filledCircle\', size:8}'
     283                                );
     284                        }
     285                        // Hauteur critique
     286                        if(is_numeric($this->oSn->rHautCritique)) {
     287                                $oGraph->AddSerie(
     288                                        'h_critique',
     289                                        $trX,
     290                                        $this->oSn->rHautCritique,  // La cote du fond sera calculée à partir de la pente fournie dans GetGraph
     291                                        '#ff0000',
     292                                        'lineWidth:2'
     293                                );
     294                        }
     295                        // Hauteur normale
     296                        if(is_numeric($this->oSn->rHautNormale)) {
     297                                $oGraph->AddSerie(
     298                                        'h_normale',
     299                                        $trX,
     300                                        $this->oSn->rHautNormale,  // La cote du fond sera calculée à partir de la pente fournie dans GetGraph
     301                                        '#a4c537',
     302                                        'lineWidth:2'
     303                                );
     304                        }
     305
     306                        // Valeur calculée
     307                        if($choix_graph == 'courbe') {
     308                                $oGraph->AddSerie(
     309                                        $sCodeLangValCal,
     310                                        array_keys($this->result['tRes']),
     311                                        array_values($this->result['tRes']),
     312                                        '#C17AF0',
     313                                        'lineWidth:3, showMarker:true, markerOptions:{style:\'filledCircle\', size:8}'
     314                                );
     315                        }
     316
     317                        // Décalage des données par rapport au fond
     318                        $oGraph->Decal(max(0,-$this->data['rIf']*$this->data['rLong']), $this->data['rIf'], $this->data['rLong']);
     319
     320                        // Récupération du graphique
     321                        $echo .= $oGraph->GetGraph('courbe_remous',400,600);
     322
     323                        // Affichage du graphique
     324                        if($choix_graph == 'graph') {
     325                                $echo .= $this->getGraph(
     326                                        _T('hydraulic:abscisse'),
     327                                        $sLibValCal,
     328                                        array_keys($this->result['tRes']),
     329                                        array_values($this->result['tRes'])
     330                                );
     331                        }
    328332                }
    329333
     
    331335                $echo .= $this->oLog->Result();
    332336
    333                 /***************************************************************************
    334                 *                   Affichage du tableau de données
    335                 ****************************************************************************/
    336                 $echo.='<table class="spip">
    337                         <thead>
    338                                 <tr class="row_first">
    339                                         <th scope="col" colspan="1" rowspan="2">'._T('hydraulic:abscisse').' (m)</th>
    340                                         <th scope="col" colspan="2" rowspan="1">'._T('hydraulic:ligne_eau_fluviale').'</th>
    341                                         <th scope="col" colspan="2" rowspan="1">'._T('hydraulic:ligne_eau_torrentielle').'</th>
    342                                 </tr>
    343                                 <tr class="row_first">
    344                                         <th scope="col">'._T('hydraulic:tirant_eau').'</th>
    345                                         <th scope="col">'.$sLibValCal.'</th>
    346                                         <th scope="col">'._T('hydraulic:tirant_eau').'</th>
    347                                         <th scope="col">'.$sLibValCal.'</th>
    348                                 </tr>
    349                         </thead>
    350                         <tbody>';
    351                                 $i=0;
    352                                 foreach($trX as $rX) {
    353                                         $i+=1;
    354                                         $echo.='<tr class="align_right ';
    355                                                 $echo.=($i%2==0)?'row_even':'row_odd';
    356                                                 $echo.='"><td>'.format_nombre($rX,$this->oP->iPrec).'</td>';
    357                                                 if(isset($this->result['tRes'][$rX])) {
    358                                                         $sValCal = format_nombre($this->result['tRes'][$rX],$this->oP->iPrec);
    359                                                 } else {
    360                                                         $sValCal = '-';
    361                                                 }
    362                                                 if(isset($this->result['Flu'][$rX])) {
    363                                                         // On formalise les résultats, avec le nombre de chiffres aprés la virgule adéquat
    364                                                         $echo .= '<td>'.format_nombre($this->result['Flu'][$rX],$this->oP->iPrec).'</td>';
    365                                                         $echo .= "<td>$sValCal</td>";
    366                                                 }
    367                                                 else {
    368                                                         $echo .= '<td></td><td></td>';
    369                                                 }
    370                                                 if(isset($this->result['Tor'][$rX])) {
    371                                                         $echo .= '<td>'.format_nombre($this->result['Tor'][$rX],$this->oP->iPrec).'</td>';
    372                                                         $echo .= "<td>$sValCal</td>";
    373                                                 }
    374                                                 else {
    375                                                         $echo .= '<td></td><td></td>';
    376                                                 }
    377                                         $echo .= '</tr>';
    378                                 }
    379                         $echo.='</tbody>
    380                 </table>';
    381 
     337                if(!empty($trX)) {
     338                        /***************************************************************************
     339                        *                   Affichage du tableau de données
     340                        ****************************************************************************/
     341                        $echo.='<table class="spip">
     342                                <thead>
     343                                        <tr class="row_first">
     344                                                <th scope="col" colspan="1" rowspan="2">'._T('hydraulic:abscisse').' (m)</th>
     345                                                <th scope="col" colspan="2" rowspan="1">'._T('hydraulic:ligne_eau_fluviale').'</th>
     346                                                <th scope="col" colspan="2" rowspan="1">'._T('hydraulic:ligne_eau_torrentielle').'</th>
     347                                        </tr>
     348                                        <tr class="row_first">
     349                                                <th scope="col">'._T('hydraulic:tirant_eau').'</th>
     350                                                <th scope="col">'.$sLibValCal.'</th>
     351                                                <th scope="col">'._T('hydraulic:tirant_eau').'</th>
     352                                                <th scope="col">'.$sLibValCal.'</th>
     353                                        </tr>
     354                                </thead>
     355                                <tbody>';
     356                                        $i=0;
     357                                        foreach($trX as $rX) {
     358                                                $i+=1;
     359                                                $echo.='<tr class="align_right ';
     360                                                        $echo.=($i%2==0)?'row_even':'row_odd';
     361                                                        $echo.='"><td>'.format_nombre($rX,$this->oP->iPrec).'</td>';
     362                                                        if(isset($this->result['tRes'][$rX])) {
     363                                                                $sValCal = format_nombre($this->result['tRes'][$rX],$this->oP->iPrec);
     364                                                        } else {
     365                                                                $sValCal = '-';
     366                                                        }
     367                                                        if(isset($this->result['Flu'][$rX])) {
     368                                                                // On formalise les résultats, avec le nombre de chiffres aprés la virgule adéquat
     369                                                                $echo .= '<td>'.format_nombre($this->result['Flu'][$rX],$this->oP->iPrec).'</td>';
     370                                                                $echo .= "<td>$sValCal</td>";
     371                                                        }
     372                                                        else {
     373                                                                $echo .= '<td></td><td></td>';
     374                                                        }
     375                                                        if(isset($this->result['Tor'][$rX])) {
     376                                                                $echo .= '<td>'.format_nombre($this->result['Tor'][$rX],$this->oP->iPrec).'</td>';
     377                                                                $echo .= "<td>$sValCal</td>";
     378                                                        }
     379                                                        else {
     380                                                                $echo .= '<td></td><td></td>';
     381                                                        }
     382                                                $echo .= '</tr>';
     383                                        }
     384                                $echo.='</tbody>
     385                        </table>';
     386                }
    382387                return $echo;
    383388        }
Note: See TracChangeset for help on using the changeset viewer.