<?php
require_once(dirname(__DIR__, 2) . '/init.php');

header('Content-Type: application/json; charset=utf-8');

// Admin kontrolü
if (!m_admin_check()) {
    echo json_encode(['ok' => false, 'message' => 'auth']);
    exit;
}

// CSRF
$csrf = $_POST['csrf_token'] ?? '';
if (!csrf_token($csrf)[0]) {
    echo json_encode(['ok' => false, 'message' => lang('security.csrf_invalid', [], 'Güvenlik tokeni geçersiz')]);
    exit;
}

$id = (int)($_POST['id'] ?? 0);
$note = (string)($_POST['internal_note'] ?? '');
$status = isset($_POST['status']) ? (int)$_POST['status'] : null; // 0/1/2

if ($id <= 0) {
    echo json_encode(['ok' => false, 'message' => 'bad_id']);
    exit;
}

try {
    $db = new DB();
    // Kaydı al
    $rec = $db->table('posts')->where('id', '=', $id)->get();
    if (empty($rec['data'])) { echo json_encode(['ok' => false, 'message' => 'not_found']); exit; }
    $row = $rec['data'][0];

    // Sadece request_demo modülünde işlem yap
    if (($row['module_type'] ?? '') !== 'request_demo') { echo json_encode(['ok' => false, 'message' => 'bad_module']); exit; }

    // features JSON birleştir
    $features = [];
    if (!empty($row['features'])) {
        $tmp = json_decode($row['features'], true);
        if (json_last_error() === JSON_ERROR_NONE && is_array($tmp)) { $features = $tmp; }
    }
    $features['internal_note'] = $note;
    $upd = [ 'features' => json_encode($features, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES), 'updated_at' => $db->now() ];
    if ($status !== null) { $upd['status'] = $status; }

    $ok = $db->table('posts')->where('id', '=', $id)->update($upd);
    if (!$ok) { echo json_encode(['ok' => false, 'message' => 'db_error']); exit; }

    echo json_encode(['ok' => true, 'message' => 'saved', 'status' => $status, 'note' => $note ]);
    exit;
} catch (Exception $e) {
    echo json_encode(['ok' => false, 'message' => 'exception']);
    exit;
}
?>


