View source
<?php
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}');
}