shouldShowDesktop()) { http_response_code(401); echo json_encode(['error' => 'Nicht autorisiert.'], JSON_UNESCAPED_UNICODE); exit; } $store = new LegacyModuleStore($projectRoot, MiningCheckerUserScope::current()); $method = strtoupper((string) ($_SERVER['REQUEST_METHOD'] ?? 'GET')); if ($method === 'GET') { echo json_encode($store->loadAuth(), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); exit; } if ($method === 'PUT') { $raw = file_get_contents('php://input'); $payload = json_decode($raw !== false ? $raw : '', true); $payload = is_array($payload) ? $payload : []; $users = preg_split('/[\s,;]+/', (string) ($payload['users'] ?? '')) ?: []; $groups = preg_split('/[\s,;]+/', (string) ($payload['groups'] ?? '')) ?: []; $store->saveAuth([ 'required' => (bool) ($payload['required'] ?? true), 'users' => array_values(array_filter(array_map('trim', $users))), 'groups' => array_values(array_filter(array_map('trim', $groups))), ]); echo json_encode($store->loadAuth(), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); exit; } http_response_code(405); echo json_encode(['error' => 'Methode nicht erlaubt.'], JSON_UNESCAPED_UNICODE);