function webform_schema in Webform 6.2
Same name and namespace in other branches
- 8.5 webform.install \webform_schema()
- 6.3 webform.install \webform_schema()
- 7.4 webform.install \webform_schema()
- 7.3 webform.install \webform_schema()
- 6.x webform.install \webform_schema()
Implementation of hook_schema().
File
- ./
webform.install, line 11 - Webform module install/schema hooks.
Code
function webform_schema() {
$schema = array();
$schema['webform'] = array(
'description' => 'Table for storing additional properties for webform nodes.',
'fields' => array(
'nid' => array(
'description' => 'The node identifier of a webform',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
),
'confirmation' => array(
'description' => 'The confirmation message or URL displayed to the user after submitting a form.',
'type' => 'text',
'not null' => TRUE,
),
'teaser' => array(
'description' => 'Boolean value for whether the entire form should be displayed on the teaser.',
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'default' => 0,
),
'submit_text' => array(
'description' => 'The title of the submit button on the form.',
'type' => 'varchar',
'length' => 255,
),
'submit_limit' => array(
'description' => 'The number of submissions a single user is allowed to submit within an interval. -1 is unlimited.',
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'default' => -1,
),
'submit_interval' => array(
'description' => 'The amount of time in seconds that must pass before a user can submit another submission within the set limit.',
'type' => 'int',
'not null' => TRUE,
'default' => -1,
),
'email' => array(
'description' => 'The primary e-mail address for receiving submission results.',
'type' => 'varchar',
'length' => 255,
),
'email_from_name' => array(
'description' => 'The name of the sender in sent submission e-mails.',
'type' => 'varchar',
'length' => 255,
),
'email_from_address' => array(
'description' => 'The address of the sender in sent submission e-mails.',
'type' => 'varchar',
'length' => 255,
),
'email_subject' => array(
'description' => 'The subject of sent submission e-mails',
'type' => 'varchar',
'length' => 255,
),
'additional_validate' => array(
'description' => 'PHP code for additional functionality when validating a form.',
'type' => 'text',
'not null' => TRUE,
),
'additional_submit' => array(
'description' => 'PHP code for additional functionality when submitting a form.',
'type' => 'text',
'not null' => TRUE,
),
),
'primary key' => array(
'nid',
),
);
$schema['webform_component'] = array(
'description' => 'Stores information about components for webform nodes.',
'fields' => array(
'nid' => array(
'description' => 'The node identifier of a webform',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'cid' => array(
'description' => 'The identifier for this component within this node, starts at 0 for each node.',
'type' => 'int',
'size' => 'small',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'pid' => array(
'description' => 'If this component has a parent fieldset, the cid of that component.',
'type' => 'int',
'size' => 'small',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'form_key' => array(
'description' => 'When the form is displayed and processed, this key can be used to reference the results.',
'type' => 'varchar',
'length' => 128,
),
'name' => array(
'description' => 'The label for this component.',
'type' => 'varchar',
'length' => 255,
),
'type' => array(
'description' => 'The field type of this component (textfield, select, hidden, etc.).',
'type' => 'varchar',
'length' => 16,
),
'value' => array(
'description' => 'The default value of the component when displayed to the end-user.',
'type' => 'text',
'not null' => TRUE,
),
'extra' => array(
'description' => 'Additional information unique to the display or processing of this component.',
'type' => 'text',
'not null' => TRUE,
),
'mandatory' => array(
'description' => 'Boolean flag for if this component is required.',
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'default' => 0,
),
'email' => array(
'description' => 'Boolean flag for if submitted values for this component will be included in sent e-mails.',
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'default' => 0,
),
'weight' => array(
'description' => 'Determines the position of this component in the form.',
'type' => 'int',
'size' => 'small',
'not null' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'nid',
'cid',
),
);
$schema['webform_roles'] = array(
'description' => 'Holds access information regarding which roles are allowed to submit which webform nodes. Does not prevent access to the webform node entirely, use the {node_access} table for that purpose.',
'fields' => array(
'nid' => array(
'description' => 'The node identifier of a webform.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'rid' => array(
'description' => 'The role identifier.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'nid',
'rid',
),
);
$schema['webform_submissions'] = array(
'description' => 'Holds general information about submissions outside of field values.',
'fields' => array(
'sid' => array(
'description' => 'The unique identifier for this submission.',
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
),
'nid' => array(
'description' => 'The node identifier of a webform',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'uid' => array(
'description' => 'The id of the user that completed this submission.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'submitted' => array(
'description' => 'Timestamp of when the form was submitted.',
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'remote_addr' => array(
'description' => 'The IP address of the user that submitted the form.',
'type' => 'varchar',
'length' => 128,
),
),
'unique keys' => array(
'sid_nid' => array(
'sid',
'nid',
),
),
'primary key' => array(
'sid',
),
);
$schema['webform_submitted_data'] = array(
'description' => 'Stores all submitted field data for webform submissions.',
'fields' => array(
'nid' => array(
'description' => 'The node identifier of a webform',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'sid' => array(
'description' => 'The unique identifier for this submission.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'cid' => array(
'description' => 'The identifier for this component within this node, starts at 0 for each node.',
'type' => 'int',
'size' => 'small',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'no' => array(
'description' => 'Usually this value is 0, but if a field has multiple values (such as a time or date), it may require multiple rows in the database.',
'type' => 'int',
'size' => 'tiny',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'data' => array(
'description' => 'The submitted value of this field, may be serialized for some components.',
'type' => 'text',
'size' => 'medium',
'not null' => TRUE,
),
),
'indexes' => array(
'nid' => array(
'nid',
),
'sid_nid' => array(
'sid',
'nid',
),
),
'primary key' => array(
'nid',
'sid',
'cid',
'no',
),
);
return $schema;
}