You are here

function subscriptions_install in Subscriptions 5.2

Same name and namespace in other branches
  1. 5 subscriptions.install \subscriptions_install()
  2. 6 subscriptions.install \subscriptions_install()
  3. 7 subscriptions.install \subscriptions_install()
  4. 2.0.x subscriptions.install \subscriptions_install()

Implementation of hook_install().

File

./subscriptions.install, line 6

Code

function subscriptions_install() {
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      db_query("CREATE TABLE {subscriptions} (\n          sid int unsigned NOT NULL auto_increment,\n          module varchar(64) default NULL,\n          field varchar(32) default NULL,\n          value varchar(237) default NULL,\n          recipient_uid int NOT NULL,\n          send_interval int default NULL,\n          author_uid int NOT NULL,\n          send_updates tinyint NOT NULL default 0,\n          send_comments tinyint NOT NULL default 0,\n          PRIMARY KEY (sid),\n          KEY (module, field, value),\n          KEY (recipient_uid)\n        ) /*!40100 DEFAULT CHARACTER SET utf8 */");
      db_query("CREATE TABLE {subscriptions_queue} (\n          sqid int unsigned NOT NULL auto_increment,\n          uid int default NULL,\n          name varchar(60) default NULL,\n          mail varchar(64) default NULL,\n          language varchar(12) default NULL,\n          module varchar(64) default NULL,\n          field varchar(32) default NULL,\n          value varchar(237) default NULL,\n          author_uid int default NULL,\n          send_interval int default NULL,\n          digest tinyint default NULL,\n          load_args varchar(255) NOT NULL default '',\n          load_function varchar(60) NOT NULL default '',\n          is_new tinyint default NULL,\n          last_sent int unsigned NOT NULL default '0',\n          PRIMARY KEY (sqid),\n          KEY (load_args, load_function, uid)\n        ) /*!40100 DEFAULT CHARACTER SET utf8 */");
      db_query("CREATE TABLE {subscriptions_mail_edit} (\n          mailkey varchar(255) NOT NULL,\n          item_body TEXT,\n          PRIMARY KEY (mailkey)\n        ) /*!40100 DEFAULT CHARACTER SET utf8 */");
      db_query("CREATE TABLE {subscriptions_user} (\n          uid integer NOT NULL,\n          digest tinyint NOT NULL default -1,\n          send_interval int NOT NULL default -1,\n          send_updates tinyint NOT NULL default -1,\n          send_comments tinyint NOT NULL default -1,\n          send_interval_visible tinyint NOT NULL default -1,\n          send_updates_visible tinyint NOT NULL default -1,\n          send_comments_visible tinyint NOT NULL default -1,\n          autosub_on_post tinyint NOT NULL default -1,\n          autosub_on_update tinyint NOT NULL default -1,\n          autosub_on_comment tinyint NOT NULL default -1,\n          send_self tinyint NOT NULL default -1,\n          last_sent int unsigned NOT NULL default 0,\n          PRIMARY KEY (uid)\n        ) /*!40100 DEFAULT CHARACTER SET utf8 */");
      break;
    case 'pgsql':
      db_query("CREATE TABLE {subscriptions} (\n          sid serial,\n          module varchar(64) default NULL,\n          field varchar(32) default NULL,\n          value varchar(237) default NULL,\n          recipient_uid integer NOT NULL,\n          send_interval integer default NULL,\n          author_uid integer NOT NULL,\n          send_updates smallint NOT NULL default 0,\n          send_comments smallint NOT NULL default 0,\n          PRIMARY KEY (sid)\n        )");
      db_query("CREATE INDEX {subscriptions}_module_field_value_index ON {subscriptions} (module, field, value)");
      db_query("CREATE INDEX {subscriptions}_recipient_uid_index ON {subscriptions} (recipient_uid)");
      db_query("CREATE TABLE {subscriptions_queue} (\n          sqid serial,\n          uid integer default NULL,\n          name varchar(60) default NULL,\n          mail varchar(64) default NULL,\n          language varchar(12) default NULL,\n          module varchar(64) default NULL,\n          field varchar(32) default NULL,\n          value varchar(237) default NULL,\n          author_uid integer default NULL,\n          send_interval integer default NULL,\n          digest smallint default NULL,\n          load_args varchar(255) NOT NULL default '',\n          load_function varchar(60) NOT NULL default '',\n          is_new smallint default NULL,\n          last_sent int_unsigned NOT NULL default 0,\n          PRIMARY KEY (sqid)\n        )");
      db_query("CREATE INDEX {subscriptions_queue}_load_args_load_function_uid_index ON {subscriptions_queue} (load_args, load_function, uid)");
      db_query("CREATE TABLE {subscriptions_mail_edit} (\n          mailkey varchar(255) NOT NULL,\n          item_body TEXT,\n          PRIMARY KEY (mailkey)\n        )");
      db_query("CREATE TABLE {subscriptions_user} (\n          uid integer NOT NULL,\n          digest smallint NOT NULL default -1,\n          send_interval integer NOT NULL default -1,\n          send_updates smallint NOT NULL default -1,\n          send_comments smallint NOT NULL default -1,\n          send_interval_visible smallint NOT NULL default -1,\n          send_updates_visible smallint NOT NULL default -1,\n          send_comments_visible smallint NOT NULL default -1,\n          autosub_on_post smallint NOT NULL default -1,\n          autosub_on_update smallint NOT NULL default -1,\n          autosub_on_comment smallint NOT NULL default -1,\n          send_self smallint NOT NULL default -1,\n          last_sent int_unsigned NOT NULL default 0,\n          PRIMARY KEY (uid)\n        )");
      break;
  }
  db_query("INSERT INTO {subscriptions_user} (uid, digest, send_interval, send_updates, send_comments, send_interval_visible, send_updates_visible, send_comments_visible, autosub_on_post, autosub_on_update, autosub_on_comment, send_self) VALUES(" . -DRUPAL_AUTHENTICATED_RID . ", 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1)");
  db_query("INSERT INTO {subscriptions_user} (uid) SELECT uid FROM {users} WHERE uid > 0");
  subscriptions_update_8();

  // convert 1.x-dev template variables if found
  include_once drupal_get_path('module', 'subscriptions') . '/subscriptions.install.inc';
  _subscriptions_install_information();
}