101 lines
3.3 KiB
PHP
101 lines
3.3 KiB
PHP
<?php
|
|
// Incluimos las credenciales desde el archivo local excluido
|
|
if (!file_exists(__DIR__ . '/config.php')) {
|
|
die("Error crítico: No se encontró el archivo 'config.php'. Duplicá 'config.example.php', renombralo a 'config.php' y configurá tus credenciales.");
|
|
}
|
|
include(__DIR__ . '/config.php');
|
|
|
|
// ─── Configuración general del sistema ───────────
|
|
define('NOMBRE_SISTEMA', 'La Pecosa');
|
|
define('TIMEZONE', 'America/Argentina/Buenos_Aires');
|
|
define('EMAIL_ADMIN', 'admin@lapecosa.com');
|
|
|
|
if (session_status() === PHP_SESSION_NONE) {
|
|
session_start();
|
|
}
|
|
|
|
if (!isset($_SESSION['carrito'])) {
|
|
$_SESSION['carrito'] = [];
|
|
}
|
|
|
|
//Creamos la conexión
|
|
$conexion = mysqli_connect(DB_HOST, DB_USUARIO, DB_PASSWORD, DB_NOMBRE);
|
|
|
|
//Verificamos si la conexión falló
|
|
if (!$conexion) {
|
|
die("Error al conectar con la base de datos: " . mysqli_connect_error());
|
|
}
|
|
|
|
//Configuramos tildes y eñes
|
|
mysqli_set_charset($conexion, "utf8mb4");
|
|
|
|
//Logs del sistema
|
|
function escribir_log($mensaje) {
|
|
date_default_timezone_set(TIMEZONE);
|
|
|
|
$carpeta = __DIR__ . '/logs-sistema-lapecosa';
|
|
|
|
if (!file_exists($carpeta)) {
|
|
mkdir($carpeta, 0777, true);
|
|
}
|
|
|
|
$archivo = $carpeta . "/registro_actividad_" . date("Y-m-d") . ".log";
|
|
$fecha_hora = date("d-m-Y H:i:s");
|
|
$ip = $_SERVER['REMOTE_ADDR'];
|
|
|
|
$texto = "[$fecha_hora] [IP: $ip] - $mensaje" . PHP_EOL;
|
|
|
|
file_put_contents($archivo, $texto, FILE_APPEND);
|
|
}
|
|
|
|
function es_horario_comercial($conexion) {
|
|
// 1. REGLA MANUAL: Verificar si el administrador lo cerró a la fuerza
|
|
$query = mysqli_query($conexion, "SELECT valor FROM ajustes WHERE clave = 'estado_manual'");
|
|
|
|
// CONTROL DE SEGURIDAD: Si la consulta falla (devuelve false), evitamos el Fatal Error
|
|
if (!$query) {
|
|
die("Error en la consulta de ajustes: " . mysqli_error($conexion));
|
|
}
|
|
|
|
$resultado = mysqli_fetch_assoc($query);
|
|
if ($resultado && $resultado['valor'] === 'cerrado') {
|
|
return "manual_cerrado"; // Cerrado de forma manual desde el panel
|
|
}
|
|
|
|
// 2. CONFIGURACIÓN DE REGION
|
|
date_default_timezone_set('America/Argentina/Buenos_Aires');
|
|
|
|
$dia_semana = date('N'); // 1 (Lunes) a 7 (Domingo)
|
|
$hora_actual = date('H:i');
|
|
|
|
// 3. REGLA AUTOMÁTICA: DOMINGOS (09:00 a 13:00)
|
|
if ($dia_semana == 7) {
|
|
$apertura_dom = "09:00";
|
|
$cierre_dom = "13:00";
|
|
|
|
if ($hora_actual >= $apertura_dom && $hora_actual <= $cierre_dom) {
|
|
return "abierto";
|
|
}
|
|
return "hora_cerrado";
|
|
}
|
|
|
|
// 4. REGLA AUTOMÁTICA: LUNES A SÁBADOS (Horario Partido)
|
|
// Turno Mañana: 08:30 a 13:30
|
|
$manana_apertura = "08:30";
|
|
$manana_cierre = "13:30";
|
|
|
|
// Turno Tarde/Noche: 17:30 a 21:00
|
|
$tarde_apertura = "17:30";
|
|
$tarde_cierre = "21:00";
|
|
|
|
// Validamos si la hora actual cae en el rango de la mañana O en el rango de la tarde
|
|
$esta_en_manana = ($hora_actual >= $manana_apertura && $hora_actual <= $manana_cierre);
|
|
$esta_en_tarde = ($hora_actual >= $tarde_apertura && $hora_actual <= $tarde_cierre);
|
|
|
|
if ($esta_en_manana || $esta_en_tarde) {
|
|
return "abierto"; // ¡El local está operativo!
|
|
}
|
|
|
|
return "hora_cerrado"; // Estamos en el bache de la siesta o ya cerró a la noche
|
|
}
|
|
?>
|