You are here

function signup_schema in Signup 7

Same name and namespace in other branches
  1. 6.2 signup.install \signup_schema()
  2. 6 signup.install \signup_schema()

Implementation of hook_schema().

File

./signup.install, line 5

Code

function signup_schema() {
  $schema['signup'] = array(
    'description' => 'Signup module per-node settings.',
    'fields' => array(
      'nid' => array(
        'description' => 'Primary key: node ID',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'forwarding_email' => array(
        'description' => 'Email address to send signup notifications to.',
        'type' => 'varchar',
        'length' => 64,
        'not null' => TRUE,
        'default' => '',
      ),
      'send_confirmation' => array(
        'description' => 'Boolean indicating whether confirmation emails should be sent.',
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
      ),
      'confirmation_email' => array(
        'description' => 'Email template to send to users when they signup.',
        'type' => 'text',
        'size' => 'big',
        'not null' => TRUE,
      ),
      'send_reminder' => array(
        'description' => 'Boolean indicating whether reminder emails should be sent. This is set to 0 once the reminders are sent.',
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
      ),
      'reminder_days_before' => array(
        'description' => 'Number of days before the start of a time-based node when the reminder emails should be sent.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'reminder_email' => array(
        'description' => 'Email template to send to users to remind them about a signup.',
        'type' => 'text',
        'size' => 'big',
        'not null' => TRUE,
      ),
      'close_in_advance_time' => array(
        'description' => 'Number of hours before the start of a time-based node when signups should automatically be closed. This column is not currently used and the behavior is controlled by a site-wide setting.  See http://drupal.org/node/290249 for more information.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'close_signup_limit' => array(
        'description' => 'Maximum number of users who can signup before signups are closed. If set to 0, there is no limit.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'status' => array(
        'description' => 'Boolean indicating if signups are open (1) or closed (0) for the given node',
        'type' => 'int',
        'not null' => TRUE,
        'default' => 1,
      ),
      'user_reg_form' => array(
        'description' => 'Boolean indicating if users can sign up for this event from the user registration form.',
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
      ),
    ),
    'primary key' => array(
      'nid',
    ),
  );
  $schema['signup_log'] = array(
    'description' => 'Records information for each user who signs up for a node.',
    'fields' => array(
      'sid' => array(
        'description' => 'Primary key: signup ID',
        'type' => 'serial',
        'size' => 'normal',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'uid' => array(
        'description' => 'Key: the user ID of the user who signed up.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'nid' => array(
        'description' => 'Key: the node ID of the node the user signed up for.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'anon_mail' => array(
        'description' => 'The email address for an anonymous user who signed up, or an empty string for authenticated users.',
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
      ),
      'signup_time' => array(
        'description' => 'Integer timestamp of when the user signed up for the node.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'form_data' => array(
        'description' => 'Serialized string of additional signup form values.  See theme_signup_user_form() from theme/signup.theme for more information.',
        'type' => 'text',
        'size' => 'big',
        'not null' => TRUE,
      ),
      'attended' => array(
        'description' => 'Did this user actually attend the node they signed up for?',
        'type' => 'int',
        'size' => 'tiny',
      ),
      'count_towards_limit' => array(
        'description' => 'How many slots (if any) this signup should use towards the total signup limit for this node',
        'type' => 'int',
        'not null' => TRUE,
        'default' => 1,
      ),
    ),
    'primary key' => array(
      'sid',
    ),
    'indexes' => array(
      'uid' => array(
        'uid',
      ),
      'nid' => array(
        'nid',
      ),
    ),
  );
  return $schema;
}