<?php
require_once '../config.php';
require_once '../includes/functions_finance.php';

// التحقق من تسجيل الدخول
requireLogin();

// التحقق من الصلاحيات
requirePermission('admin');

if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_POST['payment_id'])) {
    try {
        $paymentId = (int) sanitizeInput($_POST['payment_id']);
        
        // التحقق من وجود الدفعة
        $payment = fetchOne("SELECT id, member_id, payment_month, payment_status, amount_paid FROM monthly_payments WHERE id = ?", [$paymentId]);
        if (!$payment) {
            setAlert('danger', 'الدفعة غير موجودة');
            header('Location: ' . SITE_URL . '/monthly_payments/index.php');
            exit;
        }
        
        // حذف الإيراد المرتبط بالدفعة إذا كانت مدفوعة
        if ($payment['payment_status'] === 'paid' && $payment['amount_paid'] > 0) {
            // التحقق من وجود إيراد مسجل لهذه الدفعة
            if (checkMonthlyPaymentIncome($payment['member_id'], $payment['payment_month'])) {
                // حذف الإيراد المرتبط بهذه الدفعة
                $member = fetchOne("SELECT first_name, last_name FROM members WHERE id = ?", [$payment['member_id']]);
                $memberName = $member ? $member['first_name'] . ' ' . $member['last_name'] : 'غير معروف';
                $description = 'اشتراك شهري: ' . $memberName . ' - ' . date('m/Y', strtotime($payment['payment_month']));
                
                $db->prepare("DELETE FROM income WHERE source = 'monthly_subscription' AND description = ?")->execute([$description]);
            }
        }
        
        // حذف الدفعة
        $stmt = $db->prepare("DELETE FROM monthly_payments WHERE id = ?");
        $stmt->execute([$paymentId]);
        
        setAlert('success', 'تم حذف دفعة الاشتراك الشهري بنجاح');
    } catch (PDOException $e) {
        setAlert('danger', 'حدث خطأ أثناء حذف الدفعة: ' . $e->getMessage());
    }
}

// Redirection vers la page appropriée
$redirectUrl = !empty($_POST['redirect_url']) ? $_POST['redirect_url'] : SITE_URL . '/monthly_payments/index.php';
header('Location: ' . $redirectUrl);
exit;
?>
