1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
<?php
/**
* Implementation of hook_schema().
*/
function filter_schema() {
$schema['filters'] = array(
'description' => 'Table that maps filters (HTML corrector) to input formats (Filtered HTML).',
'fields' => array(
'fid' => array(
'type' => 'serial',
'not null' => TRUE,
'description' => 'Primary Key: Auto-incrementing filter ID.',
),
'format' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
'description' => 'Foreign key: The {filter_formats}.format to which this filter is assigned.',
),
'module' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => '',
'description' => 'The origin module of the filter.',
),
'delta' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
'size' => 'tiny',
'description' => 'ID to identify which filter within module is being referenced.',
),
'weight' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
'size' => 'tiny',
'description' => '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' => 'Stores input formats: custom groupings of filters, such as Filtered HTML.',
'fields' => array(
'format' => array(
'type' => 'serial',
'not null' => TRUE,
'description' => 'Primary Key: Unique ID for format.',
),
'name' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
'description' => 'Name of the input format (Filtered HTML).',
),
'roles' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
'description' => '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' => 'Flag to indicate whether format is cachable. (1 = cachable, 0 = not cachable)',
),
),
'primary key' => array('format'),
'unique keys' => array('name' => array('name')),
);
$schema['cache_filter'] = drupal_get_schema_unprocessed('system', 'cache');
$schema['cache_filter']['description'] = '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;
}
|