/[drupal]/contributions/modules/carto/carto.install
ViewVC logotype

Contents of /contributions/modules/carto/carto.install

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.5 - (show annotations) (download) (as text)
Wed Nov 29 20:44:17 2006 UTC (2 years, 11 months ago) by openwereld
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +5 -3 lines
File MIME type: text/x-php
drop tables on uninstall
1 <?php
2 // $Id: carto.install,v 1.4 2006/10/13 13:22:51 openwereld Exp $
3
4 function carto_install()
5 {
6 drupal_set_message( 'Installing carto' );
7 switch( $GLOBALS['db_type'] )
8 {
9 case 'mysqli':
10 case 'mysql':
11 db_query(
12 "create table carto_filter_nodes(
13 nid integer NOT NULL
14 , numblocks integer NOT NULL default '0'
15 , PRIMARY KEY(nid)
16 )" );
17 db_query(
18 "create table carto_filter_blocks(
19 cfid varchar(254) unique not null
20 , crc int
21 , time int
22 , content blob
23 , PRIMARY KEY(cfid)
24 )" );
25 db_query(
26 "create table carto_wms_node(
27 nid integer not null
28 , name varchar(32)
29 , service varchar(255)
30 , version varchar(16)
31 , capabilities longtext COMMENT 'capabilities text'
32 , bbox varchar(255)
33 , srs varchar(16) DEFAULT 'EPSG:4326'
34 , layers varchar(255)
35 , abstract longtext
36 , keywords varchar(255)
37 , title varchar(255)
38 , captime int(11) NOT NULL default '0' COMMENT ''
39
40 , PRIMARY KEY( nid )
41 )" );
42 db_query(
43 "create table carto_wms_layer(
44 nid integer not null
45 , lid integer not null COMMENT 'layer sequence number'
46 , name varchar(255)
47 , title varchar(255)
48 , abstract longtext
49 , minx double
50 , miny double
51 , maxx double
52 , maxy double
53 , queryable tinyint(1) default '0'
54 , opaque tinyint(1) default '0'
55 , cascaded tinyint(1) default '0'
56
57 , PRIMARY KEY( nid, lid )
58 )" );
59 // @todo: mysql 4.1? cannot handle index on combination of 4 fields
60 db_query(
61 "create table carto_wms_layer_properties(
62 nid integer not null
63 , lid integer not null
64 , property varchar(255) not null
65 , name varchar(255) not null
66 , value longtext
67
68 , PRIMARY KEY( nid, lid, property, name )
69 )" );
70 $success = true;
71 break;
72 case 'pgsql':
73 db_query(
74 "create table carto_filter_nodes(
75 nid integer NOT NULL default '0'
76 , numblocks integer NOT NULL default '0'
77 , PRIMARY KEY(nid)
78 )" );
79 db_query(
80 "create table carto_filter_blocks(
81 cfid varchar(254) unique not null default ''
82 , crc integer
83 , time integer
84 , content text
85 , PRIMARY KEY(cfid)
86 )" );
87 db_query(
88 "create table carto_wms_node(
89 nid integer not null
90 , name varchar(32)
91 , service varchar(255)
92 , version varchar(16)
93 , capabilities text
94 , bbox varchar(255)
95 , srs varchar(16) default 'EPSG:4326'
96 , layers varchar(255)
97 , abstract text
98 , keywords varchar(255)
99 , title varchar(255)
100 , captime integer NOT NULL default '0'
101
102 , PRIMARY KEY( nid )
103 )" );
104 db_query(
105 "create table carto_wms_layer(
106 nid integer not null
107 , lid integer not null
108 , name varchar(255)
109 , title varchar(255)
110 , abstract text
111 , minx double precision
112 , miny double precision
113 , maxx double precision
114 , maxy double precision
115 , queryable smallint default '0'
116 , opaque smallint default '0'
117 , cascaded smallint default '0'
118
119 , PRIMARY KEY( nid, lid )
120 )" );
121 db_query(
122 "create table carto_wms_layer_properties(
123 nid integer not null
124 , lid integer not null
125 , property varchar(255) not null
126 , name varchar(255) not null
127 , value text
128
129 , PRIMARY KEY( nid, lid, property, name )
130 )" );
131 $success = true;
132 break;
133 default:
134 $success = false;
135 break;
136 }
137 if( $success )
138 drupal_set_message( t("The carto module installed it's tables successfully.") );
139 else
140 drupal_set_message( t('Installation of the carto module was unsuccessful.'), 'error' );
141 }
142
143 function carto_uninstall()
144 {
145 // todo: think this over before risking deleting content
146 db_query( "drop table carto_filter_nodes" );
147 db_query( "drop table carto_filter_blocks" );
148 db_query( "drop table carto_wms_node" );
149 db_query( "drop table carto_wms_layer_properties" );
150
151 variable_del( 'carto_mappingwidgets_dir' );
152 }
153
154 function carto_update_1()
155 {
156 // add ogc version field to carto_wms_node table
157 $items = array();
158 $items[] = update_sql("ALTER TABLE {carto_wms_node} ADD version varchar(16)");
159 return $items;
160 }
161
162 function carto_update_2()
163 {
164 // add ogc version field to carto_wms_node table
165 $items = array();
166 $items[] = update_sql("ALTER TABLE {carto_wms_node} ADD srs varchar(16) DEFAULT 'EPSG:4326'");
167 return $items;
168 }
169
170 ?>

  ViewVC Help
Powered by ViewVC 1.1.2