You are here

custom_pagers.install in Custom Pagers 5

Same filename and directory in other branches
  1. 6 custom_pagers.install
  2. 7 custom_pagers.install

File

custom_pagers.install
View source
<?php

/**
 * Implementation of hook_install().
 */
function custom_pagers_install() {
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      db_query("CREATE TABLE {custom_pager} (\n        pid int unsigned NOT NULL auto_increment,\n        title varchar(255) NOT NULL default '',\n        list_php text,\n        view varchar(255) NOT NULL default '',\n        args varchar(255) NOT NULL default '',\n        position varchar(16) NOT NULL default 'bottom',\n        visibility_php text,\n        node_type varchar(255) default '',\n        reverse_list tinyint NOT NULL default 1,\n        cache_list tinyint NOT NULL default 1,\n        PRIMARY KEY (pid)\n      ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
      break;
    case 'pgsql':
      db_query("CREATE TABLE {custom_pager} (\n        pid serial CHECK (pid >= 0),\n        title varchar(255) NOT NULL default '',\n        list_php text,\n        view varchar(255) NOT NULL default '',\n        args varchar(255) NOT NULL default '',\n        position varchar(16) NOT NULL default 'bottom',\n        visibility_php text,\n        node_type varchar(255) default '',\n        reverse_list smallint NOT NULL default 1,\n        cache_list smallint NOT NULL default 1\n      )");
      db_query("CREATE INDEX {custom_pager}_pid_idx ON {custom_pager} (pid)");
      break;
  }
}
function custom_pagers_update_1() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql("ALTER TABLE {custom_pager} ADD list_php text");
      $ret[] = update_sql("ALTER TABLE {custom_pager} ADD visibility_php text");
      break;
    case 'pgsql':
      db_add_column($ret, 'custom_pager', 'list_php', 'text', array(
        'default' => '',
      ));
      db_add_column($ret, 'custom_pager', 'visibility_php', 'text', array(
        'default' => '',
      ));
      break;
  }
  return $ret;
}
function custom_pagers_update_2() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql("ALTER TABLE {custom_pager} ADD cache_list tinyint NOT NULL default 0");
      $ret[] = update_sql("ALTER TABLE {custom_pager} ADD reverse_list tinyint NOT NULL default 0");
      break;
    case 'pgsql':
      db_add_column($ret, 'custom_pager', 'cache_list', 'smallint', array(
        'not null' => TRUE,
        'default' => 0,
      ));
      db_add_column($ret, 'custom_pager', 'reverse_list', 'smallint', array(
        'not null' => TRUE,
        'default' => 0,
      ));
      break;
  }
  return $ret;
}
function custom_pagers_uninstall() {
  db_query('DROP TABLE {custom_pager}');
}