template_preprocess_restcall_doc(&$variables)Process variables for restcall-doc.tpl.php.
sites/all/modules/mediamosa/maintenance/browse/mediamosa_maintenance_browse_restcalls.inc, line 232
<?php
function template_preprocess_restcall_doc(&$variables) {
$rest_call = $variables['rest_call'];
$var_setup = $variables['var_setup'];
$variables['rest_call']->request_authorization = t('This call can be called without any authentication.');
if ($rest_call->access >= mediamosa_rest_call::ACCESS_AUTHENTICATED && empty($rest_call->{mediamosa_rest_call::BEHAVE_AS_EXTERNAL})) {
$variables['rest_call']->request_authorization = t('This call needs EGA authentication.');
}
$header = array(
array('data' => t('Parameter')),
array('data' => t('Type')),
array('data' => t('Description')),
array('data' => t('Required')),
array('data' => t('Default value')),
array('data' => t('Max. length')),
);
// Sort on param.
ksort($var_setup[mediamosa_rest_call::VARS]);
$form = $rows = array();
if (!isset($var_setup[mediamosa_rest_call::VARS])) {
$var_setup[mediamosa_rest_call::VARS] = array();
}
// First required.
foreach ($var_setup[mediamosa_rest_call::VARS] as $param => $item) {
if (isset($item[mediamosa_rest_call::VAR_IS_REQUIRED]) && $item[mediamosa_rest_call::VAR_IS_REQUIRED] == mediamosa_rest_call::VAR_IS_REQUIRED_YES) {
$is_array = isset($item[mediamosa_rest_call::VAR_IS_ARRAY]) && $item[mediamosa_rest_call::VAR_IS_ARRAY] == mediamosa_rest_call::VAR_IS_ARRAY_YES ? '[]' : '';
// Get allowed values.
$allowed_values = !empty($item[mediamosa_rest_call::VAR_ALLOWED_VALUES]) ? $item[mediamosa_rest_call::VAR_ALLOWED_VALUES] : array();
$rows[] = array(
$param . $is_array,
mediamosa_type::typeAlias2Type($item[mediamosa_rest_call::VAR_TYPE]),
(isset($item[mediamosa_rest_call::VAR_DESCRIPTION]) ? $item[mediamosa_rest_call::VAR_DESCRIPTION] : '') . (!empty($allowed_values) ? '<br /><small>Value must be either "' . implode('" or "', $allowed_values) . '".' : ''),
t('Required'),
isset($item[mediamosa_rest_call::VAR_DEFAULT_VALUE]) ? $item[mediamosa_rest_call::VAR_DEFAULT_VALUE] : '',
'-',
);
}
}
// Not required.
foreach ($var_setup[mediamosa_rest_call::VARS] as $param => $item) {
if (!isset($item[mediamosa_rest_call::VAR_IS_REQUIRED]) || $item[mediamosa_rest_call::VAR_IS_REQUIRED] == mediamosa_rest_call::VAR_IS_REQUIRED_NO) {
$is_array = isset($item[mediamosa_rest_call::VAR_IS_ARRAY]) && $item[mediamosa_rest_call::VAR_IS_ARRAY] == mediamosa_rest_call::VAR_IS_ARRAY_YES ? '[]' : '';
// Get allowed values.
$allowed_values = !empty($item[mediamosa_rest_call::VAR_ALLOWED_VALUES]) ? $item[mediamosa_rest_call::VAR_ALLOWED_VALUES] : array();
$rows[] = array(
$param . $is_array,
mediamosa_type::typeAlias2Type($item[mediamosa_rest_call::VAR_TYPE]),
(isset($item[mediamosa_rest_call::VAR_DESCRIPTION]) ? $item[mediamosa_rest_call::VAR_DESCRIPTION] : '') . (!empty($allowed_values) ? '<br /><small>Value (when supplied) must be either "' . implode('" or "', $allowed_values) . '".' : ''),
t('Optional'),
isset($item[mediamosa_rest_call::VAR_DEFAULT_VALUE]) ? $item[mediamosa_rest_call::VAR_DEFAULT_VALUE] : '',
'-',
);
}
}
// Parameter list.
$variables['parameters'] = theme(
'table',
array(
'header' => $header,
'rows' => $rows,
'empty' => t('This REST call has no input parameters.'),
)
);
// Response fields.
$header = array(
array('data' => t('Field')),
array('data' => t('Description')),
);
if (!empty($rest_call->response_fields)) {
$rows = array();
foreach ($rest_call->response_fields as $key => $value) {
$rows[] = array($key, $value);
}
// Hide table when response fields is empty.
if (!empty($rows)) {
$variables['response_fields'] = theme(
'table',
array(
'header' => $header,
'rows' => $rows,
'empty' => t('No response fields found.')
)
);
}
}
elseif ($rest_call->response_fields === FALSE) {
$variables['response_fields'] = t('This REST call does not have any response fields and will always return empty items array');
}
if (empty($variables['rest_call']->example_request)) {
$variables['warnings'][] = t('No example request specified.');
}
if ($variables['rest_call']->example_response === FALSE) {
if ($rest_call->{mediamosa_rest_call::METHOD} == mediamosa_rest_call::METHOD_GET) {
$variables['rest_call']->example_response = t('This REST call does not generate a items response, check the result ID instead. Will return 601 (OK) or 705 (empty result) as success.');
}
else {
$variables['rest_call']->example_response = t('This REST call does not generate a items response, check the result ID instead. Will return 601 (OK) as success.');
}
}
if (empty($variables['rest_call']->example_response)) {
$variables['warnings'][] = t('No example response specified.');
}
}
?>