Elgg  Version 2.3
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, Input $input, 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...
 
 appendMessages ($hook, $type, $response, $params)
 Send system messages back with the response. More...
 
 appendDeps ($hook, $type, $response, $params)
 Send required AMD modules list back with the response. 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 @access private

Definition at line 20 of file Service.php.

Constructor & Destructor Documentation

◆ __construct()

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

Constructor.

Parameters
PluginHooksService$hooksHooks service
SystemMessagesService$msgsSystem messages service
Input$inputInput service
Config$amdConfigAMD config

Definition at line 60 of file Service.php.

Member Function Documentation

◆ appendDeps()

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

Send required AMD modules list back with the response.

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

Definition at line 262 of file Service.php.

◆ appendMessages()

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

Send system messages back with the response.

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

Definition at line 242 of file Service.php.

◆ decodeJson()

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

Attempt to JSON decode the given string.

Parameters
mixed$stringOutput string
Returns
mixed

Definition at line 106 of file Service.php.

◆ getViews()

Elgg\Ajax\Service::getViews ( )

Returns an array of views allowed for ajax calls.

Returns
string[]

Definition at line 294 of file Service.php.

◆ isAjax2Request()

Elgg\Ajax\Service::isAjax2Request ( )

Did the request come from the elgg/Ajax module?

Returns
bool

Definition at line 82 of file Service.php.

◆ isReady()

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 96 of file Service.php.

◆ registerView()

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

Register a view to be available for ajax calls.

Parameters
string$viewThe view name
Returns
void

Definition at line 276 of file Service.php.

◆ respondFromApiResponse()

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 145 of file Service.php.

◆ respondFromOutput()

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 122 of file Service.php.

◆ respondWithError()

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 160 of file Service.php.

◆ unregisterView()

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

Unregister a view for ajax calls.

Parameters
string$viewThe view name
Returns
void

Definition at line 286 of file Service.php.


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