<?php
require_once 'config.php';
$pdo = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8mb4', DB_USER, DB_PASS);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$action = $_REQUEST['action'] ?? '';

switch($action){

    // عرض التراخيص الرسمية
    case 'list_licenses':
        $stmt = $pdo->query("SELECT * FROM license_keys ORDER BY id DESC");
        foreach($stmt as $r){
            $statusBtn = ($r['status'] ?? '')=='valid'
                ? "<button class='toggleStatusBtn bg-green-600 text-white px-2 py-1 rounded' data-id='{$r['id']}'>إيقاف</button>"
                : "<button class='toggleStatusBtn bg-gray-500 text-white px-2 py-1 rounded' data-id='{$r['id']}'>تشغيل</button>";

            echo "<tr>
                    <td>{$r['id']}</td>
                    <td>".($r['license_key'] ?? '-')."</td>
                    <td>".($r['client_name'] ?? '-')."</td>
                    <td>".($r['domain'] ?? '-')."</td>
                    <td>".($r['ip'] ?? '-')."</td>
                    <td>".($r['expiry_date'] ?? '-')."</td>
                    <td>".(($r['status'] ?? '')=='valid' ? "<span class='text-green-600 font-bold'>ساري</span>" : "<span class='text-red-600 font-bold'>موقوف</span>")."</td>
                    <td>
                        <button class='editBtn bg-yellow-500 text-white px-2 py-1 rounded' data-id='{$r['id']}'>تعديل</button>
                        $statusBtn
                        <button class='deleteBtn bg-red-600 text-white px-2 py-1 rounded' data-id='{$r['id']}'>حذف</button>
                    </td>
                </tr>";
        }
        break;

    // عرض التراخيص التجريبية
    case 'list_trials':
        $stmt = $pdo->query("SELECT * FROM license_info ORDER BY id DESC");
        foreach($stmt as $r){
            $statusBtn = ($r['status'] ?? '')=='active' || ($r['status'] ?? '')=='trial'
                ? "<button class='toggleStatusBtn bg-green-600 text-white px-2 py-1 rounded' data-id='{$r['id']}'>إيقاف</button>"
                : "<button class='toggleStatusBtn bg-gray-500 text-white px-2 py-1 rounded' data-id='{$r['id']}'>تشغيل</button>";

            echo "<tr>
                    <td>{$r['id']}</td>
                   <td>".($r['license_key'] ?? '-')."</td> <!-- عرض مفتاح الترخيص -->

                    <td>-</td> <!-- لا يوجد اسم العميل -->
                    <td>".($r['domain'] ?? '-')."</td>
                    <td>".($r['ip'] ?? '-')."</td>
                    <td>".($r['expiry_date'] ?? '-')."</td>
                    <td>".(($r['status'] ?? '')=='active' || ($r['status'] ?? '')=='trial' ? "<span class='text-green-600 font-bold'>ساري</span>" : "<span class='text-red-600 font-bold'>موقوف</span>")."</td>
                    <td>
                        $statusBtn
                        <button class='deleteBtn bg-red-600 text-white px-2 py-1 rounded' data-id='{$r['id']}'>حذف</button>
                    </td>
                </tr>";
        }
        break;

    // حفظ / تعديل الترخيص الرسمي
    case 'save_license':
        $id = $_POST['id'] ?? '';
        $client = $_POST['client_name'] ?? '';
        $domain = $_POST['domain'] ?? '';
        $ip = $_POST['ip'] ?? '';
        $expiry = $_POST['expiry_date'] ?? '';

        if(empty($id)){
            $key = bin2hex(random_bytes(8));
            $stmt = $pdo->prepare("INSERT INTO license_keys (license_key, client_name, domain, ip, expiry_date, status) VALUES (?, ?, ?, ?, ?, 'valid')");
            $stmt->execute([$key, $client, $domain, $ip, $expiry]);
            echo "✅ تمت إضافة الترخيص بنجاح.";
        } else {
            $stmt = $pdo->prepare("UPDATE license_keys SET client_name=?, domain=?, ip=?, expiry_date=? WHERE id=?");
            $stmt->execute([$client, $domain, $ip, $expiry, $id]);
            echo "✅ تم تحديث بيانات الترخيص بنجاح.";
        }
        break;

    // جلب بيانات الترخيص الرسمي
    case 'get_license':
        $stmt = $pdo->prepare("SELECT * FROM license_keys WHERE id=?");
        $stmt->execute([$_GET['id']]);
        echo json_encode($stmt->fetch(PDO::FETCH_ASSOC));
        break;

    // حذف ترخيص
    case 'delete_license':
        $table = ($_POST['type'] ?? '')=='trials' ? 'license_info' : 'license_keys';
        $stmt = $pdo->prepare("DELETE FROM $table WHERE id=?");
        $stmt->execute([$_POST['id']]);
        echo "🗑️ تم حذف السجل بنجاح.";
        break;

    // تشغيل / إيقاف الترخيص
    case 'toggle_status':
        $table = ($_POST['type'] ?? '')=='trials' ? 'license_info' : 'license_keys';
        $stmt = $pdo->prepare("SELECT status FROM $table WHERE id=?");
        $stmt->execute([$_POST['id']]);
        $status = $stmt->fetchColumn();

        if($table=='license_info'){
            $newStatus = ($status=='trial' || $status=='active') ? 'expired' : 'active';
        } else {
            $newStatus = ($status=='valid') ? 'expired' : 'valid';
        }

        $stmt = $pdo->prepare("UPDATE $table SET status=? WHERE id=?");
        $stmt->execute([$newStatus, $_POST['id']]);

        echo ($newStatus=='valid' || $newStatus=='active') ? "✅ تم تفعيل الترخيص." : "⛔ تم إيقاف الترخيص.";
        break;
}
