You are here

security_review.install in Security Review 7

Same filename and directory in other branches
  1. 8 security_review.install
  2. 6 security_review.install

Install, update and uninstall functions for the security_review module.

File

security_review.install
View source
<?php

/**
 * @file
 * Install, update and uninstall functions for the security_review module.
 *
 */

/**
 * Implements hook_enable().
 */
function security_review_enable() {
  drupal_set_message(t('Security Review module enabled. You should first set the module access permissions at !link. Be sure to grant permissions to trusted users only as this module can show sensitive site information.', array(
    '!link' => l('admin/people/permissions', 'admin/people/permissions'),
  )));
}

/**
 * Implements hook_schema().
 */
function security_review_schema() {
  $schema['security_review'] = array(
    'fields' => array(
      'namespace' => array(
        'type' => 'varchar',
        'length' => 160,
        'not null' => TRUE,
        'default' => '',
      ),
      'reviewcheck' => array(
        'type' => 'varchar',
        'length' => 160,
        'not null' => TRUE,
        'default' => '',
      ),
      'result' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
      ),
      'lastrun' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
      ),
      'skip' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
      ),
      'skiptime' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
      ),
      'skipuid' => array(
        'type' => 'int',
        'default' => NULL,
      ),
    ),
    'primary key' => array(
      'namespace',
      'reviewcheck',
    ),
  );
  return $schema;
}

/**
 * Implements hook_uninstall().
 */
function security_review_uninstall() {
  variable_del('security_review_untrusted_roles');
  variable_del('security_review_log');
  variable_del('security_review_last_run');
}

/**
 * Empty Security Review check result table for a fresh start on Drupal 7.
 */
function security_review_update_7000(&$sandbox) {
  db_truncate('security_review')
    ->execute();
  return t('Security Review table truncated.');
}

/**
 * Implements hook_requirements().
 */
function security_review_requirements($phase) {
  $requirements = array();
  switch ($phase) {
    case 'runtime':
      $failed_checks = FALSE;
      $checks = security_review_get_stored_results();
      foreach ($checks as $check) {
        if ($check['result'] === FALSE && !$check['skip']) {
          $failed_checks = TRUE;
          break;
        }
      }
      $url = url('admin/reports/security-review');
      if (empty($checks)) {
        $severity = REQUIREMENT_WARNING;
        $value = t('The Security Review checklist has not been run. <a href="!url">Run the checklist</a>', array(
          '!url' => $url,
        ));
      }
      elseif ($failed_checks) {
        $severity = REQUIREMENT_WARNING;
        $value = t('There are failed Security Review checks. <a href="!url">Review the checklist</a>', array(
          '!url' => $url,
        ));
      }
      else {
        $severity = REQUIREMENT_OK;
        $value = t('Passing all non-ignored Security Review checks. <a href="!url">Review the checklist</a>', array(
          '!url' => $url,
        ));
      }
      $requirements['security_review'] = array(
        'title' => t('Security Review'),
        'severity' => $severity,
        'value' => $value,
      );
      break;
  }
  return $requirements;
}

Functions

Namesort descending Description
security_review_enable Implements hook_enable().
security_review_requirements Implements hook_requirements().
security_review_schema Implements hook_schema().
security_review_uninstall Implements hook_uninstall().
security_review_update_7000 Empty Security Review check result table for a fresh start on Drupal 7.