<?php
// Archivo para ejecución automática vía cron
date_default_timezone_set('America/Santiago');

// Obtener la ruta base del script
$base_path = dirname(__FILE__);

// Directorio para logs
$log_dir = $base_path . '/logs';
if (!file_exists($log_dir)) {
    mkdir($log_dir, 0777, true);
}

// Archivo de log
$log_file = $log_dir . '/scraper_' . date('Y-m') . '.log';

// Función para escribir en el log
function escribir_log($mensaje) {
    global $log_file;
    $fecha = date('Y-m-d H:i:s');
    file_put_contents($log_file, "[$fecha] $mensaje\n", FILE_APPEND);
}

try {
    escribir_log("Iniciando ejecución del scraper");
    
    // Ejecutar el scraper usando curl para mejor compatibilidad
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://seminarioscorma.cl/corma/mantencion_app/scraper_corma.php');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $response = curl_exec($ch);
    
    if (curl_errno($ch)) {
        throw new Exception('Error Curl: ' . curl_error($ch));
    }
    
    curl_close($ch);
    
    $resultado = json_decode($response, true);
    
    if ($resultado) {
        if ($resultado['success']) {
            escribir_log("Ejecución exitosa: " . $resultado['message']);
            if ($resultado['noticias_agregadas'] > 0) {
                escribir_log("Se agregó la noticia: " . $resultado['debug_info']['titulo_encontrado']);
                escribir_log("URL de la noticia: " . $resultado['debug_info']['url_encontrada']);
                escribir_log("Imagen guardada: " . ($resultado['debug_info']['ruta_imagen_guardada'] ?? 'No disponible'));
            }
        } else {
            escribir_log("Error en la ejecución: " . $resultado['message']);
        }
    } else {
        escribir_log("Error al decodificar la respuesta del scraper");
        escribir_log("Respuesta recibida: " . $response);
    }
    
    escribir_log("Ejecución finalizada");
    
} catch (Exception $e) {
    escribir_log("Error crítico: " . $e->getMessage());
}
?> 