<?php
// ticket-status.php - تغییر وضعیت و حذف تیکت (Ajax)

session_start();
require_once 'config/database.php';
require_once 'includes/db.php';
require_once 'includes/auth.php';
require_once 'includes/functions.php';

header('Content-Type: application/json');

if (!isLoggedIn()) {
    echo json_encode(['success' => false, 'message' => 'لطفاً وارد شوید.']);
    exit;
}

$user = getCurrentUser();
$ticket_id = (int)($_POST['ticket_id'] ?? 0);
$action = $_POST['action'] ?? '';

if ($ticket_id == 0) {
    echo json_encode(['success' => false, 'message' => 'شناسه تیکت نامعتبر است']);
    exit;
}

// ===== بررسی وجود تیکت =====
$ticket = getTicketById($ticket_id);
if (!$ticket) {
    echo json_encode(['success' => false, 'message' => 'تیکت یافت نشد']);
    exit;
}

// ===== حذف تیکت (فقط مدیر سامانه) =====
if ($action == 'delete') {
    // ===== بررسی دسترسی مدیر سامانه =====
    if (!isset($_SESSION['role_level']) || $_SESSION['role_level'] != 1) {
        echo json_encode(['success' => false, 'message' => 'شما دسترسی حذف تیکت را ندارید']);
        exit;
    }
    
    // ===== حذف تیکت =====
    $result = deleteData('tickets', 'id = :id', ['id' => $ticket_id]);
    
    if ($result !== false) {
        echo json_encode(['success' => true, 'message' => 'تیکت با موفقیت حذف شد']);
    } else {
        echo json_encode(['success' => false, 'message' => 'خطا در حذف تیکت']);
    }
    exit;
}

// ===== تغییر وضعیت =====
$status = $_POST['status'] ?? '';
$allowedStatus = ['new', 'viewed', 'replied', 'closed'];
if (!in_array($status, $allowedStatus)) {
    echo json_encode(['success' => false, 'message' => 'وضعیت نامعتبر است']);
    exit;
}

// کاربر باید فرستنده یا گیرنده باشد (برای تغییر وضعیت)
if ($ticket['sender_id'] != $user['id'] && 
    $ticket['receiver_id'] != $user['id'] && 
    $ticket['receiver_role_id'] != $user['role_id']) {
    echo json_encode(['success' => false, 'message' => 'شما دسترسی به این تیکت ندارید']);
    exit;
}

$result = updateTicketStatus($ticket_id, $status);
if ($result !== false) {
    echo json_encode(['success' => true, 'message' => 'وضعیت تیکت با موفقیت تغییر یافت']);
} else {
    echo json_encode(['success' => false, 'message' => 'خطا در تغییر وضعیت تیکت']);
}
?>