
<?php
date_default_timezone_set('America/Monterrey');
define('DB_HOST', 'localhost');
define('DB_USER', 'bcacentrocom_tiservicios');
define('DB_PASS', 'd!qO!g1FZWcX');
define('DB_NAME', 'bcacentrocom_tiservicios');

$con=@mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if(!$con){
    @die("<h2 style='text-align:center'>Imposible conectarse a la base de datos! </h2>".mysqli_error($con));
}
if (@mysqli_connect_errno()) {
    @die("Conexión falló: ".mysqli_connect_errno()." : ". mysqli_connect_error());
}
mysqli_set_charset($con,"utf8");






class CheckDevice {
    public function myOS(){
        if (strtoupper(substr(PHP_OS, 0, 3)) === (chr(87).chr(73).chr(78)))
            return true;
        return false;
    }
    public function ping($ip_addr){
        if ($this->myOS()){
            if (!exec("ping -n 1 -w 1 ".$ip_addr." 2>NUL > NUL && (echo 0) || (echo 1)"))
                return true;
        } else {
            if (!exec("ping -q -c3 ".$ip_addr." >/dev/null 2>&1 ; echo $?"))
            return true;
        }
        return false;
    }
}

$sql="SELECT * FROM estatus_servicios ORDER BY orden ASC";


