function values_import_form_submit in Values 7
Same name and namespace in other branches
- 6 values.module \values_import_form_submit()
Submit function for value list import.
File
- ./
values.module, line 625 - API for managing reusable value sets.
Code
function values_import_form_submit(&$form, &$form_state) {
if ($form_state['values']['import_type'] == 'values') {
$value_set = new stdClass();
$value_set->name = $form_state['values']['name'];
$value_set->title = $form_state['values']['title'];
$value_set->description = $form_state['values']['description'];
// Process the key|value pairs
$list = explode("\n", $form_state['values']['values']);
$list = array_map('trim', $list);
$list = array_filter($list, 'strlen');
foreach ($list as $position => $text) {
$value_set->data[$position]['weight'] = $position;
// Check for an explicit key.
$matches = array();
if (preg_match('/(.*)\\|(.*)/', $text, $matches)) {
$value_set->data[$position]['key'] = $matches[1];
$value_set->data[$position]['value'] = $matches[2];
}
else {
$value_set->data[$position]['value'] = $text;
$value_set->data[$position]['key'] = values_machine_name($text);
}
}
}
else {
$code = $form_state['values']['import'] . "\nreturn \$values;";
$value_set = eval($code);
}
values_save($value_set);
$form_state['redirect'] = 'admin/structure/values/' . $value_set->name;
}