You are here

security_questions.install in Security Questions 6

Install file for security_questions.

File

security_questions.install
View source
<?php

/**
 * @file
 * Install file for security_questions.
 */

/**
 * Implements hook_schema().
 */
function security_questions_schema() {
  $schema = array();
  $schema['security_questions_answers'] = array(
    'description' => 'Contains users security question answers.',
    'fields' => array(
      'uid' => array(
        'description' => 'The user ID.',
        'type' => 'int',
        'not null' => TRUE,
      ),
      'security_question_id' => array(
        'description' => 'The security question ID',
        'type' => 'int',
      ),
      'user_answer' => array(
        'description' => 'The answer to the users question',
        'type' => 'varchar',
        'length' => '100',
      ),
    ),
    'primary key' => array(
      'uid',
      'security_question_id',
    ),
  );
  $schema['security_questions'] = array(
    'description' => 'Contains possible security questions',
    'fields' => array(
      'security_question_id' => array(
        'description' => 'The security question ID',
        'type' => 'serial',
      ),
      'security_question' => array(
        'description' => 'The text of the question',
        'type' => 'varchar',
        'length' => '500',
      ),
      'uid' => array(
        'description' => 'The user ID who created the question.',
        'type' => 'int',
        'not null' => TRUE,
        'default' => 1,
      ),
      'admin' => array(
        'description' => 'Admin created or not?.',
        'type' => 'int',
        'not null' => TRUE,
        'default' => 1,
      ),
    ),
    'primary key' => array(
      'security_question_id',
    ),
  );
  return $schema;
}

/**
 * Implements hook_install().
 */
function security_questions_install() {

  // Create tables
  drupal_install_schema('security_questions');

  // Upon install set default required questions to 3.
  variable_set('security_questions_number_required', 3);
  variable_set('security_questions_user_login', TRUE);

  // Also, set up default questions to demonstrate usage.
  db_query("INSERT INTO {security_questions} (security_question_id, security_question) \n            VALUES \n        (1, \"What is your mother's maiden name?\"), \n        (2, \"What was your highschool mascot?\"), \n        (3, \"What is your favorite hobby?\"),\n\t      (4, \"What was your childhood nickname?\"),\n\t      (5, \"What is the name of your favorite childhood friend?\"),\n\t      (6, \"What is your oldest sibling's middle name?\"),\n\t      (7, \"What is the middle name of your oldest child?\"),\n\t      (8, \"What was the last name of your third grade teacher?\"),\n\t      (9, \"In what city does your nearest sibling live?\")");
}

/**
 * Implements hook_uninstall().
 */
function security_questions_uninstall() {
  drupal_uninstall_schema('security_questions');
  variable_del('security_questions_number_required');
  variable_del('security_questions_user_questions');
  variable_del('security_questions_protection_mode');
  variable_del('security_questions_password_reset');
  variable_del('security_questions_user_login');
  variable_del('security_questions_cookie');
  variable_del('security_questions_cookie_expire');
}