You are here

function values_import_form_submit in Values 6

Same name and namespace in other branches
  1. 7 values.module \values_import_form_submit()

Submit function for value list import.

File

./values.module, line 563
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 = !isset($form_state['values']['name']) ? values_machine_name($form_state['values']['description']) : $form_state['values']['name'];
    $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]['value'] = $matches[1];
        $value_set->data[$position]['label'] = $matches[2];
      }
    }
  }
  else {
    $code = $form_state['values']['import'] . "\nreturn \$value_set;";
    $value_set = eval($code);
  }
  values_save($value_set);
  $form_state['redirect'] = 'admin/content/values/' . $value_set->name;
}