<?php
add_action('admin_menu', function () {
    add_submenu_page(
        'themes.php',                     // Slug القائمة الأب (المظهر)
        'Fonts manager',                  // عنوان الصفحة
        'Fonts manager',                  // اسم القائمة الجانبي
        'manage_options',                 // الصلاحية
        'custom-fonts',                   // السلاج
        'custom_fonts_admin_content'      // الكولباك لعرض المحتوى
    );
});

function custom_fonts_admin_content() {
    if (!current_user_can('manage_options')) {
        return;
    }

    $upload_dir = wp_upload_dir();
    $fonts_dir = $upload_dir['basedir'] . '/custom-fonts';
    $fonts_url = $upload_dir['baseurl'] . '/custom-fonts';

    if (!file_exists($fonts_dir)) {
        wp_mkdir_p($fonts_dir);
    }

    // Handle delete font
    if (isset($_GET['delete_font']) && current_user_can('manage_options')) {
        $font_to_delete = basename(sanitize_file_name($_GET['delete_font']));
        $file_path = $fonts_dir . '/' . $font_to_delete;
        if (file_exists($file_path)) {
            unlink($file_path);
            echo '<div class="notice notice-success is-dismissible"><p>تم حذف الخط: ' . esc_html($font_to_delete) . '</p></div>';
        }
    }

    // Handle upload
    if (isset($_FILES['custom_font']) && $_FILES['custom_font']['error'] === UPLOAD_ERR_OK) {
        $file = $_FILES['custom_font'];
        $filename = sanitize_file_name($file['name']);
        $ext = pathinfo($filename, PATHINFO_EXTENSION);
        $allowed = ['ttf', 'otf', 'woff', 'woff2'];

        if (in_array(strtolower($ext), $allowed)) {
            move_uploaded_file($file['tmp_name'], $fonts_dir . '/' . $filename);
            echo '<div class="notice notice-success is-dismissible"><p>تم رفع الخط بنجاح.</p></div>';
        } else {
            echo '<div class="notice notice-error is-dismissible"><p>نوع الملف غير مسموح.</p></div>';
        }
    }

    echo '<div class="wrap"><h1>إدارة الخطوط</h1>';
    echo '<form method="post" enctype="multipart/form-data">';
    echo '<input type="file" name="custom_font" accept=".ttf,.otf,.woff,.woff2" required> ';
    echo '<input type="submit" class="button button-primary" value="رفع الخط">';
    echo '</form><hr>';

    // List fonts
    $fonts = glob($fonts_dir . '/*.{ttf,otf,woff,woff2}', GLOB_BRACE);
    if ($fonts) {
        echo '<h2>الخطوط المرفوعة</h2><ul style="list-style: none; padding: 0">';
        foreach ($fonts as $font_path) {
            $font_file = basename($font_path);
            $font_url = $fonts_url . '/' . $font_file;
            echo '<li style="margin-bottom: 10px">'
                . '<strong>' . esc_html($font_file) . '</strong> '
                . '<input type="text" readonly style="width: 60%" value="' . esc_url($font_url) . '" onclick="this.select()"> '
                . '<a href="' . esc_url(admin_url('admin.php?page=custom-fonts&delete_font=' . urlencode($font_file))) . '" onclick="return confirm(\'هل أنت متأكد من حذف هذا الخط؟\')" class="button button-small button-danger">حذف</a>'
                . '</li>';
        }
        echo '</ul>';
    } else {
        echo '<p>لا توجد خطوط مرفوعة حتى الآن.</p>';
    }
    echo '</div>';
}
