false, 'error' => 'FileRise Pro is not active on this instance.']); return; } try { if (($_SERVER['REQUEST_METHOD'] ?? 'GET') !== 'POST') { http_response_code(405); echo json_encode(['ok' => false, 'error' => 'Method not allowed']); return; } if (session_status() !== PHP_SESSION_ACTIVE) { session_start(); } AdminController::requireAuth(); AdminController::requireAdmin(); AdminController::requireCsrf(); $raw = file_get_contents('php://input'); $body = json_decode($raw, true); if (!is_array($body) || !isset($body['folder'])) { http_response_code(400); echo json_encode(['ok' => false, 'error' => 'Invalid input']); return; } $folder = (string)$body['folder']; $folder = $folder === '' ? 'root' : trim($folder, "/\\ "); if (strtolower($folder) === 'root') { http_response_code(400); echo json_encode(['ok' => false, 'error' => 'Cannot deep delete root folder.']); return; } $res = FolderModel::deleteFolderRecursiveAdmin($folder); if (!empty($res['error'])) { echo json_encode(['ok' => false, 'error' => $res['error']]); } else { echo json_encode(['ok' => true, 'success' => $res['success'] ?? 'Folder deleted.']); } } catch (Throwable $e) { error_log('diskUsageDeleteFolderRecursive error: '.$e->getMessage()); http_response_code(500); echo json_encode(['ok' => false, 'error' => 'Internal error']); }