<?php
$pageTitle = 'إنشاء نسخة احتياطية لقاعدة البيانات';
include __DIR__ . '/../includes/header.php';
// require_once __DIR__ . '/../includes/config.php'; // تأكد أن هذا المسار صحيح لملف الاتصال

// التحقق من صلاحيات المسؤول
checkLogin();
if (!hasPermission('admin_backup')) { // افترضنا وجود صلاحية خاصة للمسؤول
    header('Location: ' . SITE_URL . '/pages/errors/access_denied.php');
    exit();
}

$message = '';
$messageType = '';

// ----------------------------------------------------
//                      منطق إنشاء النسخة الاحتياطية
// ----------------------------------------------------
if (isset($_POST['create_backup'])) {

    // تأكد من وجود مجلد النسخ الاحتياطية، وإن لم يكن موجودًا قم بإنشائه
    $backup_dir = __DIR__ . '/../backups/'; // مسار لحفظ الملفات، خارج جذر الويب إذا أمكن
    if (!is_dir($backup_dir)) {
        mkdir($backup_dir, 0755, true);
    }
    
    // اسم الملف الذي سيتم حفظ النسخة الاحتياطية فيه
    $backup_file_name = DB_NAME . '_' . date('Y-m-d_H-i-s') . '.sql';
    $backup_file_path = $backup_dir . $backup_file_name;

    // الأمر الذي سيتم تنفيذه لتصدير قاعدة البيانات باستخدام mysqldump
    // (قد تحتاج إلى تعديل مسار mysqldump حسب خادمك)
    $command = "mysqldump --opt -h" . DB_HOST . " -u" . DB_USER;
    
    // إضافة كلمة المرور فقط إذا كانت موجودة
    if (DB_PASS) {
        $command .= " -p" . DB_PASS;
    }
    
    $command .= " " . DB_NAME . " > " . $backup_file_path;
    
    // تنفيذ الأمر
    exec($command, $output, $return_var);

    if ($return_var === 0) {
        $message = "تم إنشاء النسخة الاحتياطية بنجاح. يمكنك تحميلها الآن.";
        $messageType = 'success';
    } else {
        $message = "حدث خطأ أثناء إنشاء النسخة الاحتياطية. رمز الخطأ: " . $return_var;
        $messageType = 'danger';
    }
}
?>

<div class="content-area">
    <div class="page-header">
        <div class="d-flex justify-content-between align-items-center">
            <div>
                <h2 class="page-title">نسخ قاعدة البيانات الاحتياطية</h2>
                <p class="page-subtitle">إدارة النسخ الاحتياطية لقاعدة البيانات الخاصة بالنظام.</p>
            </div>
        </div>
    </div>
    
    <?php if ($message): ?>
        <div class="alert alert-<?php echo $messageType; ?> mt-3" role="alert">
            <?php echo htmlspecialchars($message); ?>
        </div>
    <?php endif; ?>

    <div class="card mb-4 shadow-sm">
        <div class="card-header">
            <h5 class="card-title mb-0">إنشاء نسخة احتياطية جديدة</h5>
        </div>
        <div class="card-body">
            <p>اضغط على الزر أدناه لإنشاء نسخة احتياطية كاملة من قاعدة البيانات.</p>
            <form action="" method="post">
                <button type="submit" name="create_backup" class="btn btn-primary">
                    <i class="fas fa-database me-2"></i>إنشاء نسخة احتياطية الآن
                </button>
            </form>
        </div>
    </div>
    
    <div class="card shadow-sm mt-4">
        <div class="card-header">
            <h5 class="card-title mb-0">النسخ الاحتياطية الموجودة</h5>
        </div>
        <div class="card-body">
            <?php
            // عرض قائمة بالملفات الموجودة في مجلد backups
            $backup_dir = __DIR__ . '/../backups/';
            $backups = glob($backup_dir . '*.sql');
            
            if (!empty($backups)):
            ?>
            <div class="table-responsive">
                <table class="table table-hover table-striped">
                    <thead>
                        <tr>
                            <th>اسم الملف</th>
                            <th>حجم الملف</th>
                            <th>تاريخ الإنشاء</th>
                            <th>الإجراءات</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach (array_reverse($backups) as $backup_file): ?>
                        <?php 
                            $filename = basename($backup_file);
                            $filesize = filesize($backup_file);
                            $filedate = date('Y-m-d H:i:s', filemtime($backup_file));
                        ?>
                        <tr>
                            <td><?php echo htmlspecialchars($filename); ?></td>
                            <td><?php echo round($filesize / 1024 / 1024, 2) . ' MB'; ?></td>
                            <td><?php echo htmlspecialchars($filedate); ?></td>
                            <td>
                                <a href="<?php echo SITE_URL . '/pages/backups/download.php?file=' . urlencode($filename); ?>" class="btn btn-success btn-sm">
                                    <i class="fas fa-download"></i> تحميل
                                </a>
                                <a href="<?php echo SITE_URL . '/pages/backups/delete.php?file=' . urlencode($filename); ?>" class="btn btn-danger btn-sm" onclick="return confirm('هل أنت متأكد من حذف هذا الملف؟')">
                                    <i class="fas fa-trash"></i> حذف
                                </a>
                            </td>
                        </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            </div>
            <?php else: ?>
                <div class="alert alert-info text-center">
                    لا توجد نسخ احتياطية متاحة.
                </div>
            <?php endif; ?>
        </div>
    </div>
</div>

<?php include __DIR__ . '/../includes/footer.php'; ?>