<?php

require 'config.php'; // تضمين ملف الاتصال بقاعدة البيانات

$days_to_keep = 7; // عدد الأيام التي نحتفظ بها بالمباريات
$delete_older_than = date('Y-m-d', strtotime("-{$days_to_keep} days")); // تنسيق التاريخ بدون H:i:s
$error_log_file = 'delete_log.txt';

try {
    $db = new PDO("mysql:host=" . DB_HOST . ";dbname=" . DB_NAME, DB_USER, DB_PASS);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    // حذف المباريات الأقدم من 7 أيام
    $stmt = $db->prepare("DELETE FROM " . DB_PREFIX . "matches WHERE STR_TO_DATE(`date`, '%Y-%m-%d') < :delete_date");
    $stmt->bindParam(':delete_date', $delete_older_than, PDO::PARAM_STR);
    $stmt->execute();
    $rows_deleted_matches = $stmt->rowCount();
    
    // حذف تفاصيل المباريات غير المرتبطة بمباريات موجودة
    $stmt = $db->prepare("DELETE FROM " . DB_PREFIX . "match_details WHERE match_id NOT IN 
                        (SELECT match_id FROM " . DB_PREFIX . "matches WHERE STR_TO_DATE(`date`, '%Y-%m-%d') >= :delete_date)");
    $stmt->bindParam(':delete_date', $delete_older_than, PDO::PARAM_STR);
    $stmt->execute();
    $rows_deleted_details = $stmt->rowCount();
    
    // تسجيل العملية في ملف الأخطاء
    file_put_contents($error_log_file, date('Y-m-d H:i:s') . " - Attempting to delete matches older than {$delete_older_than}.
", FILE_APPEND);
    file_put_contents($error_log_file, date('Y-m-d H:i:s') . " - Deleted {$rows_deleted_matches} old matches and {$rows_deleted_details} orphaned details.
", FILE_APPEND);

    echo "تم حذف {$rows_deleted_matches} مباراة قديمة و {$rows_deleted_details} تفاصيل غير مرتبطة.";
} catch (PDOException $e) {
    file_put_contents($error_log_file, date('Y-m-d H:i:s') . " - Error: " . $e->getMessage() . "\n", FILE_APPEND);
    echo "حدث خطأ أثناء الحذف: " . $e->getMessage();
}

?>