mediamosa_maintenance_browse_restcall_details($uri, $method)View specific details of a REST call.
sites/all/modules/mediamosa/maintenance/browse/mediamosa_maintenance_browse_restcalls.inc, line 141
<?php
function mediamosa_maintenance_browse_restcall_details($uri, $method) {
// If we are set as Home page, the breadcrumb isnt set, lets do it here.
$breadcrumb = array();
$breadcrumb[] = l(t('Home'), NULL);
$breadcrumb[] = l(t('Administer'), 'admin');
$breadcrumb[] = l(t('MediaMosa'), 'admin/mediamosa');
$breadcrumb[] = l(t('Browse'), 'admin/mediamosa/browse');
$breadcrumb[] = l(t('Rest calls browser'), 'admin/mediamosa/browse/restcall');
drupal_set_breadcrumb($breadcrumb);
$uri = str_replace('-', '/', $uri);
$rest_calls = module_invoke_all('mediamosa_register_rest_call');
$rest_calls_doc = module_invoke_all('mediamosa_register_rest_call_doc');
$rest_calls = array_merge_recursive($rest_calls, $rest_calls_doc);
if (!isset($rest_calls[$uri][$method])) {
return t('Rest call not found.');
}
// Add URI and Method to the array.
$rest_calls[$uri][$method][mediamosa_rest_call::URI] = $uri;
$rest_calls[$uri][$method][mediamosa_rest_call::METHOD] = $method;
// Enrich the rest call with missing defaults.
$a_rest_call = mediamosa_rest::set_default_rest_call($rest_calls[$uri][$method]);
// Create class from it.
$rest_call = new $rest_calls[$uri][$method][mediamosa_rest_call::CLASS_NAME]($a_rest_call);
$rest_call->{mediamosa_rest_call::CLASS_NAME} = $rest_calls[$uri][$method][mediamosa_rest_call::CLASS_NAME];
// Check if override for class selection is here.
if (method_exists($rest_call, 'get_object_rest_call')) {
$rest_call = $rest_call->get_object_rest_call($a_rest_call, isset($a_rest_call[mediamosa_rest_call::DEFAULT_PARAMS_VALUES]) ? $a_rest_call[mediamosa_rest_call::DEFAULT_PARAMS_VALUES] : array());
}
// Set as uri values, so we dont fail checks.
if (isset($rest_calls[$uri][$method][mediamosa_rest_call::DEFAULT_PARAMS_VALUES])) {
foreach ($rest_calls[$uri][$method][mediamosa_rest_call::DEFAULT_PARAMS_VALUES] as $param => $value) {
$rest_call->{mediamosa_rest_call::URI_PARAMS}[$param] = $value;
}
}
// Turn off so we can call the get_var_setup without problems.
// Although get_var_setup should not test variables.
$rest_call->set_check_for_unspecified(FALSE);
// Get the var setup for this call.
$var_setup = $rest_call->get_var_setup();
// Setup the title with the REST call URI.
drupal_set_title(
t('Viewing details rest call URI @uri, method [@method]',
array(
'@uri' => '/' . $uri,
'@method' => $method
)
)
);
$warnings = array();
if ($rest_call->access >= mediamosa_rest_call::ACCESS_AUTHENTICATED && ($rest_call->access & mediamosa_rest_call::ACCESS_EXTERNAL) != mediamosa_rest_call::ACCESS_EXTERNAL) {
if (!isset($var_setup['vars']['app_id'])) {
$warnings[] = 'Check vars, missing app_id.';
}
}
// We dont want to show the app_id to the outside.
unset($var_setup['vars']['app_id']);
if ((isset($var_setup['vars']['is_app_admin'])) && ($var_setup['vars']['is_app_admin']['description'] == 'NOT USED.')) {
unset($var_setup['vars']['is_app_admin']);
}
$form = array();
$form['restcall_doc_template'] = array(
'#theme' => 'restcall_doc',
'#rest_call' => $rest_call,
'#var_setup' => $var_setup,
'#warnings' => $warnings,
);
return $form;
}
?>