function _services_run_access_callback in Services 7.3
Call access callback of the method.
1 call to _services_run_access_callback()
- _services_controller_execute_internals in includes/
services.runtime.inc - Internals of the services_controller_execute().
File
- includes/
services.runtime.inc, line 447 - Contains functions that only are necessary when a service call is made. This has broken out so that this code isn't loaded for every page load.
Code
function _services_run_access_callback($controller, $args) {
// Construct access arguments array.
if (isset($controller['access arguments'])) {
$access_arguments = $controller['access arguments'];
if (isset($controller['access arguments append']) && $controller['access arguments append']) {
$access_arguments[] = $args;
}
}
else {
// Just use the arguments array if no access arguments have been specified
$access_arguments = $args;
}
// Load the proper file for the access callback.
if (!empty($controller['access callback file']) && ($access_cb_file = $controller['access callback file'])) {
$access_cb_file_name = isset($access_cb_file['name']) ? $access_cb_file['name'] : NULL;
module_load_include($access_cb_file['type'], $access_cb_file['module'], $access_cb_file_name);
}
// Call default or custom access callback.
if (call_user_func_array($controller['access callback'], $access_arguments) != TRUE) {
global $user;
return services_error(t('Access denied for user @user', array(
'@user' => isset($user->name) ? $user->name : 'anonymous',
)), 403);
}
}