Newer
Older
drupal_set_message('Installing views');
switch ($GLOBALS['db_type']) {
case 'mysqli':
case 'mysql':
db_query("CREATE TABLE if not exists {view_view} (
vid int(10) unsigned NOT NULL default '0',
name varchar(32) NOT NULL UNIQUE,
description varchar(255),
access varchar(255),
-- page fields
page int(1),
page_title varchar(255),
page_header longtext,
page_header_format int(4) NOT NULL,
page_empty longtext,
page_empty_format int(4) NOT NULL,
page_footer longtext,
page_footer_format int(4) NOT NULL,
page_type varchar(20),
use_pager int(1),
url varchar(255),
-- menu fields
menu int(1),
menu_tab int(1),
menu_tab_default int(1),
menu_tab_weight int(4),
menu_title varchar(255),
-- block fields
block int(1),
block_title varchar(255),
block_use_page_header int(1),
block_header longtext,
block_header_format int(4) NOT NULL,
block_use_page_footer int(1),
block_footer longtext,
block_footer_format int(4) NOT NULL,
block_use_page_empty int(1),
block_empty longtext,
block_empty_format int(4) NOT NULL,
block_type varchar(20),
nodes_per_block int(5),
block_more int(1),
-- breadcrumb
breadcrumb_no_home int(1), -- true means start breadcrumb trail from 'Home'.
-- other
changed int(11),
view_args_php longtext,
Earl Miles
committed
is_cacheable int(1),
db_query("CREATE TABLE if not exists {view_sort} (
vid int(10) unsigned NOT NULL default '0',
position int(2),
field varchar(255),
sortorder varchar(5),
options varchar(255),
tablename varchar(255),
KEY (vid)
db_query("CREATE TABLE if not exists {view_argument} (
vid int(10) unsigned NOT NULL default '0',
type varchar(255),
argdefault varchar(255),
title varchar(255),
options varchar(255),
position int(2),
Earl Miles
committed
wildcard varchar(32),
wildcard_substitution varchar(32),
db_query("CREATE TABLE if not exists {view_tablefield} (
vid int(10) unsigned NOT NULL default '0',
tablename varchar(255),
field varchar(255),
label varchar(255),
handler varchar(255),
sortable int(1),
defaultsort varchar(5),
options varchar(255),
db_query("CREATE TABLE if not exists {view_filter} (
vid int(10) unsigned NOT NULL default '0',
tablename varchar(255),
field varchar(255),
value longtext,
operator varchar(20),
options varchar(255),
position int(2),
KEY (vid)
db_query("CREATE TABLE if not exists {view_exposed_filter} (
Earl Miles
committed
vid int(10) unsigned NOT NULL default '0',
field varchar(255),
label varchar(255),
optional int(1),
is_default int(1),
operator int(1),
single int(1),
position int(2),
KEY (vid)
db_query("CREATE TABLE {cache_views} (
cid varchar(255) NOT NULL default '',
data longblob,
expire int NOT NULL default '0',
created int NOT NULL default '0',
headers text,
PRIMARY KEY (cid),
INDEX expire (expire)
) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
$success = TRUE;
break;
case 'pgsql':
db_query("CREATE TABLE {view_view} (
name varchar(32) NOT NULL UNIQUE,
description varchar(255),
access varchar(255),
-- page fields
page_title varchar(255),
page_header text,
Earl Miles
committed
page_empty text,
page_empty_format smallint NOT NULL,
page_footer text,
page_footer_format smallint NOT NULL,
url varchar(255),
-- menu fields
menu smallint,
menu_tab smallint,
menu_tab_default smallint,
menu_tab_weight smallint,
menu_title varchar(255),
-- block fields
block_header_format smallint NOT NULL,
block_use_page_footer smallint,
Earl Miles
committed
block_footer text,
block_footer_format smallint NOT NULL,
block_use_page_empty smallint,
Earl Miles
committed
block_empty text,
nodes_per_block smallint,
block_more smallint,
breadcrumb_no_home smallint, -- true means start breadcrumb trail from 'Home'.
view_args_php text,
Earl Miles
committed
is_cacheable smallint,
db_query("CREATE INDEX {view_view}_name_idx ON {view_view} (name)");
db_query("CREATE TABLE {view_sort} (
vid integer NOT NULL default '0',
position smallint,
field varchar(255),
sortorder varchar(5),
options varchar(255),
tablename varchar(255)
)");
db_query("CREATE INDEX {view_sort}_vid_idx ON {view_sort} (vid)");
db_query("CREATE TABLE {view_argument} (
type varchar(255),
argdefault varchar(255),
title varchar(255),
options varchar(255),
position smallint,
Earl Miles
committed
wildcard varchar(32),
wildcard_substitution varchar(32)
db_query("CREATE INDEX {view_argument}_vid_idx ON {view_argument} (vid)");
db_query("CREATE TABLE {view_tablefield} (
tablename varchar(255),
field varchar(255),
label varchar(255),
handler varchar(255),
options varchar(255),
db_query("CREATE INDEX {view_tablefield}_vid_idx ON {view_tablefield} (vid)");
db_query("CREATE TABLE {view_filter} (
tablename varchar(255),
field varchar(255),
value text,
operator varchar(20),
options varchar(255),
db_query("CREATE INDEX {view_filter}_vid_idx ON {view_filter} (vid)");
db_query("CREATE TABLE {view_exposed_filter} (
field varchar(255),
label varchar(255),
optional smallint,
is_default smallint,
operator smallint,
single smallint,
position smallint
db_query("CREATE INDEX {view_exposed_filter}_vid_idx ON {view_exposed_filter} (vid)");
$success = TRUE;
db_query("UPDATE {system} SET weight = 10 WHERE name = 'views'");
drupal_set_message(t('Views module installed tables successfully.'));
}
else {
drupal_set_message(t('The installation of views module was unsuccessful.'), 'error');
}
function views_uninstall() {
db_query("DROP TABLE IF EXISTS {view_view}");
db_query("DROP TABLE IF EXISTS {view_sort}");
db_query("DROP TABLE IF EXISTS {view_argument}");
db_query("DROP TABLE IF EXISTS {view_tablefield}");
db_query("DROP TABLE IF EXISTS {view_filter}");
db_query("DROP TABLE IF EXISTS {view_exposed_filter}");
}
/*
* update module for UTF.
*/
function views_update_1() {
return _system_update_utf8(array('view_view', 'view_tablefield', 'view_filter', 'view_sort', 'view_argument'));
}
/**
* Dummy function cause we're apparently not to skip update #s.
*/
function views_update_2() {
// dummy function
return array();
}
/*
*/
Earl Miles
committed
function views_update_3() {
$ret = array();
// db_add_column($ret, 'view_view', 'page_empty', 'longtext');
// db_add_column($ret, 'view_view', 'page_empty_format', 'int(4)', array('not null' => TRUE));
// db_add_column($ret, 'view_view', 'block_use_page_empty', 'int(1)');
// db_add_column($ret, 'view_view', 'block_empty', 'longtext');
// db_add_column($ret, 'view_view', 'block_empty_format', 'int(4)', array('not null' => TRUE));
switch($GLOBALS['db_type']) {
$ret[] = update_sql("CREATE TABLE if not exists {view_exposed_filter} (
vid int(10) unsigned NOT NULL default '0',
field varchar(255),
label varchar(255),
optional int(1),
is_default int(1),
operator int(1),
single int(1),
position int(2),
KEY (vid)
) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;");
break;
case 'pgsql':
$ret[] = update_sql("CREATE TABLE {view_exposed_filter} (
vid numeric(10) unsigned NOT NULL default '0',
field varchar(255),
label varchar(255),
optional numeric(1),
is_default numeric(1),
operator numeric(1),
single numeric(1),
position numeric(2),
)");
$ret[] = update_sql("CREATE INDEX {view_exposed_filter}_vid_idx ON {view_exposed_filter} (vid)");
Earl Miles
committed
return $ret;
}
Earl Miles
committed
function views_update_4() {
$ret = array();
db_add_column($ret, 'view_view', 'page_footer', 'longtext');
db_add_column($ret, 'view_view', 'page_footer_format', 'int(4)', array('default' => 0));
db_add_column($ret, 'view_view', 'block_use_page_footer', 'int(1)');
db_add_column($ret, 'view_view', 'block_footer', 'longtext');
db_add_column($ret, 'view_view', 'block_footer_format', 'int(4)', array('default' => 0));
db_add_column($ret, 'view_view', 'page_empty', 'longtext');
db_add_column($ret, 'view_view', 'page_empty_format', 'int(4)', array('default' => 0));
db_add_column($ret, 'view_view', 'block_use_page_empty', 'int(1)');
db_add_column($ret, 'view_view', 'block_empty', 'longtext');
db_add_column($ret, 'view_view', 'block_empty_format', 'int(4)', array('default' => 0));
return $ret;
}
function views_update_5() {
$ret = array();
db_add_column($ret, 'view_view', 'view_args_php', 'longtext');
return $ret;
}
function views_update_6() {
$ret = array();
db_add_column($ret, 'view_tablefield', 'options', 'varchar(255)');
return $ret;
}
function views_update_7() {
$ret = array();
$ret[] = update_sql("ALTER TABLE {view_argument} MODIFY type varchar(255)");
return $ret;
}
function views_update_8() {
$ret = array();
$ret[] = update_sql("ALTER TABLE {view_view} MODIFY nodes_per_page int(5)");
return $ret;
}
Earl Miles
committed
function views_update_9() {
$ret = array();
db_add_column($ret, 'view_argument', 'wildcard', 'varchar(32)');
db_add_column($ret, 'view_argument', 'wildcard_substitution', 'varchar(32)');
return $ret;
function views_update_10() {
$ret = array();
$ret[] = update_sql("UPDATE {system} SET weight = 10 WHERE name = 'views'");
return $ret;
}
function views_update_11() {
// running this again because fresh installs of 1.4 didn't get it.
$ret = array();
$ret[] = update_sql("UPDATE {system} SET weight = 10 WHERE name = 'views'");
return $ret;
}
Earl Miles
committed
function views_update_12() {
$ret = array();
db_add_column($ret, 'view_view', 'is_cacheable', 'int(1)');
include_once('./'. drupal_get_path('module', 'views') .'/views.module');
$result = db_query("SELECT name FROM {view_view} ORDER BY name");
while ($row = db_fetch_array($result)) {
$view = views_get_view($row['name']);
$ret[] = update_sql("UPDATE {view_view} SET is_cacheable = " . (_views_is_cacheable($view) ? "1" : "0") . " WHERE vid = ". $view->vid);
}
$ret[] = update_sql("ALTER TABLE {view_view} DROP query");
$ret[] = update_sql("ALTER TABLE {view_view} DROP countquery");
$ret[] = update_sql("CREATE TABLE {cache_views} (
cid varchar(255) NOT NULL default '',
data longblob,
expire int NOT NULL default '0',
created int NOT NULL default '0',
headers text,
PRIMARY KEY (cid),
INDEX expire (expire)
) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
Earl Miles
committed
return $ret;
}