<?php
require_once(__DIR__ . '/../../core/init.php');
require_once(__DIR__ . '/../../core/is_user.php');

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

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    exit(json_encode([
        'status' => 'error',
        'msg' => 'Method không hợp lệ'
    ]));
}

CheckLogin();
CheckAdmin();

if ($DVR->site('status_demo') != 0) {
    exit(json_encode([
        'status' => 'error',
        'msg' => 'Không được dùng chức năng này vì đây là trang web demo'
    ]));
}

$token = xss($_POST['token'] ?? '');
$id    = intval($_POST['id'] ?? 0);
$code  = trim(xss($_POST['code'] ?? ''));
$stt   = intval($_POST['stt'] ?? 0);

if (empty($token) || $token !== $getUser['token']) {
    exit(json_encode([
        'status' => 'error',
        'msg' => 'Token không hợp lệ'
    ]));
}

if ($id <= 0) {
    exit(json_encode([
        'status' => 'error',
        'msg' => 'ID không hợp lệ'
    ]));
}

if (empty($code)) {
    exit(json_encode([
        'status' => 'error',
        'msg' => 'Vui lòng nhập tên chuyên mục'
    ]));
}

$row = $DVR->get_row("SELECT * FROM `category` WHERE `id` = '$id' ");
if (!$row) {
    exit(json_encode([
        'status' => 'error',
        'msg' => 'Chuyên mục không tồn tại'
    ]));
}

$checkName = $DVR->get_row("SELECT * FROM `category` WHERE `code` = '$code' AND `id` != '$id' ");
if ($checkName) {
    exit(json_encode([
        'status' => 'error',
        'msg' => 'Tên chuyên mục đã tồn tại'
    ]));
}

$isUpdate = $DVR->update('category', [
    'code' => $code,
    'stt'  => $stt
], " `id` = '$id' ");

if ($isUpdate) {
    exit(json_encode([
        'status' => 'success',
        'msg' => 'Cập nhật chuyên mục thành công'
    ]));
}

exit(json_encode([
    'status' => 'error',
    'msg' => 'Cập nhật thất bại'
]));