pierre@0
|
1 <?php |
pierre@1
|
2 // $Id: ad_notify.install,v 1.1.2.2.2.6.2.3.2.3 2009/03/29 20:17:21 jeremy Exp $ |
pierre@0
|
3 |
pierre@0
|
4 /** |
pierre@0
|
5 * @file |
pierre@0
|
6 * Ad_notify module database schema. |
pierre@0
|
7 * |
pierre@0
|
8 * Copyright (c) 2005-2009. |
pierre@0
|
9 * Jeremy Andrews <jeremy@tag1consulting.com>. |
pierre@0
|
10 */ |
pierre@0
|
11 |
pierre@0
|
12 /** |
pierre@0
|
13 * Implementation of hook_schema(). |
pierre@0
|
14 */ |
pierre@0
|
15 function ad_notify_schema() { |
pierre@0
|
16 $schema['ad_notify'] = array( |
pierre@0
|
17 'description' => 'The ad_notify table stores notifications data such as recepient, message body, event, etc.', |
pierre@0
|
18 'fields' => array( |
pierre@0
|
19 'notid' => array( |
pierre@0
|
20 'type' => 'serial', |
pierre@0
|
21 'unsigned' => TRUE, |
pierre@0
|
22 'not null' => TRUE, |
pierre@0
|
23 ), |
pierre@0
|
24 'aid' => array( |
pierre@0
|
25 'type' => 'int', |
pierre@0
|
26 'unsigned' => TRUE, |
pierre@0
|
27 'not null' => TRUE, |
pierre@0
|
28 'default' => 0, |
pierre@0
|
29 ), |
pierre@0
|
30 'oid' => array( |
pierre@0
|
31 'type' => 'int', |
pierre@0
|
32 'unsigned' => TRUE, |
pierre@0
|
33 'not null' => TRUE, |
pierre@0
|
34 'default' => 0, |
pierre@0
|
35 ), |
pierre@0
|
36 'event' => array( |
pierre@0
|
37 'type' => 'varchar', |
pierre@0
|
38 'length' => '255', |
pierre@0
|
39 'not null' => TRUE, |
pierre@0
|
40 'default' => '' |
pierre@0
|
41 ), |
pierre@0
|
42 'delay' => array( |
pierre@0
|
43 'type' => 'int', |
pierre@0
|
44 'not null' => TRUE, |
pierre@0
|
45 'default' => 0, |
pierre@0
|
46 ), |
pierre@0
|
47 'queued' => array( |
pierre@0
|
48 'type' => 'int', |
pierre@0
|
49 'not null' => TRUE, |
pierre@0
|
50 'default' => 0, |
pierre@0
|
51 ), |
pierre@0
|
52 'sent' => array( |
pierre@0
|
53 'type' => 'int', |
pierre@0
|
54 'not null' => TRUE, |
pierre@0
|
55 'default' => 0, |
pierre@0
|
56 ), |
pierre@0
|
57 'counter' => array( |
pierre@0
|
58 'type' => 'int', |
pierre@0
|
59 'unsigned' => TRUE, |
pierre@0
|
60 'not null' => TRUE, |
pierre@0
|
61 'default' => 0, |
pierre@0
|
62 ), |
pierre@0
|
63 'locked' => array( |
pierre@0
|
64 'type' => 'int', |
pierre@0
|
65 'unsigned' => TRUE, |
pierre@0
|
66 'size' => 'tiny', |
pierre@0
|
67 'not null' => TRUE, |
pierre@0
|
68 'default' => 0, |
pierre@0
|
69 ), |
pierre@0
|
70 'expire' => array( |
pierre@0
|
71 'type' => 'int', |
pierre@0
|
72 'unsigned' => TRUE, |
pierre@0
|
73 'size' => 'tiny', |
pierre@0
|
74 'not null' => TRUE, |
pierre@0
|
75 'default' => 0, |
pierre@0
|
76 ), |
pierre@0
|
77 'status' => array( |
pierre@0
|
78 'type' => 'int', |
pierre@0
|
79 'unsigned' => TRUE, |
pierre@0
|
80 'size' => 'tiny', |
pierre@0
|
81 'not null' => TRUE, |
pierre@0
|
82 'default' => 0, |
pierre@0
|
83 ), |
pierre@0
|
84 'address' => array( |
pierre@0
|
85 'type' => 'varchar', |
pierre@0
|
86 'length' => '255', |
pierre@0
|
87 'not null' => TRUE, |
pierre@0
|
88 'default' => '', |
pierre@0
|
89 ), |
pierre@0
|
90 'subject' => array( |
pierre@0
|
91 'type' => 'varchar', |
pierre@0
|
92 'length' => '255', |
pierre@0
|
93 'not null' => TRUE, |
pierre@0
|
94 'default' => '', |
pierre@0
|
95 ), |
pierre@0
|
96 'body' => array( |
pierre@0
|
97 'type' => 'text', |
pierre@0
|
98 'not null' => FALSE, |
pierre@0
|
99 ), |
pierre@1
|
100 'roles' => array( |
pierre@1
|
101 'type' => 'varchar', |
pierre@1
|
102 'length' => '255', |
pierre@1
|
103 'not null' => TRUE, |
pierre@1
|
104 'default' => '', |
pierre@1
|
105 ), |
pierre@1
|
106 'template' => array( |
pierre@1
|
107 'type' => 'int', |
pierre@1
|
108 'unsigned' => TRUE, |
pierre@1
|
109 'not null' => TRUE, |
pierre@1
|
110 'default' => 0, |
pierre@1
|
111 ), |
pierre@0
|
112 ), |
pierre@0
|
113 'primary key' => array('notid'), |
pierre@0
|
114 'unique keys' => array( |
pierre@0
|
115 'oid' => array('oid', 'event', 'delay'), |
pierre@0
|
116 ), |
pierre@0
|
117 'indexes' => array( |
pierre@0
|
118 'delay' => array('delay'), |
pierre@0
|
119 'event' => array('event'), |
pierre@0
|
120 'oid_2' => array('oid'), |
pierre@0
|
121 'queued' => array('queued'), |
pierre@0
|
122 'sent' => array('sent'), |
pierre@0
|
123 'status' => array('status'), |
pierre@0
|
124 ), |
pierre@0
|
125 ); |
pierre@0
|
126 |
pierre@0
|
127 return $schema; |
pierre@0
|
128 } |
pierre@0
|
129 |
pierre@0
|
130 /** |
pierre@0
|
131 * ad_notify module installation. |
pierre@0
|
132 */ |
pierre@0
|
133 function ad_notify_install() { |
pierre@0
|
134 drupal_install_schema('ad_notify'); |
pierre@0
|
135 } |
pierre@0
|
136 |
pierre@0
|
137 /** |
pierre@0
|
138 * Allow complete uninstallation of the ad_notify module. |
pierre@0
|
139 */ |
pierre@0
|
140 function ad_notify_uninstall() { |
pierre@0
|
141 // Remove tables. |
pierre@0
|
142 drupal_uninstall_schema('ad_notify'); |
pierre@0
|
143 } |
pierre@1
|
144 |
pierre@1
|
145 /** |
pierre@1
|
146 * Introduce new roles field to allow per-role notifications. |
pierre@1
|
147 * Replace nonstandard %sitename with standard %site-name. |
pierre@1
|
148 * Replace nonstandard %siteurl with standard %site-url. |
pierre@1
|
149 */ |
pierre@1
|
150 function ad_notify_update_6001() { |
pierre@1
|
151 $ret = array(); |
pierre@1
|
152 db_add_field($ret, 'ad_notify', 'roles', array('type' => 'varchar', 'length' => '255', 'not null' => TRUE, 'default' => '')); |
pierre@1
|
153 |
pierre@1
|
154 $ret[] = update_sql('UPDATE {ad_notify} SET subject = REPLACE(subject, "%sitename", "%site-name")'); |
pierre@1
|
155 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%siteurl", "%site-url")'); |
pierre@1
|
156 |
pierre@1
|
157 } |
pierre@1
|
158 |
pierre@1
|
159 /** |
pierre@1
|
160 * Introduce new template field. |
pierre@1
|
161 */ |
pierre@1
|
162 function ad_notify_update_6002() { |
pierre@1
|
163 $ret = array(); |
pierre@1
|
164 db_add_field($ret, 'ad_notify', 'template', array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)); |
pierre@1
|
165 return $ret; |
pierre@1
|
166 } |
pierre@1
|
167 |
pierre@1
|
168 /** |
pierre@1
|
169 * Replace nonstandard %sitename with standard %site-name. |
pierre@1
|
170 * Replace nonstandard %siteurl with standard %site-url. |
pierre@1
|
171 * (Repeating update_6001 as there were more instances of these old variables |
pierre@1
|
172 * in the code.) |
pierre@1
|
173 */ |
pierre@1
|
174 function ad_notify_update_6003() { |
pierre@1
|
175 $ret = array(); |
pierre@1
|
176 $ret[] = update_sql('UPDATE {ad_notify} SET subject = REPLACE(subject, "%%sitename", "%%site-name")'); |
pierre@1
|
177 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%sitename", "%%site-name")'); |
pierre@1
|
178 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%max_views", "%%max_impressions")'); |
pierre@1
|
179 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%global_views", "%%global_impressions")'); |
pierre@1
|
180 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%last_year_views", "%%last_year_impressions")'); |
pierre@1
|
181 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%this_year_views", "%%this_year_impressions")'); |
pierre@1
|
182 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%last_month_views", "%%last_month_impressions")'); |
pierre@1
|
183 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%this_month_views", "%%this_month_impressions")'); |
pierre@1
|
184 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%yesterday_views", "%%yesterday_impressions")'); |
pierre@1
|
185 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%today_views", "%%today_impressions")'); |
pierre@1
|
186 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%last_hour_views", "%%last_hour_impressions")'); |
pierre@1
|
187 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%this_hour_views", "%%this_hour_impressions")'); |
pierre@1
|
188 return $ret; |
pierre@1
|
189 } |
pierre@1
|
190 |