| Server IP : 159.223.102.202 / Your IP : 216.73.216.193 Web Server : nginx/1.26.0 System : Linux Gen1-cloudpanel2ubuntu2404-1vcpu-1gb-nyc1-01 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64 User : albasshbotta ( 1021) PHP Version : 8.2.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /home/bottaingenieriaUep/htdocs/www.bottaingenieria.com.ar/testbot/HVidD74XP83CP8wXsd/ |
Upload File : |
<?php
require_once "conexion.php";
/// Write a string in the log file adding the current server time
$debugf = false;
/**
* Write a string in the log file TelegramErrorLogger.txt adding the current server time
* \param $error_text the text to append in the log.
*/
function GuardarEnBitacora($error_text, $locutor = "", $from = "", $user = "") {
$debugf = false;
date_default_timezone_set('America/Argentina/Cordoba');
$date = '[' . date('Y-m-d H:i:s') . '] ' . $from . ' ' . $locutor . '/' . $user . ' ';
if ($debugf) {
try {
$dir_name = 'bitacoras';
if (!is_dir($dir_name)) {
mkdir($dir_name);
}
$fileName = $dir_name . '/Bitacora-' . date('Y-m-d') . '.txt';
$myFile = fopen($fileName, 'a+');
fwrite($myFile, $date . $error_text . PHP_EOL);
fclose($myFile);
} catch (Exception $e) {
echo $e->getMessage();
}
}
try {
//INSERT INTO bitacora (`idTipo`,`mensaje`) values (1,'mensaje');
$con = new conexion();
$link = $con->GetLink();
$tempe = $date . $error_text;
if ($link) {
$query = "INSERT INTO `bitacora` (`idTipo`,`mensaje`) VALUES (1, '$tempe')";
$result = mysqli_query($link, $query);
mysqli_close($link);
} else {
echo 'sin link';
}
} catch (Exception $e) {
echo $e->getMessage();
}
}
function NotificarChatAdmin($telegram, $mensajeAdm, $chatiPar = "", $userPar = "") {
try {
//$chatAdmin = '1265350168';
$chatAdmin = '5506115238';
$envio = $mensajeAdm;
$envio .= $chatiPar != "" ? " desde " . $chatiPar : "";
$envio .= $userPar != "" ? " de " . $userPar : "";
$content = ['chat_id' => $chatAdmin, 'text' => $envio, 'disable_notification' => true];
$telegram->sendMessage($content);
} catch (Exception $e) {
echo $e->getMessage();
}
}
function ValidarHoraMovil($chatID, $updateTime) {
try {
$debugf = false;
if ($debugf) {
GuardarEnBitacora("Entra a validar Hora Movil");
}
$con = new conexion();
$link = $con->GetLink();
if ($link) {
if ($debugf) {
GuardarEnBitacora("Entra a link");
}
$strDateobjNuevo = date_format($updateTime, 'Y-m-d H:i:s');
$query0 = "SELECT nroMovil, ultHoraPos FROM `moviles` WHERE `uuidMovil` = '$chatID' AND fechaBaja IS NULL AND autorizado = 1; "; //echo $query;
$result0 = mysqli_query($link, $query0);
if (!$result0) {
GuardarEnBitacora('Error result ' . mysqli_error($link));
} else {
if (mysqli_num_rows($result0) == 0) {
GuardarEnBitacora("No se han encontrado filas, nada a imprimir, asi que voy a detenerme.");
} else {
if ($fila = mysqli_fetch_assoc($result0)) {
$ultHora = $fila["ultHoraPos"];
$format1 = "Y-m-d H:i:s";
$dateobjUlt = date_create_from_format($format1, $ultHora);
if ($debugf) {
GuardarEnBitacora("Compara");
GuardarEnBitacora(date_format($dateobjUlt, 'Y-m-d H:i:s'));
GuardarEnBitacora(date_format($updateTime, 'Y-m-d H:i:s'));
}
mysqli_close($link);
return $updateTime >= $dateobjUlt;
}
}
}
mysqli_close($link);
return false;
} else {
GuardarEnBitacora("Sin link");
}
} catch (Exception $e) {
echo $e->getMessage();
GuardarEnBitacora($e->getMessage());
return false;
}
}
function GuardarPosicionMovil($chatID, $updateTime, $location) {
if (ValidarHoraMovil($chatID, $updateTime)) {
try {
$con = new conexion();
$link = $con->GetLink();
if ($link) {
$strDateobjNuevo = date_format($updateTime, 'Y-m-d H:i:s');
$lat = $location['latitude'] ?? null;
$lon = $location['longitude'] ?? null;
$acu = $location['horizontal_accuracy'] ?? null;
$orientacion = $location['heading'] ?? null;
$opcionalPrecision = isset($location['horizontal_accuracy']) ? ", `ultPrecision` = $acu " : ", `ultPrecision` = -1 ";
$opcionalOrientacion = isset($location['heading']) ? ", `ultDireccion` = $orientacion " : ", `ultDireccion` = -1 ";
$query2 = "UPDATE `moviles` SET `ultLatitud` = $lat, `ultLongitud` = $lon, `ultHoraPos` = '$strDateobjNuevo', `ultUpdate` = ADDTIME(NOW(), '-03:00:00') " .
" $opcionalPrecision $opcionalOrientacion WHERE `uuidMovil` = '$chatID' AND fechaBaja IS NULL AND autorizado = 1; ";
$result2 = mysqli_query($link, $query2);
//$number2 = mysql_affected_rows($link);
// if ($result2 == true && $number2 == 0) {
//
//// $query = "INSERT INTO `moviles` (`uuidMovil`,`nroMovil`, `ultLatitud`,`ultLongitud`,`ultHoraPos`,`ultUpdate`, `ultDireccion`, `ultPrecision` ) VALUES ('$chatID', NULL, '$lat', '$lon','$strDateobjNuevo',ADDTIME(NOW(), '-03:00:00'),-1,-1)";
//// $result = mysqli_query($link,$query);
////
////
//// if (!$result)
//// {
//// GuardarEnBitacora(mysqli_error($link));
////
//// }
// } else
if (!$result2) {
GuardarEnBitacora(mysqli_error($link));
}
mysqli_close($link);
} else {
echo 'sin link';
GuardarEnBitacora(mysqli_error($link));
}
} catch (Exception $e) {
echo $e->getMessage();
GuardarEnBitacora($e->getMessage());
}
}
}
// -1 baja, 0 inexistente, 1 falta nombre, 2 falta patente, 3 falta numero, 4 falta autorizacion, 5 sin coordenadas, 6 ocupado, 7 libre
function getPaso($chatID) {
try {
//GuardarEnBitacora("Entra a validar");
$con = new conexion();
$link = $con->GetLink();
if ($link) {
//GuardarEnBitacora("Entra a link");
$query0 = " SELECT IFNULL(IF(fechabaja IS NOT NULL ,-1,
IF(descripcion IS NULL OR descripcion = '' ,1,
IF(`imeiMovil` IS NULL OR `imeiMovil` = '' ,2,
IF(`nroMovil` IS NULL OR `nroMovil` = '' ,3,
IF(`autorizado` IS NULL OR `autorizado` = 0 ,4,
IF(`ultHoraPos` IS NULL OR `ultHoraPos` < DATE_ADD(ADDTIME(NOW(), '-03:00:00'),INTERVAL -10 MINUTE) ,5,
IF(`idEstado` = 1 ,6,7))))))),0) AS paso
FROM moviles
WHERE `uuidMovil` = '$chatID'; "; //echo $query;
$result0 = mysqli_query($link, $query0);
if (!$result0) {
GuardarEnBitacora('Error result ' . mysqli_error($link));
} else {
if (mysqli_num_rows($result0) === 0) {
return 0;
} else {
if ($fila = mysqli_fetch_assoc($result0)) {
$paso = $fila["paso"];
mysqli_close($link);
return $paso;
}
}
}
mysqli_close($link);
return false;
} else {
GuardarEnBitacora("Sin link");
}
} catch (Exception $e) {
echo $e->getMessage();
GuardarEnBitacora($e->getMessage());
return false;
}
}
function setMovil($chatID, $nombre = "", $patente = "", $numeroMovil = "") {
try {
//GuardarEnBitacora("Entra a validar");
$con = new conexion();
$link = $con->GetLink();
$nombre = $con->cleanQuery($nombre);
$patente = $con->cleanQuery($patente);
$numeroMovil = $con->cleanQuery($numeroMovil);
if ($link) {
//GuardarEnBitacora("Entra a link");
$query0 = " UPDATE `moviles` SET "
. " `imeiMovil` = IF('$patente' <> '', '$patente',imeiMovil), "
. " `nroMovil` = IF('$numeroMovil' <> '', '$numeroMovil',nroMovil),"
. " `descripcion` = IF('$nombre' <> '', '$nombre',descripcion),"
. " `fechaModificacion` = ADDTIME(NOW(), '-03:00:00') WHERE `uuidMovil` = '$chatID'";
//echo $query;
$result0 = mysqli_query($link, $query0);
if (!$result0) {
GuardarEnBitacora('Error result ' . mysqli_error($link));
return 0;
} else {
if (mysqli_affected_rows($link) == 0) {
$query = "INSERT INTO `moviles` (`uuidMovil`,`descripcion`, fechaAlta, `ultLatitud`,`ultLongitud`, autorizado ) VALUES ('$chatID', '$nombre', ADDTIME(NOW(), '-03:00:00'), 0, 0,0) ;";
$result = mysqli_query($link, $query);
if (!$result) {
GuardarEnBitacora('Error result ' . mysqli_error($link));
return 0;
} else {
return 1;
}
} else {
return 1;
}
}
mysqli_close($link);
return 0;
} else {
GuardarEnBitacora("Sin link");
}
} catch (Exception $e) {
echo $e->getMessage();
GuardarEnBitacora($e->getMessage());
return 0;
}
}
function setMovilEstado($chatID, $idEstado = 1) { // 1 libre, 3 ocupado
try {
//GuardarEnBitacora("Entra a validar");
$con = new conexion();
$link = $con->GetLink();
if ($link) {
//GuardarEnBitacora("Entra a link");
$query0 = " UPDATE `moviles` SET "
. " `idEstado` = '$idEstado',"
. " `fechaModificacion` = ADDTIME(NOW(), '-03:00:00'), `fechaEstado` = ADDTIME(NOW(), '-03:00:00') WHERE `uuidMovil` = '$chatID'";
//echo $query;
$result0 = mysqli_query($link, $query0);
if (!$result0) {
GuardarEnBitacora('Error result ' . mysqli_error($link));
return 0;
} else {
return mysqli_affected_rows($link) > 0;
}
mysqli_close($link);
return 0;
} else {
GuardarEnBitacora("Sin link");
}
} catch (Exception $e) {
echo $e->getMessage();
GuardarEnBitacora($e->getMessage());
return 0;
}
}
function setMovilAutorizado($chatID, $idAutorizado = 1, $nroMovil = 0) { // 1 autorizado, 0 no autorizado
try {
//GuardarEnBitacora("Entra a validar");
$con = new conexion();
$link = $con->GetLink();
if ($link) {
//GuardarEnBitacora("Entra a link");
$query0 = " UPDATE `moviles` SET "
. " `autorizado` = '$idAutorizado',"
. ($nroMovil != 0 ? "nroMovil = '$nroMovil', " : "")
. " `fechaModificacion` = ADDTIME(NOW(), '-03:00:00') WHERE `uuidMovil` = '$chatID'";
//echo $query;
$result0 = mysqli_query($link, $query0);
if (!$result0) {
GuardarEnBitacora('Error result ' . mysqli_error($link));
return 0;
} else {
return mysqli_affected_rows($link) > 0;
}
mysqli_close($link);
return 0;
} else {
GuardarEnBitacora("Sin link");
}
} catch (Exception $e) {
echo $e->getMessage();
GuardarEnBitacora($e->getMessage());
return 0;
}
}
function getStrEstado($chatID) {
try {
//GuardarEnBitacora("Entra a validar");
$con = new conexion();
$link = $con->GetLink();
if ($link) {
//GuardarEnBitacora("Entra a link");
$query0 = "SELECT descripcion as nombre , imeiMovil as patente, nroMovil as nro, ultHoraPos,
IF(`ultHoraPos` IS NULL OR `ultHoraPos` < DATE_ADD(`ultHoraPos`,INTERVAL -5 MINUTE) ,'Sin Coordenadas', IF(`idEstado` = 1 ,'Libre',IF(`idEstado` = 3 ,'Ocupado',IF(`idEstado` = 4 ,'Descanso',IF(`idEstado` = 0 ,'Fuera Servicio','Indeterminado'))))) as estado FROM moviles
WHERE `uuidMovil` = '$chatID'; "; //echo $query;
$result0 = mysqli_query($link, $query0);
if (!$result0) {
GuardarEnBitacora('Error result ' . mysqli_error($link));
} else {
if (mysqli_num_rows($result0) == 0) {
return "";
} else {
if ($fila = mysqli_fetch_assoc($result0)) {
$estado = "Nombre:" . $fila["nombre"] . "\nPatente: " . $fila["patente"] . "\nMóvil: " . $fila["nro"] .
"\nÚltimas Coordenadas: " . $fila["ultHoraPos"] . "\nEstado: " . $fila["estado"];
mysqli_close($link);
return $estado;
}
}
}
mysqli_close($link);
return "";
} else {
GuardarEnBitacora("Sin link");
}
} catch (Exception $e) {
echo $e->getMessage();
GuardarEnBitacora($e->getMessage());
return "";
}
}
function getMenuEstado() {
$option = [['Libre', 'Ocupado'], ['Descanso', 'Fuera de Servicio'], ['Mi Estado', 'Editar Datos']];
return $option;
}