_mediamosa_build_form($form)sites/all/modules/mediamosa_development/mediamosa_development.admin.inc, line 441
<?php
function _mediamosa_build_form($form) {
if (empty($_SESSION['mediamosa_development_params']['rest_call'])) {
if (empty($_SESSION['mediamosa_development_params']['uri'])) {
return $form;
}
list($uri, $method) = explode('|', $_SESSION['mediamosa_development_params']['uri']);
// Find rest_call.
$_SESSION['mediamosa_development_params']['rest_call'] = mediamosa_rest::get_uri_definition($uri, $method);
if (empty($_SESSION['mediamosa_development_params']['rest_call'])) {
throw new mediamosa_exception_error(mediamosa_error::ERRORCODE_INVALID_REST_CALL, array('@rest_call' => $uri . ' '. $method));
}
}
$var_setup = mediamosa_rest::get_var_setup($_SESSION['mediamosa_development_params']['rest_call']);
// Clear them.
$required = $optional = array();
$skip = array('app_id');
// Sort vars on name.
ksort($var_setup['vars']);
// First the required.
$weight = 0;
foreach ($var_setup['vars'] as $name => $var) {
if (!isset($var[mediamosa_rest_call::VAR_IS_REQUIRED]) || $var[mediamosa_rest_call::VAR_IS_REQUIRED] == mediamosa_rest_call::VAR_IS_REQUIRED_NO) {
continue;
}
// Some need to be skipped.
if (in_array($name, $skip)) {
continue;
}
// Skip it when its not used. @todo remove
if ($name == mediamosa_rest_call::IS_APP_ADMIN && $var[mediamosa_rest_call::VAR_DESCRIPTION] == 'NOT USED.') {
continue;
}
$item = _build_param($name, $var, true);
if (!empty($item)) {
$item['#weight'] = $weight++;
$required['_' .$name] = $item; // prefix with '_' so we dont have problems with double names.
}
}
// Second the optional.
$weight = 0;
foreach ($var_setup['vars'] as $name => $var) {
if (isset($var[mediamosa_rest_call::VAR_IS_REQUIRED]) && $var[mediamosa_rest_call::VAR_IS_REQUIRED] == mediamosa_rest_call::VAR_IS_REQUIRED_YES) {
continue;
}
// Some need to be skipped.
if (in_array($name, $skip)) {
continue;
}
// Skip it when its not used. @todo remove
if ($name == mediamosa_rest_call::IS_APP_ADMIN && $var[mediamosa_rest_call::VAR_DESCRIPTION] == 'NOT USED.') {
continue;
}
$item = _build_param($name, $var, false);
if (!empty($item)) {
$item['#weight'] = $weight++;
$optional['_' . $name] = $item;
}
}
if (empty($required) && empty($optional)) {
$form['rest']['required'] = array('#markup' => '<p>' . t('No parameters for this REST call.') . '</p>');
}
else {
if (!empty($required)) {
$form['rest']['required'] = array(
'#type' => 'fieldset',
'#title' => t('Required parameters'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$form['rest']['required'] = isset($form['rest']['required']) ? array_merge($required, $form['rest']['required']) : $required;
}
else {
$form['rest']['required'] = array('#markup' => '<p>' . t('No required parameters.') . '</p>');
}
if (!empty($optional)) {
$form['rest']['optional'] = array(
'#type' => 'fieldset',
'#title' => t('Optional parameters'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['rest']['optional'] = array_merge($optional, $form['rest']['optional']);
}
}
return $form;
}
?>