Elgg\Http\ResponseFactory::wrapLegacyAjaxResponse PHP Method

wrapLegacyAjaxResponse() public method

Wraps content for compability with legacy Elgg ajax calls
public wrapLegacyAjaxResponse ( string $content = '', string $forward_url = REFERRER ) : string
$content string Response content
$forward_url string Forward URL
return string
    public function wrapLegacyAjaxResponse($content = '', $forward_url = REFERRER)
    {
        $content = $this->stringify($content);
        if ($forward_url === REFERRER) {
            $forward_url = $this->request->headers->get('Referer');
        }
        // always pass the full structure to avoid boilerplate JS code.
        $params = ['output' => '', 'status' => 0, 'system_messages' => ['error' => [], 'success' => []], 'current_url' => current_page_url(), 'forward_url' => elgg_normalize_url($forward_url)];
        $params['output'] = $this->ajax->decodeJson($content);
        // Grab any system messages so we can inject them via ajax too
        $system_messages = _elgg_services()->systemMessages->dumpRegister();
        if (isset($system_messages['success'])) {
            $params['system_messages']['success'] = $system_messages['success'];
        }
        if (isset($system_messages['error'])) {
            $params['system_messages']['error'] = $system_messages['error'];
            $params['status'] = -1;
        }
        $response_type = $this->parseContext();
        list($service, $name) = explode(':', $response_type);
        $context = [$service => $name];
        $params = $this->hooks->trigger('output', 'ajax', $context, $params);
        return $this->stringify($params);
    }