You are here

function user_import_edit_form_validate in User Import 5

Same name and namespace in other branches
  1. 5.2 user_import.module \user_import_edit_form_validate()

File

./user_import.module, line 470
Import users from a comma separated file (csv).

Code

function user_import_edit_form_validate($form_id, $form_values) {
  switch ($form_values['op']) {
    case t('Remove file'):
      $settings = _user_import_settings_select($form_values['import_id']);
      _user_import_settings_deletion($form_values['import_id']);
      _user_import_file_deletion($settings['filepath'], $settings['filename'], $settings['oldfilename'], $settings['options']['ftp']);
      drupal_goto('admin/user/user_import/add');
      break;
    case t('Cancel'):

      // if import was being added - delete file
      if ($form_values['setting'] == 'file set') {
        $settings = _user_import_settings_select($form_values['import_id']);
        _user_import_settings_deletion($form_values['import_id']);
        _user_import_file_deletion($settings['filepath'], $settings['filename'], $settings['oldfilename'], $settings['options']['ftp']);
      }
      drupal_goto('admin/user/user_import');
      break;

    // save settings
    case t('Save As New'):
      $template_name = trim($form_values['new_name']);
    case t('Save'):
      if (empty($template_name)) {
        $template_name = trim($form_values['name']);
      }
      if (empty($template_name)) {
        form_set_error('name', t('A name needs to be set to save this settings template.'));
      }

      // check settings template name is unique
      $unique_name = db_result(db_query("SELECT COUNT(import_id) FROM {user_import} WHERE name = '%s'", $template_name));
      if (!empty($unique_name)) {
        form_set_error('name', t("'!name' is already in use by another settings template.", array(
          '!name' => $template_name,
        )));
      }
    case t('Test'):
    case t('Import'):
    default:
      $fields = array();
      while (list($row, $values) = each($form_values['field_match'])) {

        // check each field is unique
        if ($values['field_match'] != '0' && $values['field_match'] != '-------------' && in_array($values['field_match'], $fields)) {
          form_set_error('field_match', t('Database fields can only be matched to one column of the csv file.'));
        }
        $fields[$values['field_match']] = $values['field_match'];

        // check email address has been selected
        if ($values['field_match'] == 'user-email') {
          $email = TRUE;
        }
      }
      if (!$email) {
        form_set_error('email', t('One column of the csv file must be set as the email address.'));
      }
      if ($form_values['name']) {
        $form_values['name'] = rtrim($form_values['name']);
        if (drupal_strlen($form_values['name']) < 1 || drupal_strlen($form_values['name']) > 25) {
          form_set_error('name', t('Name of saved settings must be 25 characters or less.'));
        }
      }
      break;
  }
  return;
}