<?php
// cron/check_subscriptions.php
// Este script debe ser ejecutado por un cron job en el servidor (ej. cada día a medianoche).

// Incluir el archivo de configuración de la base de datos
require_once __DIR__ . '/../config.php'; // Asegura que la ruta sea correcta desde la ubicación de este script

try {
    $hoy = date('Y-m-d'); // Fecha actual sin hora para comparar solo el día

    // 1. Obtener suscripciones activas/en prueba que ya vencieron hoy o antes
    $stmt_vencidas = $pdo->prepare("
        SELECT id, id_admin, fecha_fin, estado
        FROM suscripciones
        WHERE (estado = 'activa' OR estado = 'prueba') AND fecha_fin < ?
    ");
    $stmt_vencidas->execute([$hoy]); // Compara solo el día
    $suscripciones_a_vencer = $stmt_vencidas->fetchAll(PDO::FETCH_ASSOC);

    $actualizadas = 0;
    foreach ($suscripciones_a_vencer as $suscripcion) {
        $pdo->prepare("UPDATE suscripciones SET estado = 'vencida' WHERE id = ?")->execute([$suscripcion['id']]);
        $actualizadas++;
        error_log("Suscripción ID {$suscripcion['id']} del admin {$suscripcion['id_admin']} actualizada a 'vencida'.");
    }

    error_log("Cron Job 'check_subscriptions.php' ejecutado. Suscripciones actualizadas: $actualizadas.");

} catch (PDOException $e) {
    error_log("Error de base de datos en cron job 'check_subscriptions.php': " . $e->getMessage());
} catch (Exception $e) {
    error_log("Error general en cron job 'check_subscriptions.php': " . $e->getMessage());
}

?>