if (!function_exists('registrarLog')) { function registrarLog($usuario_tipo, $usuario_id, $accion, $descripcion) { require_once 'database.php'; $database = new Database(); $db = $database->getConnection(); // Verificar que el tipo de usuario sea válido para el ENUM $tipos_validos = ['usuario', 'abonado', 'representante', 'operador']; if (!in_array($usuario_tipo, $tipos_validos)) { $usuario_tipo = 'usuario'; // Valor por defecto válido } $query = "INSERT INTO logs_sistema (usuario_tipo, usuario_id, accion, descripcion, ip_address, user_agent) VALUES (:usuario_tipo, :usuario_id, :accion, :descripcion, :ip_address, :user_agent)"; $stmt = $db->prepare($query); $stmt->bindParam(':usuario_tipo', $usuario_tipo); $stmt->bindParam(':usuario_id', $usuario_id); $stmt->bindParam(':accion', $accion); $stmt->bindParam(':descripcion', $descripcion); $stmt->bindParam(':ip_address', $_SERVER['REMOTE_ADDR']); $stmt->bindParam(':user_agent', $_SERVER['HTTP_USER_AGENT']); try { return $stmt->execute(); } catch (PDOException $e) { // Logear el error en un archivo para diagnóstico error_log("Error en registrarLog: " . $e->getMessage()); return false; } } } if (!function_exists('subirArchivo')) { function subirArchivo($archivo, $reclamo_codigo) { // Verificar error de subida if ($archivo['error'] !== UPLOAD_ERR_OK) { error_log("Upload error: " . $archivo['error']); return false; } // Verificar que el archivo temporal exista if (!file_exists($archivo['tmp_name'])) { error_log("Temporary file does not exist: " . $archivo['tmp_name']); return false; } $extension = strtolower(pathinfo($archivo['name'], PATHINFO_EXTENSION)); // Verificar extensiones permitidas $extensiones_permitidas = ['pdf', 'jpg', 'jpeg', 'png', 'doc', 'docx']; if (!in_array($extension, $extensiones_permitidas)) { error_log("File extension not allowed: " . $extension); return false; } if ($archivo['size'] > (5 * 1024 * 1024)) { // 5MB error_log("File too large: " . $archivo['size'] . " bytes"); return false; } $nombre_archivo = $reclamo_codigo . '_' . time() . '_' . uniqid() . '.' . $extension; $ruta_destino = __DIR__ . '/../uploads/' . $nombre_archivo; error_log("Attempting to move file to: " . $ruta_destino); if (move_uploaded_file($archivo['tmp_name'], $ruta_destino)) { error_log("File uploaded successfully: " . $nombre_archivo); return $nombre_archivo; } error_log("Failed to move uploaded file from " . $archivo['tmp_name'] . " to " . $ruta_destino); return false; } } if (!function_exists('limpiarEntrada')) { function limpiarEntrada($dato) { $dato = trim($dato); $dato = stripslashes($dato); $dato = htmlspecialchars($dato); return $dato; } }
Consulte el estado de sus reclamos, apelaciones y quejas