109 lines
3.3 KiB
Plaintext
109 lines
3.3 KiB
Plaintext
<?php
|
|
// $Id$
|
|
|
|
/**
|
|
* Implementation of hook_schema().
|
|
*/
|
|
function filter_schema() {
|
|
$schema['filters'] = array(
|
|
'description' => t('Table that maps filters (HTML corrector) to input formats (Filtered HTML).'),
|
|
'fields' => array(
|
|
'fid' => array(
|
|
'type' => 'serial',
|
|
'not null' => TRUE,
|
|
'description' => t('Primary Key: Auto-incrementing filter ID.'),
|
|
),
|
|
'format' => array(
|
|
'type' => 'int',
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
'description' => t('Foreign key: The {filter_formats}.format to which this filter is assigned.'),
|
|
),
|
|
'module' => array(
|
|
'type' => 'varchar',
|
|
'length' => 64,
|
|
'not null' => TRUE,
|
|
'default' => '',
|
|
'description' => t('The origin module of the filter.'),
|
|
),
|
|
'delta' => array(
|
|
'type' => 'int',
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
'size' => 'tiny',
|
|
'description' => t('ID to identify which filter within module is being referenced.'),
|
|
),
|
|
'weight' => array(
|
|
'type' => 'int',
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
'size' => 'tiny',
|
|
'description' => t('Weight of filter within format.'),
|
|
)
|
|
),
|
|
'primary key' => array('fid'),
|
|
'unique keys' => array(
|
|
'fmd' => array('format', 'module', 'delta'),
|
|
),
|
|
'indexes' => array(
|
|
'list' => array('format', 'weight', 'module', 'delta'),
|
|
),
|
|
);
|
|
$schema['filter_formats'] = array(
|
|
'description' => t('Stores input formats: custom groupings of filters, such as Filtered HTML.'),
|
|
'fields' => array(
|
|
'format' => array(
|
|
'type' => 'serial',
|
|
'not null' => TRUE,
|
|
'description' => t('Primary Key: Unique ID for format.'),
|
|
),
|
|
'name' => array(
|
|
'type' => 'varchar',
|
|
'length' => 255,
|
|
'not null' => TRUE,
|
|
'default' => '',
|
|
'description' => t('Name of the input format (Filtered HTML).'),
|
|
),
|
|
'roles' => array(
|
|
'type' => 'varchar',
|
|
'length' => 255,
|
|
'not null' => TRUE,
|
|
'default' => '',
|
|
'description' => t('A comma-separated string of roles; references {role}.rid.'), // This is bad since you can't use joins, nor index.
|
|
),
|
|
'cache' => array(
|
|
'type' => 'int',
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
'size' => 'tiny',
|
|
'description' => t('Flag to indicate whether format is cachable. (1 = cachable, 0 = not cachable)'),
|
|
),
|
|
'weight' => array(
|
|
'type' => 'int',
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
'size' => 'tiny',
|
|
'description' => t('Weight of input format to use when listing.'),
|
|
)
|
|
),
|
|
'primary key' => array('format'),
|
|
'unique keys' => array(
|
|
'name' => array('name'),
|
|
),
|
|
);
|
|
|
|
$schema['cache_filter'] = drupal_get_schema_unprocessed('system', 'cache');
|
|
$schema['cache_filter']['description'] = t('Cache table for the Filter module to store already filtered pieces of text, identified by input format and md5 hash of the text.');
|
|
|
|
return $schema;
|
|
}
|
|
|
|
/**
|
|
* Add a weight column to the filter formats table.
|
|
*/
|
|
function filter_update_7000() {
|
|
$ret = array();
|
|
db_add_field($ret, 'filter_formats', 'weight', array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'));
|
|
return $ret;
|
|
}
|