function _agreement_extract_values_to_type in Agreement 7.2
Extract form values into an agreement type.
Parameters
array $values: Form state values.
Return value
array An agreement type array.
1 call to _agreement_extract_values_to_type()
- agreement_settings_form_submit in ./
agreement.admin.inc - Agreement settings form submit callback.
File
- ./
agreement.admin.inc, line 409 - Agreement administration page callback.
Code
function _agreement_extract_values_to_type($values) {
$keys = array(
'settings',
'name',
'type',
'path',
'agreement',
);
$role_values = isset($values['settings']['role']) ? $values['settings']['role'] : array();
$values['settings']['role'] = array();
foreach ($role_values as $key => $value) {
if ($value) {
$values['settings']['role'][] = $key;
}
}
$info = drupal_map_assoc($keys, function ($key) use ($values) {
if (isset($values[$key])) {
if ($key === 'agreement') {
return $values[$key]['value'];
}
return $values[$key];
}
return NULL;
});
$info['settings']['format'] = $values['agreement']['format'];
// Enforce data types on options values.
$options_keys = array(
'frequency',
'visibility_settings',
);
foreach ($options_keys as $option) {
$info['settings'][$option] = (int) $info['settings'][$option];
}
return $info;
}