You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
1.1 KiB

<?php
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') { http_response_code(204); exit; }
require_once __DIR__ . '/../../utils/Config.php';
$config = Config::getInstance();
$method = $_SERVER['REQUEST_METHOD'];
if ($method === 'GET') {
echo json_encode(['success' => true, 'data' => $config->getAll()]);
exit;
}
if ($method === 'POST') {
$input = json_decode(file_get_contents('php://input'), true);
if (isset($input['smtp'])) { $config->set('smtp', $input['smtp']); }
if (isset($input['pop3'])) { $config->set('pop3', $input['pop3']); }
if (isset($input['server'])) { $config->set('server', $input['server']); }
if (isset($input['log'])) { $config->set('log', $input['log']); }
$ok = $config->save();
echo json_encode(['success' => $ok ? true : false, 'message' => $ok ? 'saved' : 'failed']);
exit;
}
http_response_code(405);
echo json_encode(['success' => false, 'message' => 'method not allowed']);