You are here

function webform_protected_downloads_schema in Webform Protected Downloads 7

Same name and namespace in other branches
  1. 6 webform_protected_downloads.install \webform_protected_downloads_schema()

Implementation of hook_schema().

File

./webform_protected_downloads.install, line 8

Code

function webform_protected_downloads_schema() {
  $schema = array();
  $schema['wpd_access_hashes'] = array(
    'fields' => array(
      'sid' => array(
        'description' => 'The submission identifier',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'hash' => array(
        'type' => 'varchar',
        'length' => 32,
        'not null' => TRUE,
        'default' => '',
        'description' => 'Hash to identify this submission if needed',
      ),
      'processed' => array(
        'description' => 'The timestamp when the submission has been processed',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'expires' => array(
        'description' => 'The timestamp when the download expires',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'used' => array(
        'description' => 'The timestamp when the hash has been last used',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
    ),
    'primary key' => array(
      'sid',
    ),
  );
  $schema['wpd_protected_files'] = array(
    'fields' => array(
      'nid' => array(
        'description' => 'The node id of the protected webform',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'fid' => array(
        'description' => 'The file id that is protected',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'created' => array(
        'description' => 'The timestamp when the file has been protected',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
    ),
    'primary key' => array(
      'nid',
      'fid',
    ),
  );
  $schema['wpd_node_configuration'] = array(
    'fields' => array(
      'nid' => array(
        'description' => 'The node id of the protected webform',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'mail_field_cid' => array(
        'description' => 'The component id of the webform that is used as mail adress to confirm the download',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'mail_from' => array(
        'description' => 'The from address for the confimation mail',
        'type' => 'varchar',
        'length' => 255,
      ),
      'mail_subject' => array(
        'description' => 'The subject for the confimation mail',
        'type' => 'varchar',
        'length' => 255,
      ),
      'mail_body' => array(
        'description' => 'The body text for the confimation mail',
        'type' => 'text',
      ),
      'text_download_access' => array(
        'description' => 'The text for the download page, above the file listing',
        'type' => 'text',
      ),
      'text_download_access_format' => array(
        'description' => 'The input format used for the text, above the file listing',
        'type' => 'varchar',
        'length' => '255',
        'not null' => TRUE,
        'default' => '',
      ),
      'text_download_noaccess' => array(
        'description' => 'The text for the download page, if access can not be granted',
        'type' => 'text',
      ),
      'text_download_noaccess_format' => array(
        'description' => 'The input format used for the text, if access can not be granted',
        'type' => 'varchar',
        'length' => '255',
        'not null' => TRUE,
        'default' => '',
      ),
      'access_type' => array(
        'description' => 'The type of access, either 0 for one-time or 1 for repeated',
        'type' => 'int',
        'size' => 'tiny',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 1,
      ),
      'expiration_download' => array(
        'description' => 'The timestamp when the download expires',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'expiration_session' => array(
        'description' => 'The timestamp when the session expires',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'retroactive' => array(
        'description' => 'The timestamp when the session expires',
        'type' => 'int',
        'size' => 'tiny',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 1,
      ),
      'redirect' => array(
        'description' => 'Whether the user should be redirected to the downloads page after form submission',
        'type' => 'int',
        'size' => 'tiny',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
    ),
    'primary key' => array(
      'nid',
    ),
  );
  return $schema;
}