File: /home/muratemr/theotto.tr/api/admin/messages.php
<?php
/**
* api/admin/messages.php
* WhatsApp mesaj şablonları kayıt endpoint'i
*/
declare(strict_types=1);
require_once __DIR__ . '/../../includes/db.php';
require_once __DIR__ . '/../../includes/auth.php';
require_once __DIR__ . '/../../includes/csrf.php';
require_once __DIR__ . '/../../includes/functions.php';
require_permission('settings');
csrf_required();
$allowed_keys = [
'msg_res_confirm', 'msg_res_reject', 'msg_res_cancel',
'msg_wa_discount5', 'msg_wa_discount10', 'msg_wa_discount15',
'msg_wa_birthday', 'msg_wa_tag',
];
$action = post_str('action');
if ($action === 'save_one') {
$key = post_str('key');
if (!in_array($key, $allowed_keys, true)) {
json_response(false, 'Geçersiz anahtar.');
}
$value = $_POST['value'] ?? '';
db_run(
"INSERT INTO site_settings (`key`, `value`) VALUES (?, ?)
ON DUPLICATE KEY UPDATE `value` = VALUES(`value`)",
[$key, $value]
);
json_response(true, 'Mesaj kaydedildi.');
}
if ($action === 'save_all') {
$pdo = get_pdo();
$pdo->beginTransaction();
try {
foreach ($allowed_keys as $key) {
if (!array_key_exists($key, $_POST)) continue;
$value = $_POST[$key] ?? '';
db_run(
"INSERT INTO site_settings (`key`, `value`) VALUES (?, ?)
ON DUPLICATE KEY UPDATE `value` = VALUES(`value`)",
[$key, $value]
);
}
$pdo->commit();
} catch (Throwable $e) {
$pdo->rollBack();
error_log('[messages save] ' . $e->getMessage());
json_response(false, 'Mesajlar kaydedilemedi.');
}
json_response(true, 'Tüm mesajlar kaydedildi.');
}
json_response(false, 'Geçersiz işlem.');