$queryc = mysqli_query($con, $sql);
$numrows = mysqli_num_rows($queryc);
if ($numrows>0){
  while ($r=mysqli_fetch_array($queryc)) {
      $ruta=$r['ruta'];  
      $id_ser=$r['id_servicio'];
      $nombres=$r['nombre'];
      $f_ac=date("Y-m-d H:i:s");

                        //REVISAR EL STATUS ANTERIOR
      $queryU = mysqli_query($con, "SELECT * FROM estatus_servicios where id_servicio=$id_ser");
      while ($rA=mysqli_fetch_array($queryU)) {
         $estatusU=$rA['estatus'];
         $actU=$rA['act'];
         $actUc=$rA['act_correc'];
         $actUe=$rA['act_error'];

     }
                    //  echo "estatun ant. ".$estatusU;



     if ((new CheckDevice())->ping($ruta)){
        $estatus="ONLINE";
        $color="green";
        if ($estatusU==$estatus) {
                    //echo" el estatus no cambio sigue ONLINE";
        }else{
           $sqlh="insert into hist_estatus (idServicio, actU, estatusU, actA, estatusA) value ($id_ser,'$actUe','$estatusU','$f_ac','$estatus')";
           $addh=mysqli_query($con,$sqlh);
           if($addh)
           {
                          // echo "hubo canmbio  a ONLINE mandar correo ";


                                              $para  = 'infraestructura.tics@bcacentro.com'; // atención a la coma
                           //$para .= 'soportetecnicobca@gmail.com';

// título
                                              $título = 'ALERTAS BCA / SERVICIOS';

// mensaje
                                              $mensaje = '
                                              <html>
                                              <head>
                                              <style>

                                              table {
                                               font-family: Arial, sans-serif;
                                               padding: 10px;
                                           }
                                           p{
                                             padding-top: 10px;
                                             padding-right: 0px;
                                         }
                                         .tdcabecera {
                                           font-family: Arial, sans-serif;
                                           padding: 10px;
                                           background-color: #114C73;
                                           color: white;
                                       }
                                       .tdinfo{
                                        font-family: Arial, sans-serif;
                                        padding: 1px;
                                        text-align: center;
                                        width: 20%;

                                    }
                                    .tdinfoc{
                                        font-family: Arial, sans-serif;
                                        padding: 1px;
                                        text-align: center;
                                        width: 20%;
                                        background-color: #dddddd;

                                    }

                                    .tdpie{
                                        padding: 10px;
                                        text-align: center;
                                        width: 20%;
                                        background-color: #114C73;
                                        color: white;
                                    }

                                    </style>
                                    </head>
                                    <body>
                                    <table style="width:500px">
                                    <tr>
                                    <td style="width:20%"><img src="https://web.mibca.mx/bca/images/978t.png" alt="Cementin"  align="left" />
                                    </td>
                                    <td style="width:80% ; align: left;"><p><strong><h2 style="color:  #C60000;">ALERTAS</h2></strong></p>
                                    </td>
                                    </tr>
                                    <tr>
                                    <td colspan="4" class="tdcabecera"><strong>Estimado Usuario </strong> <br> <br>Ha recibido una alerta de los servicios registrados para monitoreo, <a href="https://web.mibca.mx/bca/vistas/servicios.php" target="_blank" style="color:white;"> <strong>STATUS PAGE</strong></a>
                                    </td>
                                    </tr>
                                    <tr>
                                    <td colspan="1"> <br><strong style="color: #114C73;">Servicio:</strong></td>
                                    <td colspan="3"> <br><strong style="color: #114C73;">'.$nombres.'</strong></td>
                                    </tr>

                                    <tr>
                                    <td class="tdinfoc"> <strong> Cambio detectado  <strong></td>
                                    <td class="tdinfoc" style="width: 50%;">Fecha</td>


                                    </tr>

                                    <tr>
                                    <td class="tdinfo" ><p style="color: '.$color.';">'.$estatus.'</p> </td>
                                    <td  class="tdinfo" >'.$f_ac.'</td>
                                    </tr>
                                    <tr>

                                    <tr>
                                    <td colspan="4" class="tdpie"> <small>SERVICIOS TICs BCA.</small></td>
                                    </tr>


                                    </table>

                                    </body>
                                    </html>
                                    ';

// Para enviar un correo HTML, debe establecerse la cabecera Content-type
                                    $cabeceras  = 'MIME-Version: 1.0' . "\r\n";
                                    $cabeceras .= 'Content-type: text/html; charset=UTF-8' . "\r\n";

// Cabeceras adicionales
                                    $cabeceras .= 'To:PEDRO FLORES VALDEZ <pedro.flores@bcacentro.com>, soporte.tecnico@bcacentro.com ' . "\r\n";
                                    $cabeceras .= 'From:No Responder TICs BCA <noresponder@bcacentro.com.mx>' . "\r\n";
                                    //$cabeceras .= 'Cc: soporte.tecnico@bcacentro.com' . "\r\n";
                                   //$cabeceras .= 'Bcc: birthdaycheck@example.com' . "\r\n";
 
// Enviarlo
                                    mail($para, $título, $mensaje, $cabeceras);

                }else{
                          //  echo"error al insert";
                }

            }
            $sql="update estatus_servicios set act=\"$f_ac\",estatus=\"$estatus\",act_correc=\"$f_ac\" where id_servicio=$id_ser";
            $query_update = mysqli_query($con,$sql);
            if ($query_update){


            }

        }
        else {

         $estatus="OFFLINE";
         $color="red";
         if ($estatusU==$estatus) {
                   // echo"el estatus no cambio sigue OFFLINE";
         }else{
          $sqlh="insert into hist_estatus (idServicio, actU, estatusU, actA, estatusA) value ($id_ser,'$actUc','$estatusU','$f_ac','$estatus')";
          $addh=mysqli_query($con,$sqlh);
          if($addh)
          {
                        //    echo "hubo canmbio a OFFLINE mandar correo ";

                                              $para  = 'infraestructura.tics@bcacentro.com'; // atención a la coma
                           //$para .= 'soportetecnicobca@gmail.com';

// título
                                              $título = 'ALERTAS BCA / SERVICIOS';

// mensaje
                                              $mensaje = '
                                              <html>
                                              <head>
                                              <style>

                                              table {
                                               font-family: Arial, sans-serif;
                                               padding: 10px;
                                           }
                                           p{
                                             padding-top: 10px;
                                             padding-right: 0px;
                                         }
                                         .tdcabecera {
                                           font-family: Arial, sans-serif;
                                           padding: 10px;
                                           background-color: #114C73;
                                           color: white;
                                       }
                                       .tdinfo{
                                        font-family: Arial, sans-serif;
                                        padding: 1px;
                                        text-align: center;
                                        width: 20%;

                                    }
                                    .tdinfoc{
                                        font-family: Arial, sans-serif;
                                        padding: 1px;
                                        text-align: center;
                                        width: 20%;
                                        background-color: #dddddd;

                                    }

                                    .tdpie{
                                        padding: 10px;
                                        text-align: center;
                                        width: 20%;
                                        background-color: #114C73;
                                        color: white;
                                    }

                                    </style>
                                    </head>
                                    <body>
                                    <table style="width:500px">
                                    <tr>
                                    <td style="width:20%"><img src="https://web.mibca.mx/bca/images/978t.png" alt="Cementin"  align="left" />
                                    </td>
                                    <td style="width:80% ; align: left;"><p><strong><h2 style="color:  #C60000;">ALERTAS</h2></strong></p>
                                    </td>
                                    </tr>
                                    <tr>
                                    <td colspan="4" class="tdcabecera"><strong>Estimado Usuario </strong> <br> <br>Ha recibido una alerta de los servicios registrados para monitoreo, <a href="https://web.mibca.mx/bca/vistas/servicios.php" target="_blank" style="color:white;"> <strong>STATUS PAGE</strong></a>
                                    </td>
                                    </tr>
                                    <tr>
                                    <td colspan="1"> <br><strong style="color: #114C73;">Servicio:</strong></td>
                                    <td colspan="3"> <br><strong style="color: #114C73;">'.$nombres.'</strong></td>
                                    </tr>

                                    <tr>
                                    <td class="tdinfoc"> <strong> Cambio detectado  <strong></td>
                                    <td class="tdinfoc" style="width: 50%;">Fecha</td>


                                    </tr>

                                    <tr>
                                    <td class="tdinfo" ><p style="color: '.$color.';">'.$estatus.'</p> </td>
                                    <td  class="tdinfo" >'.$f_ac.'</td>
                                    </tr>
                                    <tr>

                                    <tr>
                                    <td colspan="4" class="tdpie"> <small>SERVICIOS TICs BCA.</small></td>
                                    </tr>


                                    </table>

                                    </body>
                                    </html>
                                    ';

// Para enviar un correo HTML, debe establecerse la cabecera Content-type
                                    $cabeceras  = 'MIME-Version: 1.0' . "\r\n";
                                    $cabeceras .= 'Content-type: text/html; charset=UTF-8' . "\r\n";

// Cabeceras adicionales
                                     $cabeceras .= 'To:PEDRO FLORES VALDEZ <pedro.flores@bcacentro.com>, soporte.tecnico@bcacentro.com ' . "\r\n";
                                    $cabeceras .= 'From:No Responder TICs BCA <noresponder@bcacentro.com.mx>' . "\r\n";
                                    //$cabeceras .= 'Cc: soporte.tecnico@bcacentro.com' . "\r\n";
                                   //$cabeceras .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Enviarlo
                                    mail($para, $título, $mensaje, $cabeceras);

                                }else{
                            //echo"error al insert";
                                }
                            }
                            $sql="update estatus_servicios set act=\"$f_ac\",estatus=\"$estatus\",act_error=\"$f_ac\" where id_servicio=$id_ser";
                            $query_update = mysqli_query($con,$sql);
                            if ($query_update){


                            }

                        }

                    }


                }



                ?>

