Mercurial > defr > drupal > core
diff modules/aggregator/aggregator.install @ 1:c1f4ac30525a 6.0
Drupal 6.0
author | Franck Deroche <webmaster@defr.org> |
---|---|
date | Tue, 23 Dec 2008 14:28:28 +0100 |
parents | |
children | 4347c45bb494 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/aggregator/aggregator.install Tue Dec 23 14:28:28 2008 +0100 @@ -0,0 +1,241 @@ +<?php +// $Id: aggregator.install,v 1.14 2007/12/18 12:59:20 dries Exp $ + +/** + * Implementation of hook_install(). + */ +function aggregator_install() { + // Create tables. + drupal_install_schema('aggregator'); +} + +/** + * Implementation of hook_uninstall(). + */ +function aggregator_uninstall() { + // Remove tables. + drupal_uninstall_schema('aggregator'); + + variable_del('aggregator_allowed_html_tags'); + variable_del('aggregator_summary_items'); + variable_del('aggregator_clear'); + variable_del('aggregator_category_selector'); +} + +/** + * Implementation of hook_schema(). + */ +function aggregator_schema() { + $schema['aggregator_category'] = array( + 'description' => t('Stores categories for aggregator feeds and feed items.'), + 'fields' => array( + 'cid' => array( + 'type' => 'serial', + 'not null' => TRUE, + 'description' => t('Primary Key: Unique aggregator category ID.'), + ), + 'title' => array( + 'type' => 'varchar', + 'length' => 255, + 'not null' => TRUE, + 'default' => '', + 'description' => t('Title of the category.'), + ), + 'description' => array( + 'type' => 'text', + 'not null' => TRUE, + 'size' => 'big', + 'description' => t('Description of the category'), + ), + 'block' => array( + 'type' => 'int', + 'not null' => TRUE, + 'default' => 0, + 'size' => 'tiny', + 'description' => t('The number of recent items to show within the category block.'), + ) + ), + 'primary key' => array('cid'), + 'unique keys' => array('title' => array('title')), + ); + + $schema['aggregator_category_feed'] = array( + 'description' => t('Bridge table; maps feeds to categories.'), + 'fields' => array( + 'fid' => array( + 'type' => 'int', + 'not null' => TRUE, + 'default' => 0, + 'description' => t("The feed's {aggregator_feed}.fid."), + ), + 'cid' => array( + 'type' => 'int', + 'not null' => TRUE, + 'default' => 0, + 'description' => t('The {aggregator_category}.cid to which the feed is being assigned.'), + ) + ), + 'primary key' => array('cid', 'fid'), + 'indexes' => array('fid' => array('fid')), + ); + + $schema['aggregator_category_item'] = array( + 'description' => t('Bridge table; maps feed items to categories.'), + 'fields' => array( + 'iid' => array( + 'type' => 'int', + 'not null' => TRUE, + 'default' => 0, + 'description' => t("The feed item's {aggregator_item}.iid."), + ), + 'cid' => array( + 'type' => 'int', + 'not null' => TRUE, + 'default' => 0, + 'description' => t('The {aggregator_category}.cid to which the feed item is being assigned.'), + ) + ), + 'primary key' => array('cid', 'iid'), + 'indexes' => array('iid' => array('iid')), + ); + + $schema['aggregator_feed'] = array( + 'description' => t('Stores feeds to be parsed by the aggregator.'), + 'fields' => array( + 'fid' => array( + 'type' => 'serial', + 'not null' => TRUE, + 'description' => t('Primary Key: Unique feed ID.'), + ), + 'title' => array( + 'type' => 'varchar', + 'length' => 255, + 'not null' => TRUE, + 'default' => '', + 'description' => t('Title of the feed.'), + ), + 'url' => array( + 'type' => 'varchar', + 'length' => 255, + 'not null' => TRUE, + 'default' => '', + 'description' => t('URL to the feed.'), + ), + 'refresh' => array( + 'type' => 'int', + 'not null' => TRUE, + 'default' => 0, + 'description' => t('How often to check for new feed items, in seconds.'), + ), + 'checked' => array( + 'type' => 'int', + 'not null' => TRUE, + 'default' => 0, + 'description' => t('Last time feed was checked for new items, as Unix timestamp.'), + ), + 'link' => array( + 'type' => 'varchar', + 'length' => 255, + 'not null' => TRUE, + 'default' => '', + 'description' => t('The parent website of the feed; comes from the <link> element in the feed.'), + ), + 'description' => array( + 'type' => 'text', + 'not null' => TRUE, + 'size' => 'big', + 'description' => t("The parent website's description; comes from the <description> element in the feed."), + ), + 'image' => array( + 'type' => 'text', + 'not null' => TRUE, + 'size' => 'big', + 'description' => t('An image representing the feed.'), + ), + 'etag' => array( + 'type' => 'varchar', + 'length' => 255, + 'not null' => TRUE, + 'default' => '', + 'description' => t('Entity tag HTTP response header, used for validating cache.'), + ), + 'modified' => array( + 'type' => 'int', + 'not null' => TRUE, + 'default' => 0, + 'description' => t('When the feed was last modified, as a Unix timestamp.'), + ), + 'block' => array( + 'type' => 'int', + 'not null' => TRUE, + 'default' => 0, + 'size' => 'tiny', + 'description' => t("Number of items to display in the feed's block."), + ) + ), + 'primary key' => array('fid'), + 'unique keys' => array( + 'url' => array('url'), + 'title' => array('title'), + ), + ); + + $schema['aggregator_item'] = array( + 'description' => t('Stores the individual items imported from feeds.'), + 'fields' => array( + 'iid' => array( + 'type' => 'serial', + 'not null' => TRUE, + 'description' => t('Primary Key: Unique ID for feed item.'), + ), + 'fid' => array( + 'type' => 'int', + 'not null' => TRUE, + 'default' => 0, + 'description' => t('The {aggregator_feed}.fid to which this item belongs.'), + ), + 'title' => array( + 'type' => 'varchar', + 'length' => 255, + 'not null' => TRUE, + 'default' => '', + 'description' => t('Title of the feed item.'), + ), + 'link' => array( + 'type' => 'varchar', + 'length' => 255, + 'not null' => TRUE, + 'default' => '', + 'description' => t('Link to the feed item.'), + ), + 'author' => array( + 'type' => 'varchar', + 'length' => 255, + 'not null' => TRUE, + 'default' => '', + 'description' => t('Author of the feed item.'), + ), + 'description' => array( + 'type' => 'text', + 'not null' => TRUE, + 'size' => 'big', + 'description' => t('Body of the feed item.'), + ), + 'timestamp' => array( + 'type' => 'int', + 'not null' => FALSE, + 'description' => t('Post date of feed item, as a Unix timestamp.'), + ), + 'guid' => array( + 'type' => 'varchar', + 'length' => 255, + 'not null' => FALSE, + 'description' => t('Unique identifier for the feed item.'), + ) + ), + 'primary key' => array('iid'), + 'indexes' => array('fid' => array('fid')), + ); + + return $schema; +}