| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- <?php
- // $id:$
- function feedmanager_install() {
- switch ($GLOBALS['db_type']) {
- case 'mysql':
- case 'mysqli':
- db_query("CREATE TABLE IF NOT EXISTS {aggregator_category} (
- cid int NOT NULL auto_increment,
- title varchar(255) NOT NULL default '',
- description longtext NOT NULL,
- block tinyint NOT NULL default '0',
- PRIMARY KEY (cid),
- UNIQUE KEY title (title)
- ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
- db_query("CREATE TABLE IF NOT EXISTS {aggregator_category_feed} (
- fid int NOT NULL default '0',
- cid int NOT NULL default '0',
- PRIMARY KEY (fid,cid)
- ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
- db_query("CREATE TABLE IF NOT EXISTS {aggregator_category_item} (
- iid int NOT NULL default '0',
- cid int NOT NULL default '0',
- PRIMARY KEY (iid,cid)
- ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
- db_query("CREATE TABLE IF NOT EXISTS {aggregator_feed} (
- fid int NOT NULL auto_increment,
- title varchar(255) NOT NULL default '',
- url varchar(255) NOT NULL default '',
- refresh int NOT NULL default '0',
- checked int NOT NULL default '0',
- link varchar(255) NOT NULL default '',
- description longtext NOT NULL,
- image longtext,
- etag varchar(255) NOT NULL default '',
- modified int NOT NULL default '0',
- block tinyint NOT NULL default '0',
- PRIMARY KEY (fid),
- UNIQUE KEY link (url),
- UNIQUE KEY title (title)
- ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
- db_query("CREATE TABLE IF NOT EXISTS {aggregator_item} (
- iid int NOT NULL auto_increment,
- fid int NOT NULL default '0',
- title varchar(255) NOT NULL default '',
- link varchar(255) NOT NULL default '',
- author varchar(255) NOT NULL default '',
- description longtext NOT NULL,
- timestamp int default NULL,
- guid varchar(255),
- PRIMARY KEY (iid),
- KEY fid (fid)
- ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
- // Uninstall aggregator.module
- db_query("UPDATE {system} SET status = 0 WHERE name = 'aggregator'");
- // Update existing tables
- db_query('ALTER TABLE {aggregator_feed} DROP KEY link');
- db_query('ALTER TABLE {aggregator_feed} CHANGE url url TEXT NOT NULL');
- db_query('ALTER TABLE {aggregator_feed} ADD expires INT (10) AFTER block');
- db_query('ALTER TABLE {aggregator_feed} ADD data LONGTEXT AFTER expires');
- db_query('ALTER TABLE {aggregator_feed} DROP INDEX title');
- break;
- case 'pgsql':
- db_query("CREATE TABLE {aggregator_category} (
- cid serial,
- title varchar(255) NOT NULL default '',
- description text NOT NULL,
- block smallint NOT NULL default '0',
- PRIMARY KEY (cid),
- UNIQUE (title)
- )");
- db_query("CREATE TABLE {aggregator_category_feed} (
- fid int NOT NULL default '0',
- cid int NOT NULL default '0',
- PRIMARY KEY (fid,cid)
- )");
- db_query("CREATE TABLE {aggregator_category_item} (
- iid int NOT NULL default '0',
- cid int NOT NULL default '0',
- PRIMARY KEY (iid,cid)
- )");
- db_query("CREATE TABLE {aggregator_feed} (
- fid serial,
- title varchar(255) NOT NULL default '',
- url varchar(255) NOT NULL default '',
- refresh int NOT NULL default '0',
- checked int NOT NULL default '0',
- link varchar(255) NOT NULL default '',
- description text NOT NULL default '',
- image text NOT NULL default '',
- etag varchar(255) NOT NULL default '',
- modified int NOT NULL default '0',
- block smallint NOT NULL default '0',
- PRIMARY KEY (fid),
- UNIQUE (url),
- UNIQUE (title)
- )");
- db_query("CREATE TABLE {aggregator_item} (
- iid serial,
- fid int NOT NULL default '0',
- title varchar(255) NOT NULL default '',
- link varchar(255) NOT NULL default '',
- author varchar(255) NOT NULL default '',
- description text NOT NULL,
- timestamp int default NULL,
- guid varchar(255),
- PRIMARY KEY (iid)
- )");
- db_query("CREATE INDEX {aggregator_item}_fid_idx ON {aggregator_item} (fid)");
- // Uninstall aggregator.module
- db_query("UPDATE {system} SET status = 0 WHERE name = 'aggregator'");
- // Update existing tables
- db_query('ALTER TABLE {aggregator_feed} DROP KEY link');
- db_query('ALTER TABLE {aggregator_feed} CHANGE url url TEXT NOT NULL');
- db_query('ALTER TABLE {aggregator_feed} ADD expires INT (10) AFTER block');
- db_query('ALTER TABLE {aggregator_feed} ADD data LONGTEXT AFTER expires');
- db_query('ALTER TABLE {aggregator_feed} DROP INDEX title');
- break;
- }
- }
- /**
- * Implementation of hook_uninstall().
- */
- function feedmanager_uninstall() {
- db_query('DROP TABLE {aggregator_category}');
- db_query('DROP TABLE {aggregator_category_feed}');
- db_query('DROP TABLE {aggregator_category_item}');
- db_query('DROP TABLE {aggregator_feed}');
- db_query('DROP TABLE {aggregator_item}');
- }
- function feedmanager_update_1() {
- switch ($GLOBALS['db_type']) {
- case 'mysql':
- case 'mysqli':
- $ret[] = update_sql('ALTER TABLE {aggregator_feed} DROP KEY link');
- $ret[] = update_sql('ALTER TABLE {aggregator_feed} CHANGE url url TEXT NOT NULL');
- $ret[] = update_sql('ALTER TABLE {aggregator_feed} ADD expires INT (10) AFTER block');
- $ret[] = update_sql('ALTER TABLE {aggregator_feed} ADD data LONGTEXT AFTER expires');
- $ret[] = update_sql('ALTER TABLE {aggregator_feed} DROP INDEX title');
- break;
- case 'pgsql':
- break;
- }
- return $ret;
- }
- ?>
|