You are here

user_import.install in User Import 7.3

Import and update users from a comma separated file (csv).

File

user_import.install
View source
<?php

/**
 * @file
 * Import and update users from a comma separated file (csv).
 */

/**
 * Implementation of hook_schema().
 */
function user_import_schema() {
  $schema['user_import'] = array(
    'description' => t("Settings for each import, and import setting templates."),
    'fields' => array(
      'import_id' => array(
        'description' => t("ID key of import or template."),
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'disp-width' => '10',
      ),
      'name' => array(
        'description' => t("Label of import template, only used if this is an import template."),
        'type' => 'varchar',
        'length' => '25',
        'not null' => TRUE,
        'default' => '',
      ),
      'auto_import_directory' => array(
        'description' => t("Name of directory associated with an import template."),
        'type' => 'varchar',
        'length' => '255',
        'not null' => TRUE,
        'default' => '',
      ),
      'filename' => array(
        'description' => t("Name of file being used as source of data for import."),
        'type' => 'varchar',
        'length' => '50',
        'not null' => TRUE,
        'default' => '',
      ),
      'oldfilename' => array(
        'description' => t("Original name of file being used as source of data for import."),
        'type' => 'varchar',
        'length' => '50',
        'not null' => TRUE,
        'default' => '',
      ),
      'filepath' => array(
        'description' => t("Path to file being used as source of data for import."),
        'type' => 'text',
        'size' => 'small',
        'not null' => TRUE,
      ),
      'started' => array(
        'description' => t("Datestamp of when import was started."),
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'disp-width' => '11',
      ),
      'pointer' => array(
        'description' => t("Pointer to where test/import last finished."),
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'disp-width' => '10',
      ),
      'processed' => array(
        'description' => t("Number of users processed by import."),
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'disp-width' => '10',
      ),
      'valid' => array(
        'description' => t("Number of users processed without errors."),
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'disp-width' => '10',
      ),
      'field_match' => array(
        'description' => t("Settings for how data matches to Drupal fields."),
        'type' => 'text',
        'size' => 'big',
        'not null' => TRUE,
        'serialize' => TRUE,
      ),
      'roles' => array(
        'description' => t("Roles to give imported users."),
        'type' => 'text',
        'size' => 'big',
        'not null' => TRUE,
        'serialize' => TRUE,
      ),
      'options' => array(
        'description' => t("Store of all other options for import. Most of the other settings in this table will be moved into here in future."),
        'type' => 'text',
        'size' => 'big',
        'not null' => TRUE,
        'serialize' => TRUE,
      ),
      'setting' => array(
        'description' => t("Status of import, or whether it is an import template."),
        'type' => 'varchar',
        'length' => '10',
        'not null' => TRUE,
        'default' => '',
      ),
    ),
    'primary key' => array(
      'import_id',
    ),
  );
  $schema['user_import_errors'] = array(
    'description' => t("Record of errors encountered during an import."),
    'fields' => array(
      'import_id' => array(
        'description' => t("ID key of import or template."),
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'disp-width' => '10',
      ),
      'data' => array(
        'description' => t("Data (matched to fields) for user that failed to import due to error."),
        'type' => 'text',
        'size' => 'big',
        'not null' => TRUE,
        'serialize' => TRUE,
      ),
      'errors' => array(
        'description' => t("Error(s) encountered for user that failed to import."),
        'type' => 'text',
        'size' => 'big',
        'not null' => TRUE,
        'serialize' => TRUE,
      ),
    ),
    'indexes' => array(
      'import_id' => array(
        'import_id',
      ),
    ),
  );
  return $schema;
}

/**
 * Implementation of hook_install().
 */
function user_import_install() {

  // Add a new mail system for HTML emails.
  $mail_system = variable_get('mail_system', array(
    'default-system' => 'DefaultMailSystem',
  ));
  $mail_system['user_import'] = 'UserImportMailSystem';
  variable_set('mail_system', $mail_system);
}

/**
 * Implementation of hook_uninstall().
 */
function user_import_uninstall() {
  variable_del('user_import_settings');
  variable_del('user_import_max');
  variable_del('user_import_line_max');
  variable_del('user_import_delimiter');
  variable_del('user_import_encoding');
  variable_del('user_import_nomail');

  //
  $mail_system = variable_get('mail_system', array(
    'default-system' => 'DefaultMailSystem',
  ));
  unset($mail_system['user_import']);
  variable_set('mail_system', $mail_system);
}

/**
 *  Add database field to store the name of a directory associated with an import template.
 *
 **/
function user_import_update_7200(&$sandbox) {
  $field = array(
    'description' => t("Name of directory associated with an import template."),
    'type' => 'varchar',
    'length' => '255',
    'not null' => TRUE,
    'default' => '',
  );
  db_add_field('user_import', 'auto_import_directory', $field);
}

/**
 * Add a new mail system for HTML emails.
 */
function user_import_update_7201() {
  $ret = array();
  $mail_system = variable_get('mail_system', array(
    'default-system' => 'DefaultMailSystem',
  ));
  $mail_system['user_import'] = 'UserImportMailSystem';
  variable_set('mail_system', $mail_system);
  return $ret;
}

Functions

Namesort descending Description
user_import_install Implementation of hook_install().
user_import_schema Implementation of hook_schema().
user_import_uninstall Implementation of hook_uninstall().
user_import_update_7200 Add database field to store the name of a directory associated with an import template.
user_import_update_7201 Add a new mail system for HTML emails.