You are here

function user_import_limited_errors in User Import 8

Same name and namespace in other branches
  1. 5.2 user_import.module \user_import_limited_errors()
  2. 5 user_import.module \user_import_limited_errors()
  3. 6.4 user_import.module \user_import_limited_errors()
  4. 6.2 user_import.module \user_import_limited_errors()
  5. 7.3 user_import.module \user_import_limited_errors()
  6. 7 user_import.module \user_import_limited_errors()
  7. 7.2 user_import.module \user_import_limited_errors()
1 string reference to 'user_import_limited_errors'
user_import_menu in ./user_import.module
Implementation of hook_menu().

File

./user_import.module, line 279
Import or update users with data from a comma separated file (csv).

Code

function user_import_limited_errors($import_id = NULL, $template_id = NULL) {
  if (empty($import_id) || !is_numeric($import_id)) {
    drupal_goto('user_import/' . $template_id);
  }
  $pager_id = 1;
  $max = 25;
  $import = _user_import_settings_select($import_id);
  $output = '';
  $total = db_query('SELECT count(data) FROM {user_import_errors} WHERE :import_id = %d', array(
    ':import_id' => $import['import_id'],
  ))
    ->fetchField();
  if (empty($total)) {
    $output .= theme('There were no import errors');
  }
  else {
    $header = array(
      array(
        'data' => t('ID'),
        'field' => 'import_id',
        'sort' => 'desc',
      ),
      array(
        'data' => t('Data'),
        'field' => 'data',
      ),
      array(
        'data' => t('Errors'),
        'field' => 'errors',
      ),
    );
    $query = db_select('user_import_errors')
      ->extend('PagerDefault')
      ->extend('TableSort');
    $query
      ->condition('import_id', $import['import_id'])
      ->limit($max)
      ->orderByHeader($header);
    $result = $query
      ->execute();
    foreach ($result as $line) {
      $file_lines[] = array(
        'data' => unserialize($line->data),
        'errors' => unserialize($line->errors),
      );
    }
    $output .= theme('user_import_errors_display', array(
      'import' => $import,
      'file_lines' => $file_lines,
      'total' => $total,
    ));
    $output .= theme('pager', array(
      'max' => $max,
      'pager_id' => $pager_id,
    ));
  }
  $output .= l(t('Return'), "user_import/{$template_id}/{$import_id}");
  return $output;
}