Elgg  Version 3.0
Public Member Functions | List of all members
Elgg\Ajax\Service Class Reference

Models the Ajax API service. More...

Public Member Functions

 __construct (PluginHooksService $hooks, SystemMessagesService $msgs, Request $request, Config $amdConfig)
 Constructor. More...
 
 isAjax2Request ()
 Did the request come from the elgg/Ajax module? More...
 
 isReady ()
 Is the service ready to respond to the request? More...
 
 decodeJson ($string)
 Attempt to JSON decode the given string. More...
 
 respondFromOutput ($output, $hook_type= '', $try_decode=true)
 Send a JSON HTTP response with the given output. More...
 
 respondFromApiResponse (AjaxResponse $api_response, $hook_type= '')
 Send a JSON HTTP response based on the given API response. More...
 
 respondWithError ($msg= '', $status=400)
 Send a JSON HTTP 400 response. More...
 
 prepareResponse ($hook, $type, $response, $params)
 Prepare the response with additional metadata, like system messages and required AMD modules. More...
 
 registerView ($view)
 Register a view to be available for ajax calls. More...
 
 unregisterView ($view)
 Unregister a view for ajax calls. More...
 
 getViews ()
 Returns an array of views allowed for ajax calls. More...
 

Detailed Description

Models the Ajax API service.

Since
1.12.0

Definition at line 19 of file Service.php.

Constructor & Destructor Documentation

Elgg\Ajax\Service::__construct ( PluginHooksService  $hooks,
SystemMessagesService  $msgs,
Request  $request,
Config  $amdConfig 
)

Constructor.

Parameters
PluginHooksService$hooksHooks service
SystemMessagesService$msgsSystem messages service
Request$requestHttp Request
Config$amdConfigAMD config

Definition at line 59 of file Service.php.

Member Function Documentation

Elgg\Ajax\Service::decodeJson (   $string)

Attempt to JSON decode the given string.

Parameters
mixed$stringOutput string
Returns
mixed

Definition at line 98 of file Service.php.

Elgg\Ajax\Service::getViews ( )

Returns an array of views allowed for ajax calls.

Returns
string[]

Definition at line 276 of file Service.php.

Elgg\Ajax\Service::isAjax2Request ( )

Did the request come from the elgg/Ajax module?

Returns
bool

Definition at line 74 of file Service.php.

Elgg\Ajax\Service::isReady ( )

Is the service ready to respond to the request?

Some code paths involve multiple layers of handling (e.g. router calls actions/ajax views) so we must check whether the response has already been sent to avoid sending it twice. We can't use headers_sent() because Router needs to use output buffering.

Returns
bool

Definition at line 88 of file Service.php.

Elgg\Ajax\Service::prepareResponse (   $hook,
  $type,
  $response,
  $params 
)

Prepare the response with additional metadata, like system messages and required AMD modules.

Parameters
string$hook"ajax_response"
string$type"all"
AjaxResponse$responseAjax response
array$paramsHook params
Returns
AjaxResponse

Definition at line 236 of file Service.php.

Elgg\Ajax\Service::registerView (   $view)

Register a view to be available for ajax calls.

Parameters
string$viewThe view name
Returns
void

Definition at line 258 of file Service.php.

Elgg\Ajax\Service::respondFromApiResponse ( AjaxResponse  $api_response,
  $hook_type = '' 
)

Send a JSON HTTP response based on the given API response.

Parameters
AjaxResponse$api_responseAPI response
string$hook_typeThe hook type. If given, the response will be filtered by hook
Returns
JsonResponse

Definition at line 141 of file Service.php.

Elgg\Ajax\Service::respondFromOutput (   $output,
  $hook_type = '',
  $try_decode = true 
)

Send a JSON HTTP response with the given output.

Parameters
mixed$outputOutput from a page/action handler
string$hook_typeThe hook type. If given, the response will be filtered by hook
bool$try_decodeTry to convert a JSON string back to an abject
Returns
JsonResponse

Definition at line 114 of file Service.php.

Elgg\Ajax\Service::respondWithError (   $msg = '',
  $status = 400 
)

Send a JSON HTTP 400 response.

Parameters
string$msgThe error message (not displayed to the user)
int$statusThe HTTP status code
Returns
JsonResponse

Definition at line 156 of file Service.php.

Elgg\Ajax\Service::unregisterView (   $view)

Unregister a view for ajax calls.

Parameters
string$viewThe view name
Returns
void

Definition at line 268 of file Service.php.


The documentation for this class was generated from the following file: