4 function views_install() {
5 drupal_set_message('Installing views');
6 switch ($GLOBALS['db_type']) {
9 db_query("CREATE TABLE if not exists {view_view} (
10 vid int(10) unsigned NOT NULL default '0',
11 name varchar(32) NOT NULL UNIQUE,
12 description varchar(255),
16 page_title varchar(255),
18 page_header_format int(4) NOT NULL,
20 page_empty_format int(4) NOT NULL,
22 page_footer_format int(4) NOT NULL,
23 page_type varchar(20),
25 nodes_per_page int(5),
30 menu_tab_default int(1),
31 menu_tab_weight int(4),
32 menu_title varchar(255),
35 block_title varchar(255),
36 block_use_page_header int(1),
37 block_header longtext,
38 block_header_format int(4) NOT NULL,
39 block_use_page_footer int(1),
40 block_footer longtext,
41 block_footer_format int(4) NOT NULL,
42 block_use_page_empty int(1),
44 block_empty_format int(4) NOT NULL,
45 block_type varchar(20),
46 nodes_per_block int(5),
49 breadcrumb_no_home int(1), -- true means start breadcrumb trail from 'Home'.
54 view_args_php longtext,
57 ) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;");
59 db_query("CREATE TABLE if not exists {view_sort} (
60 vid int(10) unsigned NOT NULL default '0',
65 tablename varchar(255),
67 ) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;");
69 db_query("CREATE TABLE if not exists {view_argument} (
70 vid int(10) unsigned NOT NULL default '0',
72 argdefault varchar(255),
77 wildcard_substitution varchar(32),
79 ) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;");
81 db_query("CREATE TABLE if not exists {view_tablefield} (
82 vid int(10) unsigned NOT NULL default '0',
83 tablename varchar(255),
88 defaultsort varchar(5),
92 ) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;");
94 db_query("CREATE TABLE if not exists {view_filter} (
95 vid int(10) unsigned NOT NULL default '0',
96 tablename varchar(255),
100 options varchar(255),
103 ) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;");
105 db_query("CREATE TABLE if not exists {view_exposed_filter} (
106 vid int(10) unsigned NOT NULL default '0',
115 ) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;");
120 db_query("CREATE TABLE {view_view} (
122 name varchar(32) NOT NULL UNIQUE,
123 description varchar(255),
127 page_title varchar(255),
129 page_header_format smallint NOT NULL,
131 page_empty_format smallint NOT NULL,
133 page_footer_format smallint NOT NULL,
134 page_type varchar(20),
136 nodes_per_page smallint,
141 menu_tab_default smallint,
142 menu_tab_weight smallint,
143 menu_title varchar(255),
146 block_title varchar(255),
147 block_use_page_header smallint,
149 block_header_format smallint NOT NULL,
150 block_use_page_footer smallint,
152 block_footer_format smallint NOT NULL,
153 block_use_page_empty smallint,
155 block_empty_format smallint NOT NULL,
156 block_type varchar(20),
157 nodes_per_block smallint,
160 breadcrumb_no_home smallint, -- true means start breadcrumb trail from 'Home'.
168 db_query("CREATE INDEX {view_view}_name_idx ON {view_view} (name)");
170 db_query("CREATE TABLE {view_sort} (
171 vid integer NOT NULL default '0',
174 sortorder varchar(5),
175 options varchar(255),
176 tablename varchar(255)
178 db_query("CREATE INDEX {view_sort}_vid_idx ON {view_sort} (vid)");
180 db_query("CREATE TABLE {view_argument} (
181 vid integer NOT NULL default '0',
183 argdefault varchar(255),
185 options varchar(255),
187 wildcard varchar(32),
188 wildcard_substitution varchar(32)
190 db_query("CREATE INDEX {view_argument}_vid_idx ON {view_argument} (vid)");
192 db_query("CREATE TABLE {view_tablefield} (
193 vid integer NOT NULL default '0',
194 tablename varchar(255),
197 handler varchar(255),
199 defaultsort varchar(5),
200 options varchar(255),
203 db_query("CREATE INDEX {view_tablefield}_vid_idx ON {view_tablefield} (vid)");
205 db_query("CREATE TABLE {view_filter} (
206 vid integer NOT NULL default '0',
207 tablename varchar(255),
210 operator varchar(20),
211 options varchar(255),
214 db_query("CREATE INDEX {view_filter}_vid_idx ON {view_filter} (vid)");
215 db_query("CREATE TABLE {view_exposed_filter} (
216 vid integer NOT NULL default '0',
225 db_query("CREATE INDEX {view_exposed_filter}_vid_idx ON {view_exposed_filter} (vid)");
232 drupal_set_message(t('Views module installed tables successfully.'));
235 drupal_set_message(t('The installation of views module was unsuccessful.'), 'error');
240 * update module for UTF.
242 function views_update_1() {
243 return _system_update_utf8(array('view_view', 'view_tablefield', 'view_filter', 'view_sort', 'view_argument'));
247 * Dummy function cause we're apparently not to skip update #s.
249 function views_update_2() {
254 * update module for exposed filters.
256 function views_update_3() {
258 // db_add_column($ret, 'view_view', 'page_empty', 'longtext');
259 // db_add_column($ret, 'view_view', 'page_empty_format', 'int(4)', array('not null' => TRUE));
260 // db_add_column($ret, 'view_view', 'block_use_page_empty', 'int(1)');
261 // db_add_column($ret, 'view_view', 'block_empty', 'longtext');
262 // db_add_column($ret, 'view_view', 'block_empty_format', 'int(4)', array('not null' => TRUE));
263 switch($GLOBALS['db_type']) {
266 $ret[] = update_sql("CREATE TABLE if not exists {view_exposed_filter} (
267 vid int(10) unsigned NOT NULL default '0',
276 ) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;");
279 $ret[] = update_sql("CREATE TABLE {view_exposed_filter} (
280 vid numeric(10) unsigned NOT NULL default '0',
284 is_default numeric(1),
289 $ret[] = update_sql("CREATE INDEX {view_exposed_filter}_vid_idx ON {view_exposed_filter} (vid)");
295 function views_update_4() {
297 db_add_column($ret, 'view_view', 'page_footer', 'longtext');
298 db_add_column($ret, 'view_view', 'page_footer_format', 'int(4)', array('default' => 0));
299 db_add_column($ret, 'view_view', 'block_use_page_footer', 'int(1)');
300 db_add_column($ret, 'view_view', 'block_footer', 'longtext');
301 db_add_column($ret, 'view_view', 'block_footer_format', 'int(4)', array('default' => 0));
302 db_add_column($ret, 'view_view', 'page_empty', 'longtext');
303 db_add_column($ret, 'view_view', 'page_empty_format', 'int(4)', array('default' => 0));
304 db_add_column($ret, 'view_view', 'block_use_page_empty', 'int(1)');
305 db_add_column($ret, 'view_view', 'block_empty', 'longtext');
306 db_add_column($ret, 'view_view', 'block_empty_format', 'int(4)', array('default' => 0));
310 function views_update_5() {
312 db_add_column($ret, 'view_view', 'view_args_php', 'longtext');
316 function views_update_6() {
318 db_add_column($ret, 'view_tablefield', 'options', 'varchar(255)');
322 function views_update_7() {
324 $ret[] = update_sql("ALTER TABLE {view_argument} MODIFY type varchar(255)");
328 function views_update_8() {
330 $ret[] = update_sql("ALTER TABLE {view_view} MODIFY nodes_per_page int(5)");
334 function views_update_9() {
336 db_add_column($ret, 'view_argument', 'wildcard', 'varchar(32)');
337 db_add_column($ret, 'view_argument', 'wildcard_substitution', 'varchar(32)');