Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /* procesar la plantilla con los datos mas recientes para cada area
- Desarrollado por Ing. Wilderman Ceren para app de PRONARC/COMET (20141021)
- */
- ini_set('display_errors', 1);
- error_reporting(E_ALL);
- #$ruta = '/home/wilderman/api';
- #set_include_path(get_include_path() . PATH_SEPARATOR . $ruta);
- include '/home/wilderman/api/DB.php';
- $colors = array ( 'fav'=>'tg-ukxy',
- 'modfav'=>'tg-c4s6',
- 'desfav'=>'tg-yg2k');
- $oper_aer01 = array('A','B','C','D','E');
- // A = Ametrallamiento, B=Bombardeo, C=Cohetes, D=Transporte, E=Recon.armas
- function getcolorT($oper_, $visib_, $cobert_, $precip_, $niv_rios_, $colors_, $oper_aer01_)
- {
- $color_='';
- if ( $oper_ == 'R' ) { // Fluvial
- if ( $niv_rios_ > 20 || ($niv_rios_ <= 20 && $niv_rios_ >= 10) ) $color_ = $colors_['fav']; // Verde (Favorable)
- elseif ($niv_rios_ < 10) $color_ = $colors_['modfav']; // Amarillo (Moderadamente Favorable)
- elseif ($niv_rios_ > 30) $color_ = $colors_['modfav']; // Amarillo
- elseif (($niv_rios_ <= 30 && $niv_rios_ >= 10) || $niv_rios_ < 10) $color_ = $colors_['desfav'];
- else $color_ = $colors_['desfav'];
- } elseif (in_array($oper_, $oper_aer01_)) {
- if ( ($visib_ > 5 || ($visib_ >= 2 && $visib_ <= 5)) && ($cobert_ >= 0 && $cobert_ <= 40) && ($precip_ < 1 || ($precip_ >=1 && $precip_<=5)) ) $color_ = $colors_['fav'];
- elseif ( ($visib_ < 2 || $visib_ > 5) && ($cobert_ >= 0 && $cobert_ <= 40) || ($cobert_ > 40 && $cobert_ <= 100) && ($precip_>5 || $precip_<1) ) $color_ = $colors_['modfav'];
- elseif ( (($visib_ >= 2 && $visib_ <= 5) || $visib_ < 2) && ($cobert_ >= 40 && $cobert_ <= 100) && (($precip_ >= 1 && $precip_ <= 5) || $precip_ > 5) ) $color_ = $colors_['desfav'];
- else $color_ = $colors_['desfav'];
- } elseif ($oper_ == 'F') //Flir
- {
- if ( ($visib_ > 5 || ($visib_>=2 && $visib_<=5) || $visib_<2) && ($cobert_ >= 0 && $cobert_ <= 40) && ($precip_ < 1 || ($precip_>=1 && $precip_<=5) || $precip_>5) ) $color_ = $colors_['fav'];
- elseif ( ($visib_ > 5 || ($visib_>=2 && $visib_<=5)) && ($cobert_ >= 40 && $cobert_ <= 100) && ($precip_>=1 && $precip_<=5) ) $color_ = $colors_['modfav'];
- elseif ( $visib_<2 && ($cobert_>=40 && $cobert_<=100) && $precip_ > 5) $color_ = $colors_['desfav'];
- else $color_ = $colors_['desfav'];
- }
- elseif ($oper_ == 'I') //Aerofotografia
- {
- if ( ($visib_>5 || ($visib_>=2 && $visib_<=5)) && ($cobert_>=0 && $cobert_<=40) && ($precip_<1 || ($precip_>=1 && $precip_<=5)) ) $color_=$colors_['fav'];
- elseif ( $visib_<2 && ($cobert_>=0 && $cobert_<=40) && $precip_>5 ) $color_=$colors_['modfav'];
- elseif ( ( $visib_>2 || ($visib_>=2 && $visib_<=5) || $visib<2) && ($cobert_>=40 && $cobert_<=100) && ($precip_<1 || ($precip_>=1 && $precip_<=5) || $precip_>5) ) $color_=$colors_['desfav'];
- else $color_=$colors_['desfav'];
- }
- //else ($oper_ == 'K') //Radiofotografia
- else //Radiofotografia
- {
- if ( ($visib_>5 || ($visib_>=2 && $visib_<=5) || $visib_<2 || $visib_>5) && (($cobert_>=0 && $cobert_<=40) || ($cobert_>40 && $cobert_<=100)) && ($precip_<1 || ($precip_>=1 && $precip_<=5) || $precip_>5) ) $color_ = $colors_['fav'];
- elseif ( ($visib_>=2 && $visib_<=5) && ($cobert_>=40 && $cobert_<=100) && ($precip_>=1 && $precip_<=5) ) $color_ = $colors_['modfav'];
- elseif ( $visib_<2 && ($cobert_>=40 && $cobert_<=100) && $precip_>5 ) $color_ = $colors_['desfav'];
- }
- return $color_ ;
- }
- function getcolorM($nav_cost_af, $nav_cost, $colors_)
- {
- $navigs = array();
- if ($nav_cost_af < 4) $color_ = $colors_['fav'];
- elseif ($nav_cost_af >= 4 && $nav_cost <= 6) $color_ = $colors_['modfav'];
- else $color_ = $colors_['desfav'];
- $navigs[0] = $color_;
- if ($nav_cost < 4) $color_ = $colors_['fav'];
- elseif ($nav_cost >= 4 && $nav_cost <= 6) $color_ = $colors_['modfav'];
- else $color_ = $colors_['desfav'];
- $navigs[1] = $color_;
- return $navigs;
- }
- $mysqli = new mysqli($hostname, $username, $password, $databasename);
- if ($mysqli->connect_errno) {
- //echo "Failed to connect to MySQL: " . $mysqli->connect_error;
- header('HTTP/1.1 404 '.$mysqli->connect_error);
- exit();
- }
- $area = (int)htmlspecialchars(trim($_GET['_area'])); //Obtiene la info de cada unidad
- $str_ = "SELECT a.fecha,b.abrev,b.tipo,a.temp_d,a.temp_n,a.hum_d,a.hum_n,a.posll_d,a.posll_n,a.sol_ort,a.lun_ort,a.sol_oca,a.lun_oca,a.sol_mxalt,a.lun_mxalt,a.dirv_d,a.dirv_n,a.velv_d,a.velv_n FROM indicrs a INNER JOIN unidad b ON a.unidad = b.ind WHERE b.ind=? ORDER BY a.fecha DESC LIMIT 1"; //Selecciona el area con la ultima informacion registrada para ultima fecha.
- $stmt = $mysqli->prepare($str_);
- $stmt->bind_param("i", $area);
- $stmt->execute();
- $stmt->bind_result($fecha,$abrev,$tipo,$temp_d,$temp_n,$hum_d,$hum_n,$posll_d,$posll_n,$sol_ort,$lun_ort,$sol_oca,$lun_oca,$sol_mxalt,$lun_mxalt,$dirv_d,$dirv_n,$velv_d,$velv_n); //Captura datos proveniente de Indicadores
- $stmt->fetch();
- $stmt->close();
- if (isset($abrev))
- {
- $kolor = array();
- if ($tipo = "T") // área tipo terrestre
- {
- $str_ = "SELECT `oper`,`visib`,`cobert`,`precip`,`niv_rios` FROM ind_aereas WHERE `fecha` = ? AND `unidad` = ?";
- $stmt1 = $mysqli->prepare($str_);
- $stmt1->bind_param("si",$fecha,$area);
- $stmt1->execute();
- $stmt1->bind_result($oper,$visib,$cobert,$precip,$niv_rios); //Captura datos proveniente de indicaciones aereas
- while ($stmt1->fetch())
- {
- $color = getcolorT($oper,$visib,$cobert,$precip,$niv_rios,$colors,$oper_aer01);
- $kolor[$oper] = $color;
- }
- } else {
- $str_ = "SELECT `nv_cost_af`,`nv_cost` FROM ind_marit WHERE `fecha` = ? AND `unidad` = ?";
- $stmt1 = $mysqli->prepare($str_);
- $stmt1->execute();
- $stmt1->bind_param("si",$fecha,$area);
- $stmt1->bind_result($nv_cost_af,$niv_cost); //Captura datos proveniente de indicaciones maritimas
- while ($stmt1->fetch())
- {
- $color = getcolorM($nv_cost_af, $nv_cost, $colors);
- }
- }
- $stmt1->close();
- //var_dump($kolor);
- //print_r($kolor);
- //echo $fecha;
- ob_start();
- if ($tipo == 'T') include 'plantilla02.html';
- else include 'plantilla03.html';
- $string = ob_get_clean();
- $patterns = array();
- $patterns[0] = '/29/' ; //temperatura dia :: $temp_d
- $patterns[1] = '/25/' ; //temperatura noche :: $temp_n
- $patterns[2] = '/60/' ; //humedad rel. dia :: $hum_d
- $patterns[3] = '/85/' ; //humedad rel. noc :: $hum_n
- $patterns[4] = '/10%/' ; //posib lluvia dia :: $posll_d
- $patterns[5] = '/70%/' ; //posib lluvia noche :: $posll_n
- $patterns[6] = '/05\:52/' ; //orto sol :: $sol_ort
- $patterns[7] = '/14\:11/' ; //orto luna :: $lun_ort
- $patterns[8] = '/18\:21/' ; //ocaso sol :: $sol_oca
- $patterns[9] = '/14\:12/' ; //ocaso luna :: $lun_oca
- $patterns[10] = '/12\:06/' ; //max-alt-sol :: $sol_mxalt
- $patterns[11] = '/20\:12/' ; //max-alt-luna :: $lun_mxalt
- $patterns[12] = '/30/' ; //viento::dir::dia :: $dirv_d
- $patterns[13] = '/36/' ; //viento::dir::noche :: $dirv_n
- $patterns[14] = '/6 nudos/' ; //viento::vel::dia :: $velv_d
- $patterns[15] = '/8 nudos/' ; //viento::vel::noche :: $velv_n
- if ($tipo== 'T') {
- if (array_key_exists('A',$kolor)) $patterns[16] = '/<td class="tg-xha5"><\/td>/'; //operaerea::ametrallamiento
- if (array_key_exists('B',$kolor)) $patterns[17] = '/<td class="tg-23bk"><\/td>/'; //operaerea::bombardeo
- if (array_key_exists('C',$kolor)) $patterns[18] = '/<td class="tg-xha4"><\/td>/'; //operaerea::cohetes
- if (array_key_exists('D',$kolor)) $patterns[19] = '/<td class="tg-tcvo"><\/td>/' ; //operaerea::transporte
- if (array_key_exists('E',$kolor)) $patterns[20] = '/<td class="tg-5fb6"><\/td>/'; //operaerea::recon_armas
- if (array_key_exists('F',$kolor)) $patterns[21] = '/<td class="tg-38pe"><\/td>/'; //operaerea::flir
- if (array_key_exists('I',$kolor)) $patterns[22] = '/<td class="tg-23bm"><\/td>/'; //operaerea::aerofotografia
- if (array_key_exists('K',$kolor)) $patterns[23] = '/<td class="tg-23bl"><\/td>/'; //operaerea::radiofotografia
- if (array_key_exists('R',$kolor)) $patterns[24] = '/<td class="tg-38pd"><\/td>/'; //operaerea::fluviales
- $patterns[25] = '/PRONOSTICO OPERACIONAL (\w+ \d)/' ; //titulo
- $patterns[26] = '/"/';
- $patterns[27] = '/\n/';
- } else {
- if (isset($color[1])) $patterns[16] = '/<td class="tg-tcvo" rowspan="3"><\/td>/'; //Navegacion costera
- if (isset($color[0])) $patterns[17] = '/<td class="tg-23bk" rowspan="3"><\/td>/'; //Navegacion costa afuera
- $patterns[18] = '/PRONOSTICO AREA MARITIMA (\w+)/' ; //titulo
- $patterns[19] = '/\"/';
- $patterns[20] = '/\n/';
- }
- //$patterns[] = '/\"/';
- //$patterns[] = '/\n/';
- $replacement = array();
- $replacement[0] = $temp_d;
- $replacement[1] = $temp_n;
- $replacement[2] = $hum_d;
- $replacement[3] = $hum_n;
- $replacement[4] = $posll_d.'%';
- $replacement[5] = $posll_n.'%';
- $replacement[6] = substr($sol_ort,0,-3);
- $replacement[7] = substr($lun_ort,0,-3);
- $replacement[8] = substr($sol_oca,0,-3);
- $replacement[9] = substr($lun_oca,0,-3);
- $replacement[10] = substr($sol_mxalt,0,-3);
- $replacement[11] = substr($lun_mxalt,0,-3);;
- $replacement[12] = $dirv_d;
- $replacement[13] = $dirv_n;
- $replacement[14] = $velv_d.' nudos';
- $replacement[15] = $velv_n.' nudos';
- if ($tipo== 'T') {
- if (array_key_exists('A',$kolor)) $replacement[16] = '<td class="'.$kolor["A"].'"></td>'; //operaerea::ametrallamiento
- if (array_key_exists('B',$kolor)) $replacement[17] = '<td class="'.$kolor["B"].'"></td>'; //operaerea::bombardeo
- if (array_key_exists('C',$kolor)) $replacement[18] = '<td class="'.$kolor["C"].'"></td>'; //operaerea::cohetes
- if (array_key_exists('D',$kolor)) $replacement[19] = '<td class="'.$kolor["D"].'"></td>'; //operaerea::transporte
- if (array_key_exists('E',$kolor)) $replacement[20] = '<td class="'.$kolor["E"].'"></td>'; //operaerea::recon-armas
- if (array_key_exists('F',$kolor)) $replacement[21] = '<td class="'.$kolor["F"].'"></td>'; //operaerea::flir
- if (array_key_exists('I',$kolor)) $replacement[22] = '<td class="'.$kolor["I"].'"></td>'; //operaerea::aerofotografia
- if (array_key_exists('K',$kolor)) $replacement[23] = '<td class="'.$kolor["K"].'"></td>'; //operaerea::radiofotografia
- if (array_key_exists('R',$kolor)) $replacement[24] = '<td class="'.$kolor["R"].'"></td>'; //operaerea::radiofotografia
- $replacement[25] = 'PRONOSTICO OPERACIONAL '.substr($abrev,0,-1).' '.substr($abrev,-1);
- $replacement[26] = '"';
- $replacement[27] = '';
- } else {
- $replacement[16] = '<td class="'.$color[1].'" rowspan="3"><\/td>';
- $replacement[17] = '<td class="'.$color[0].'" rowspan="3"><\/td>';
- $replacement[18] = 'PRONOSTICO AREA MARITIMA '.$abrev;
- $replacement[19] = '"';
- $replacement[20] = '';
- }
- echo preg_replace($patterns, $replacement, $string);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment