home | career | drupal | java | mac | mysql | perl | php | scala | uml | unix

Drupal example source code file (openid.install)

This example Drupal source code file (openid.install) is included in the DevDaily.com "Drupal Source Code Warehouse" project. The intent of this project is to help you "Learn Drupal by Example".

PHP - Drupal tags/keywords

255, array, association, description, function, length, null, of, openid, php, the, type, varchar

The openid.install Drupal example source code

<?php
// $Id: openid.install,v 1.3.2.2 2010/08/11 20:35:48 goba Exp $

/**
 * Implementation of hook_install().
 */
function openid_install() {
  // Create table.
  drupal_install_schema('openid');
}

/**
 * Implementation of hook_uninstall().
 */
function openid_uninstall() {
  // Remove table.
  drupal_uninstall_schema('openid');
}

/**
 * Implementation of hook_schema().
 */
function openid_schema() {
  $schema['openid_association'] = array(
    'description' => 'Stores temporary shared key association information for OpenID authentication.',
    'fields' => array(
      'idp_endpoint_uri' => array(
        'type' => 'varchar',
        'length' => 255,
        'description' => 'URI of the OpenID Provider endpoint.',
      ),
      'assoc_handle' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'description' => 'Primary Key: Used to refer to this association in subsequent messages.',
      ),
      'assoc_type' => array(
        'type' => 'varchar',
        'length' => 32,
        'description' => 'The signature algorithm used: one of HMAC-SHA1 or HMAC-SHA256.',
      ),
      'session_type' => array(
        'type' => 'varchar',
        'length' => 32,
        'description' => 'Valid association session types: "no-encryption", "DH-SHA1", and "DH-SHA256".',
      ),
      'mac_key' => array(
        'type' => 'varchar',
        'length' => 255,
        'description' => 'The MAC key (shared secret) for this association.',
      ),
      'created' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'description' => 'UNIX timestamp for when the association was created.',
      ),
      'expires_in' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'description' => 'The lifetime, in seconds, of this association.',
      ),
    ),
    'primary key' => array('assoc_handle'),
  );

  $schema['openid_nonce'] = array(
    'description' => 'Stores received openid.response_nonce per OpenID endpoint URL to prevent replay attacks.',
    'fields' => array(
      'idp_endpoint_uri' => array(
        'type' => 'varchar',
        'length' => 255,
        'description' => 'URI of the OpenID Provider endpoint.',
      ),
      'nonce' => array(
        'type' => 'varchar',
        'length' => 255,
        'description' => 'The value of openid.response_nonce'
      ),
      'expires' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'description' => 'A Unix timestamp indicating when the entry should expire.',
      ),
    ),
    'indexes' => array(
      'nonce' => array('nonce'),
      'expires' => array('expires'),
    ),
  );

  return $schema;
}

/**
 * @defgroup updates-6.x-extra Extra openid updates for 6.x
 * @{
 */

/**
 * Add the openid_nonce table.
 *
 * Implementation of hook_update_N().
 */
function openid_update_6000() {
  $ret = array();

  $schema['openid_nonce'] = array(
    'description' => 'Stores received openid.response_nonce per OpenID endpoint URL to prevent replay attacks.',
    'fields' => array(
      'idp_endpoint_uri' => array(
        'type' => 'varchar',
        'length' => 255,
        'description' => 'URI of the OpenID Provider endpoint.',
      ),
      'nonce' => array(
        'type' => 'varchar',
        'length' => 255,
        'description' => 'The value of openid.response_nonce'
      ),
      'expires' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'description' => 'A Unix timestamp indicating when the entry should expire.',
      ),
    ),
    'indexes' => array(
      'nonce' => array('nonce'),
      'expires' => array('expires'),
    ),
  );

  db_create_table($ret, 'openid_nonce', $schema['openid_nonce']);

  return $ret;
}

/**
 * @} End of "defgroup updates-6.x-extra"
 * The next series of updates should start at 7000.
 */

Other Drupal examples (source code examples)

Here is a short list of links related to this Drupal openid.install source code file:

new blog posts

"Drupal" is a registered trademark of Dries Buytaert.

my drupal tutorials and examples  

Copyright 1998-2016 Alvin Alexander, alvinalexander.com
All Rights Reserved.

Beginning in 2016, a portion of the proceeds from pages under the '/drupal-code-examples/' URI will be donated to charity.