danielebarchiesi@4
|
1 <?php
|
danielebarchiesi@4
|
2
|
danielebarchiesi@4
|
3 /**
|
danielebarchiesi@4
|
4 * @file Rules - Installation file.
|
danielebarchiesi@4
|
5 */
|
danielebarchiesi@4
|
6
|
danielebarchiesi@4
|
7 /**
|
danielebarchiesi@4
|
8 * Implements hook_install().
|
danielebarchiesi@4
|
9 */
|
danielebarchiesi@4
|
10 function rules_install() {
|
danielebarchiesi@4
|
11 module_load_include('inc', 'rules', 'modules/events');
|
danielebarchiesi@4
|
12 // Set the modules' weight to 20, see
|
danielebarchiesi@4
|
13 // http://drupal.org/node/445084#comment-1533280 for the reasoning.
|
danielebarchiesi@4
|
14 db_query("UPDATE {system} SET weight = 20 WHERE name = 'rules'");
|
danielebarchiesi@4
|
15 }
|
danielebarchiesi@4
|
16
|
danielebarchiesi@4
|
17 /**
|
danielebarchiesi@4
|
18 * Implements hook_uninstall().
|
danielebarchiesi@4
|
19 */
|
danielebarchiesi@4
|
20 function rules_uninstall() {
|
danielebarchiesi@4
|
21 variable_del('rules_event_whitelist');
|
danielebarchiesi@4
|
22 variable_del('rules_debug');
|
danielebarchiesi@4
|
23 }
|
danielebarchiesi@4
|
24
|
danielebarchiesi@4
|
25 /**
|
danielebarchiesi@4
|
26 * Implements hook_schema().
|
danielebarchiesi@4
|
27 */
|
danielebarchiesi@4
|
28 function rules_schema() {
|
danielebarchiesi@4
|
29 $schema['rules_config'] = array(
|
danielebarchiesi@4
|
30 'fields' => array(
|
danielebarchiesi@4
|
31 'id' => array(
|
danielebarchiesi@4
|
32 'type' => 'serial',
|
danielebarchiesi@4
|
33 'not null' => TRUE,
|
danielebarchiesi@4
|
34 'description' => 'The internal identifier for any configuration.',
|
danielebarchiesi@4
|
35 ),
|
danielebarchiesi@4
|
36 'name' => array(
|
danielebarchiesi@4
|
37 'type' => 'varchar',
|
danielebarchiesi@4
|
38 'length' => '64',
|
danielebarchiesi@4
|
39 'not null' => TRUE,
|
danielebarchiesi@4
|
40 'description' => 'The name of the configuration.',
|
danielebarchiesi@4
|
41 ),
|
danielebarchiesi@4
|
42 'label' => array(
|
danielebarchiesi@4
|
43 'type' => 'varchar',
|
danielebarchiesi@4
|
44 'length' => '255',
|
danielebarchiesi@4
|
45 'not null' => TRUE,
|
danielebarchiesi@4
|
46 'description' => 'The label of the configuration.',
|
danielebarchiesi@4
|
47 'default' => 'unlabeled',
|
danielebarchiesi@4
|
48 ),
|
danielebarchiesi@4
|
49 'plugin' => array(
|
danielebarchiesi@4
|
50 'type' => 'varchar',
|
danielebarchiesi@4
|
51 'length' => 127,
|
danielebarchiesi@4
|
52 'not null' => TRUE,
|
danielebarchiesi@4
|
53 'description' => 'The name of the plugin of this configuration.',
|
danielebarchiesi@4
|
54 ),
|
danielebarchiesi@4
|
55 'active' => array(
|
danielebarchiesi@4
|
56 'description' => 'Boolean indicating whether the configuration is active. Usage depends on how the using module makes use of it.',
|
danielebarchiesi@4
|
57 'type' => 'int',
|
danielebarchiesi@4
|
58 'not null' => TRUE,
|
danielebarchiesi@4
|
59 'default' => 1,
|
danielebarchiesi@4
|
60 ),
|
danielebarchiesi@4
|
61 'weight' => array(
|
danielebarchiesi@4
|
62 'type' => 'int',
|
danielebarchiesi@4
|
63 'not null' => TRUE,
|
danielebarchiesi@4
|
64 'default' => 0,
|
danielebarchiesi@4
|
65 'size' => 'tiny',
|
danielebarchiesi@4
|
66 'description' => 'Weight of the configuration. Usage depends on how the using module makes use of it.',
|
danielebarchiesi@4
|
67 ),
|
danielebarchiesi@4
|
68 'status' => array(
|
danielebarchiesi@4
|
69 'type' => 'int',
|
danielebarchiesi@4
|
70 'not null' => TRUE,
|
danielebarchiesi@4
|
71 // Set the default to ENTITY_CUSTOM without using the constant as it is
|
danielebarchiesi@4
|
72 // not safe to use it at this point.
|
danielebarchiesi@4
|
73 'default' => 0x01,
|
danielebarchiesi@4
|
74 'size' => 'tiny',
|
danielebarchiesi@4
|
75 'description' => 'The exportable status of the entity.',
|
danielebarchiesi@4
|
76 ),
|
danielebarchiesi@4
|
77 'dirty' => array(
|
danielebarchiesi@4
|
78 'type' => 'int',
|
danielebarchiesi@4
|
79 'not null' => TRUE,
|
danielebarchiesi@4
|
80 'default' => 0,
|
danielebarchiesi@4
|
81 'size' => 'tiny',
|
danielebarchiesi@4
|
82 'description' => 'Dirty configurations fail the integrity check, e.g. due to missing dependencies.',
|
danielebarchiesi@4
|
83 ),
|
danielebarchiesi@4
|
84 'module' => array(
|
danielebarchiesi@4
|
85 'description' => 'The name of the providing module if the entity has been defined in code.',
|
danielebarchiesi@4
|
86 'type' => 'varchar',
|
danielebarchiesi@4
|
87 'length' => 255,
|
danielebarchiesi@4
|
88 'not null' => FALSE,
|
danielebarchiesi@4
|
89 ),
|
danielebarchiesi@4
|
90 'owner' => array(
|
danielebarchiesi@4
|
91 'description' => 'The name of the module via which the rule has been configured.',
|
danielebarchiesi@4
|
92 'type' => 'varchar',
|
danielebarchiesi@4
|
93 'length' => 255,
|
danielebarchiesi@4
|
94 'not null' => TRUE,
|
danielebarchiesi@4
|
95 'default' => 'rules',
|
danielebarchiesi@4
|
96 ),
|
danielebarchiesi@4
|
97 'access_exposed' => array(
|
danielebarchiesi@4
|
98 'type' => 'int',
|
danielebarchiesi@4
|
99 'not null' => TRUE,
|
danielebarchiesi@4
|
100 'default' => 0,
|
danielebarchiesi@4
|
101 'size' => 'tiny',
|
danielebarchiesi@4
|
102 'description' => 'Whether to use a permission to control access for using components.',
|
danielebarchiesi@4
|
103 ),
|
danielebarchiesi@4
|
104 'data' => array(
|
danielebarchiesi@4
|
105 'type' => 'blob',
|
danielebarchiesi@4
|
106 'size' => 'big',
|
danielebarchiesi@4
|
107 'not null' => FALSE,
|
danielebarchiesi@4
|
108 'serialize' => TRUE,
|
danielebarchiesi@4
|
109 'description' => 'Everything else, serialized.',
|
danielebarchiesi@4
|
110 ),
|
danielebarchiesi@4
|
111 ),
|
danielebarchiesi@4
|
112 'primary key' => array('id'),
|
danielebarchiesi@4
|
113 'unique keys' => array(
|
danielebarchiesi@4
|
114 'name' => array('name'),
|
danielebarchiesi@4
|
115 ),
|
danielebarchiesi@4
|
116 'indexes' => array(
|
danielebarchiesi@4
|
117 'plugin' => array('plugin'),
|
danielebarchiesi@4
|
118 ),
|
danielebarchiesi@4
|
119 );
|
danielebarchiesi@4
|
120 $schema['rules_trigger'] = array(
|
danielebarchiesi@4
|
121 'fields' => array(
|
danielebarchiesi@4
|
122 'id' => array(
|
danielebarchiesi@4
|
123 'type' => 'int',
|
danielebarchiesi@4
|
124 'unsigned' => TRUE,
|
danielebarchiesi@4
|
125 'not null' => TRUE,
|
danielebarchiesi@4
|
126 'description' => 'The primary identifier of the configuration.',
|
danielebarchiesi@4
|
127 ),
|
danielebarchiesi@4
|
128 'event' => array(
|
danielebarchiesi@4
|
129 'type' => 'varchar',
|
danielebarchiesi@4
|
130 'length' => '127',
|
danielebarchiesi@4
|
131 'not null' => TRUE,
|
danielebarchiesi@4
|
132 'default' => '',
|
danielebarchiesi@4
|
133 'description' => 'The name of the event on which the configuration should be triggered.',
|
danielebarchiesi@4
|
134 ),
|
danielebarchiesi@4
|
135 ),
|
danielebarchiesi@4
|
136 'primary key' => array('id', 'event'),
|
danielebarchiesi@4
|
137 'foreign keys' => array(
|
danielebarchiesi@4
|
138 'table' => 'rules_config',
|
danielebarchiesi@4
|
139 'columns' => array('id' => 'id'),
|
danielebarchiesi@4
|
140 ),
|
danielebarchiesi@4
|
141 );
|
danielebarchiesi@4
|
142 $schema['rules_tags'] = array(
|
danielebarchiesi@4
|
143 'fields' => array(
|
danielebarchiesi@4
|
144 'id' => array(
|
danielebarchiesi@4
|
145 'type' => 'int',
|
danielebarchiesi@4
|
146 'unsigned' => TRUE,
|
danielebarchiesi@4
|
147 'not null' => TRUE,
|
danielebarchiesi@4
|
148 'description' => 'The primary identifier of the configuration.',
|
danielebarchiesi@4
|
149 ),
|
danielebarchiesi@4
|
150 'tag' => array(
|
danielebarchiesi@4
|
151 'type' => 'varchar',
|
danielebarchiesi@4
|
152 'length' => '255',
|
danielebarchiesi@4
|
153 'not null' => TRUE,
|
danielebarchiesi@4
|
154 'description' => 'The tag string associated with this configuration',
|
danielebarchiesi@4
|
155 ),
|
danielebarchiesi@4
|
156 ),
|
danielebarchiesi@4
|
157 'primary key' => array('id', 'tag'),
|
danielebarchiesi@4
|
158 'foreign keys' => array(
|
danielebarchiesi@4
|
159 'table' => 'rules_config',
|
danielebarchiesi@4
|
160 'columns' => array('id' => 'id'),
|
danielebarchiesi@4
|
161 ),
|
danielebarchiesi@4
|
162 );
|
danielebarchiesi@4
|
163 $schema['rules_dependencies'] = array(
|
danielebarchiesi@4
|
164 'fields' => array(
|
danielebarchiesi@4
|
165 'id' => array(
|
danielebarchiesi@4
|
166 'type' => 'int',
|
danielebarchiesi@4
|
167 'unsigned' => TRUE,
|
danielebarchiesi@4
|
168 'not null' => TRUE,
|
danielebarchiesi@4
|
169 'description' => 'The primary identifier of the configuration.',
|
danielebarchiesi@4
|
170 ),
|
danielebarchiesi@4
|
171 'module' => array(
|
danielebarchiesi@4
|
172 'type' => 'varchar',
|
danielebarchiesi@4
|
173 'length' => '255',
|
danielebarchiesi@4
|
174 'not null' => TRUE,
|
danielebarchiesi@4
|
175 'description' => 'The name of the module that is required for the configuration.',
|
danielebarchiesi@4
|
176 ),
|
danielebarchiesi@4
|
177 ),
|
danielebarchiesi@4
|
178 'primary key' => array('id', 'module'),
|
danielebarchiesi@4
|
179 'indexes' => array(
|
danielebarchiesi@4
|
180 'module' => array('module'),
|
danielebarchiesi@4
|
181 ),
|
danielebarchiesi@4
|
182 'foreign keys' => array(
|
danielebarchiesi@4
|
183 'table' => 'rules_config',
|
danielebarchiesi@4
|
184 'columns' => array('id' => 'id'),
|
danielebarchiesi@4
|
185 ),
|
danielebarchiesi@4
|
186 );
|
danielebarchiesi@4
|
187 $schema['cache_rules'] = drupal_get_schema_unprocessed('system', 'cache');
|
danielebarchiesi@4
|
188 $schema['cache_rules']['description'] = 'Cache table for the rules engine to store configured items.';
|
danielebarchiesi@4
|
189 return $schema;
|
danielebarchiesi@4
|
190 }
|
danielebarchiesi@4
|
191
|
danielebarchiesi@4
|
192 /**
|
danielebarchiesi@4
|
193 * Upgrade from Rules 6.x-1.x to 7.x.
|
danielebarchiesi@4
|
194 */
|
danielebarchiesi@4
|
195 function rules_update_7200() {
|
danielebarchiesi@4
|
196 // Create the new db tables first.
|
danielebarchiesi@4
|
197 $schema['rules_config'] = array(
|
danielebarchiesi@4
|
198 'fields' => array(
|
danielebarchiesi@4
|
199 'id' => array(
|
danielebarchiesi@4
|
200 'type' => 'serial',
|
danielebarchiesi@4
|
201 'not null' => TRUE,
|
danielebarchiesi@4
|
202 'description' => 'The internal identifier for any configuration.',
|
danielebarchiesi@4
|
203 ),
|
danielebarchiesi@4
|
204 'name' => array(
|
danielebarchiesi@4
|
205 'type' => 'varchar',
|
danielebarchiesi@4
|
206 'length' => '255',
|
danielebarchiesi@4
|
207 'not null' => TRUE,
|
danielebarchiesi@4
|
208 'description' => 'The name of the configuration.',
|
danielebarchiesi@4
|
209 ),
|
danielebarchiesi@4
|
210 'label' => array(
|
danielebarchiesi@4
|
211 'type' => 'varchar',
|
danielebarchiesi@4
|
212 'length' => '255',
|
danielebarchiesi@4
|
213 'not null' => TRUE,
|
danielebarchiesi@4
|
214 'description' => 'The label of the configuration.',
|
danielebarchiesi@4
|
215 'default' => 'unlabeled',
|
danielebarchiesi@4
|
216 ),
|
danielebarchiesi@4
|
217 'plugin' => array(
|
danielebarchiesi@4
|
218 'type' => 'varchar',
|
danielebarchiesi@4
|
219 'length' => 127,
|
danielebarchiesi@4
|
220 'not null' => TRUE,
|
danielebarchiesi@4
|
221 'description' => 'The name of the plugin of this configuration.',
|
danielebarchiesi@4
|
222 ),
|
danielebarchiesi@4
|
223 'active' => array(
|
danielebarchiesi@4
|
224 'description' => 'Boolean indicating whether the configuration is active. Usage depends on how the using module makes use of it.',
|
danielebarchiesi@4
|
225 'type' => 'int',
|
danielebarchiesi@4
|
226 'not null' => TRUE,
|
danielebarchiesi@4
|
227 'default' => 1,
|
danielebarchiesi@4
|
228 ),
|
danielebarchiesi@4
|
229 'weight' => array(
|
danielebarchiesi@4
|
230 'type' => 'int',
|
danielebarchiesi@4
|
231 'not null' => TRUE,
|
danielebarchiesi@4
|
232 'default' => 0,
|
danielebarchiesi@4
|
233 'size' => 'tiny',
|
danielebarchiesi@4
|
234 'description' => 'Weight of the configuration. Usage depends on how the using module makes use of it.',
|
danielebarchiesi@4
|
235 ),
|
danielebarchiesi@4
|
236 'status' => array(
|
danielebarchiesi@4
|
237 'type' => 'int',
|
danielebarchiesi@4
|
238 'not null' => TRUE,
|
danielebarchiesi@4
|
239 // Set the default to ENTITY_CUSTOM without using the constant as it is
|
danielebarchiesi@4
|
240 // not safe to use it at this point.
|
danielebarchiesi@4
|
241 'default' => 0x01,
|
danielebarchiesi@4
|
242 'size' => 'tiny',
|
danielebarchiesi@4
|
243 'description' => 'The exportable status of the entity.',
|
danielebarchiesi@4
|
244 ),
|
danielebarchiesi@4
|
245 'module' => array(
|
danielebarchiesi@4
|
246 'description' => 'The name of the providing module if the entity has been defined in code.',
|
danielebarchiesi@4
|
247 'type' => 'varchar',
|
danielebarchiesi@4
|
248 'length' => 255,
|
danielebarchiesi@4
|
249 'not null' => FALSE,
|
danielebarchiesi@4
|
250 ),
|
danielebarchiesi@4
|
251 'data' => array(
|
danielebarchiesi@4
|
252 'type' => 'blob',
|
danielebarchiesi@4
|
253 'size' => 'big',
|
danielebarchiesi@4
|
254 'not null' => FALSE,
|
danielebarchiesi@4
|
255 'serialize' => TRUE,
|
danielebarchiesi@4
|
256 'description' => 'Everything else, serialized.',
|
danielebarchiesi@4
|
257 ),
|
danielebarchiesi@4
|
258 ),
|
danielebarchiesi@4
|
259 'primary key' => array('id'),
|
danielebarchiesi@4
|
260 'unique keys' => array(
|
danielebarchiesi@4
|
261 'name' => array('name'),
|
danielebarchiesi@4
|
262 ),
|
danielebarchiesi@4
|
263 );
|
danielebarchiesi@4
|
264 $schema['rules_trigger'] = array(
|
danielebarchiesi@4
|
265 'fields' => array(
|
danielebarchiesi@4
|
266 'id' => array(
|
danielebarchiesi@4
|
267 'type' => 'int',
|
danielebarchiesi@4
|
268 'unsigned' => TRUE,
|
danielebarchiesi@4
|
269 'not null' => TRUE,
|
danielebarchiesi@4
|
270 'description' => 'The primary identifier of the configuration.',
|
danielebarchiesi@4
|
271 ),
|
danielebarchiesi@4
|
272 'event' => array(
|
danielebarchiesi@4
|
273 'type' => 'varchar',
|
danielebarchiesi@4
|
274 'length' => '127',
|
danielebarchiesi@4
|
275 'not null' => TRUE,
|
danielebarchiesi@4
|
276 'default' => '',
|
danielebarchiesi@4
|
277 'description' => 'The name of the event on which the configuration should be triggered.',
|
danielebarchiesi@4
|
278 ),
|
danielebarchiesi@4
|
279 ),
|
danielebarchiesi@4
|
280 'primary key' => array('id', 'event'),
|
danielebarchiesi@4
|
281 'foreign keys' => array(
|
danielebarchiesi@4
|
282 'table' => 'rules_config',
|
danielebarchiesi@4
|
283 'columns' => array('id' => 'id'),
|
danielebarchiesi@4
|
284 ),
|
danielebarchiesi@4
|
285 );
|
danielebarchiesi@4
|
286 db_create_table('rules_config', $schema['rules_config']);
|
danielebarchiesi@4
|
287 db_create_table('rules_trigger', $schema['rules_trigger']);
|
danielebarchiesi@4
|
288 // The cache table already exists, but changed. So re-create it.
|
danielebarchiesi@4
|
289 db_drop_table('cache_rules');
|
danielebarchiesi@4
|
290 $schema['cache_rules'] = drupal_get_schema_unprocessed('system', 'cache');
|
danielebarchiesi@4
|
291 $schema['cache_rules']['description'] = 'Cache table for the rules engine to store configured items.';
|
danielebarchiesi@4
|
292 db_create_table('cache_rules', $schema['cache_rules']);
|
danielebarchiesi@4
|
293 // Remove deprecated variables.
|
danielebarchiesi@4
|
294 variable_del('rules_inactive_sets');
|
danielebarchiesi@4
|
295 variable_del('rules_show_fixed');
|
danielebarchiesi@4
|
296 variable_del('rules_hide_token_message');
|
danielebarchiesi@4
|
297 variable_del('rules_counter');
|
danielebarchiesi@4
|
298
|
danielebarchiesi@4
|
299 return t('The database tables for Rules 2.x have been created. The old tables from Rules 1.x are still available and contain your rules, which are not updated yet.');
|
danielebarchiesi@4
|
300 }
|
danielebarchiesi@4
|
301
|
danielebarchiesi@4
|
302 /**
|
danielebarchiesi@4
|
303 * Add in the exportable entity db columns as required by the entity API.
|
danielebarchiesi@4
|
304 */
|
danielebarchiesi@4
|
305 function rules_update_7201() {
|
danielebarchiesi@4
|
306 // Previously this was update 7200, so check whether we need to run it really.
|
danielebarchiesi@4
|
307 // The update has been moved as 7200 needs to be the 6.x-7.x upgrade.
|
danielebarchiesi@4
|
308 if (!db_field_exists('rules_config', 'status')) {
|
danielebarchiesi@4
|
309 db_add_field('rules_config', 'status', array(
|
danielebarchiesi@4
|
310 'type' => 'int',
|
danielebarchiesi@4
|
311 'not null' => TRUE,
|
danielebarchiesi@4
|
312 'default' => ENTITY_CUSTOM,
|
danielebarchiesi@4
|
313 'size' => 'tiny',
|
danielebarchiesi@4
|
314 'description' => 'The exportable status of the entity.',
|
danielebarchiesi@4
|
315 ));
|
danielebarchiesi@4
|
316 // The module column did already exist before.
|
danielebarchiesi@4
|
317 }
|
danielebarchiesi@4
|
318 }
|
danielebarchiesi@4
|
319
|
danielebarchiesi@4
|
320 /**
|
danielebarchiesi@4
|
321 * Add an index for the rules configuration plugin column.
|
danielebarchiesi@4
|
322 */
|
danielebarchiesi@4
|
323 function rules_update_7202() {
|
danielebarchiesi@4
|
324 db_add_index('rules_config', 'plugin', array('plugin'));
|
danielebarchiesi@4
|
325 }
|
danielebarchiesi@4
|
326
|
danielebarchiesi@4
|
327 /**
|
danielebarchiesi@4
|
328 * Fix the length of the rules_config.name column.
|
danielebarchiesi@4
|
329 */
|
danielebarchiesi@4
|
330 function rules_update_7203() {
|
danielebarchiesi@4
|
331 db_drop_unique_key('rules_config', 'name');
|
danielebarchiesi@4
|
332 $keys = array(
|
danielebarchiesi@4
|
333 'unique keys' => array(
|
danielebarchiesi@4
|
334 'name' => array('name'),
|
danielebarchiesi@4
|
335 ),
|
danielebarchiesi@4
|
336 );
|
danielebarchiesi@4
|
337 db_change_field('rules_config', 'name', 'name', array(
|
danielebarchiesi@4
|
338 'type' => 'varchar',
|
danielebarchiesi@4
|
339 'length' => '64',
|
danielebarchiesi@4
|
340 'not null' => TRUE,
|
danielebarchiesi@4
|
341 'description' => 'The name of the configuration.',
|
danielebarchiesi@4
|
342 ), $keys);
|
danielebarchiesi@4
|
343 }
|
danielebarchiesi@4
|
344
|
danielebarchiesi@4
|
345 /**
|
danielebarchiesi@4
|
346 * Add a table for rules-config tags.
|
danielebarchiesi@4
|
347 */
|
danielebarchiesi@4
|
348 function rules_update_7204() {
|
danielebarchiesi@4
|
349 if (!db_table_exists('rules_tags')) {
|
danielebarchiesi@4
|
350 $schema['rules_tags'] = array(
|
danielebarchiesi@4
|
351 'fields' => array(
|
danielebarchiesi@4
|
352 'id' => array(
|
danielebarchiesi@4
|
353 'type' => 'int',
|
danielebarchiesi@4
|
354 'unsigned' => TRUE,
|
danielebarchiesi@4
|
355 'not null' => TRUE,
|
danielebarchiesi@4
|
356 'description' => 'The primary identifier of the configuration.',
|
danielebarchiesi@4
|
357 ),
|
danielebarchiesi@4
|
358 'tag' => array(
|
danielebarchiesi@4
|
359 'type' => 'varchar',
|
danielebarchiesi@4
|
360 'length' => '255',
|
danielebarchiesi@4
|
361 'not null' => TRUE,
|
danielebarchiesi@4
|
362 'description' => 'The tag string associated with this configuration',
|
danielebarchiesi@4
|
363 ),
|
danielebarchiesi@4
|
364 ),
|
danielebarchiesi@4
|
365 'primary key' => array('id', 'tag'),
|
danielebarchiesi@4
|
366 'foreign keys' => array(
|
danielebarchiesi@4
|
367 'table' => 'rules_config',
|
danielebarchiesi@4
|
368 'columns' => array('id' => 'id'),
|
danielebarchiesi@4
|
369 ),
|
danielebarchiesi@4
|
370 );
|
danielebarchiesi@4
|
371 db_create_table('rules_tags', $schema['rules_tags']);
|
danielebarchiesi@4
|
372 }
|
danielebarchiesi@4
|
373 }
|
danielebarchiesi@4
|
374
|
danielebarchiesi@4
|
375 /**
|
danielebarchiesi@4
|
376 * Add the rules_dependencies table and the rules_config.dirty column.
|
danielebarchiesi@4
|
377 */
|
danielebarchiesi@4
|
378 function rules_update_7205() {
|
danielebarchiesi@4
|
379 if (!db_table_exists('rules_dependencies')) {
|
danielebarchiesi@4
|
380 $schema['rules_dependencies'] = array(
|
danielebarchiesi@4
|
381 'fields' => array(
|
danielebarchiesi@4
|
382 'id' => array(
|
danielebarchiesi@4
|
383 'type' => 'int',
|
danielebarchiesi@4
|
384 'unsigned' => TRUE,
|
danielebarchiesi@4
|
385 'not null' => TRUE,
|
danielebarchiesi@4
|
386 'description' => 'The primary identifier of the configuration.',
|
danielebarchiesi@4
|
387 ),
|
danielebarchiesi@4
|
388 'module' => array(
|
danielebarchiesi@4
|
389 'type' => 'varchar',
|
danielebarchiesi@4
|
390 'length' => '255',
|
danielebarchiesi@4
|
391 'not null' => TRUE,
|
danielebarchiesi@4
|
392 'description' => 'The name of the module that is required for the configuration.',
|
danielebarchiesi@4
|
393 ),
|
danielebarchiesi@4
|
394 ),
|
danielebarchiesi@4
|
395 'primary key' => array('id', 'module'),
|
danielebarchiesi@4
|
396 'indexes' => array(
|
danielebarchiesi@4
|
397 'module' => array('module'),
|
danielebarchiesi@4
|
398 ),
|
danielebarchiesi@4
|
399 'foreign keys' => array(
|
danielebarchiesi@4
|
400 'table' => 'rules_config',
|
danielebarchiesi@4
|
401 'columns' => array('id' => 'id'),
|
danielebarchiesi@4
|
402 ),
|
danielebarchiesi@4
|
403 );
|
danielebarchiesi@4
|
404 db_create_table('rules_dependencies', $schema['rules_dependencies']);
|
danielebarchiesi@4
|
405 }
|
danielebarchiesi@4
|
406 if (!db_field_exists('rules_config', 'dirty')) {
|
danielebarchiesi@4
|
407 db_add_field('rules_config', 'dirty', array(
|
danielebarchiesi@4
|
408 'type' => 'int',
|
danielebarchiesi@4
|
409 'not null' => TRUE,
|
danielebarchiesi@4
|
410 'default' => 0,
|
danielebarchiesi@4
|
411 'size' => 'tiny',
|
danielebarchiesi@4
|
412 ));
|
danielebarchiesi@4
|
413 }
|
danielebarchiesi@4
|
414 }
|
danielebarchiesi@4
|
415
|
danielebarchiesi@4
|
416 /**
|
danielebarchiesi@4
|
417 * Flush all caches.
|
danielebarchiesi@4
|
418 */
|
danielebarchiesi@4
|
419 function rules_update_7206() {
|
danielebarchiesi@4
|
420 // The update system is going to flush all caches anyway, so nothing to do.
|
danielebarchiesi@4
|
421 }
|
danielebarchiesi@4
|
422
|
danielebarchiesi@4
|
423 /**
|
danielebarchiesi@4
|
424 * Flush all caches.
|
danielebarchiesi@4
|
425 */
|
danielebarchiesi@4
|
426 function rules_update_7207() {
|
danielebarchiesi@4
|
427 // The update system is going to flush all caches anyway, so nothing to do.
|
danielebarchiesi@4
|
428 }
|
danielebarchiesi@4
|
429
|
danielebarchiesi@4
|
430 /**
|
danielebarchiesi@4
|
431 * Flush all caches to update the data_is_empty condition info.
|
danielebarchiesi@4
|
432 */
|
danielebarchiesi@4
|
433 function rules_update_7208() {
|
danielebarchiesi@4
|
434 // The update system is going to flush all caches anyway, so nothing to do.
|
danielebarchiesi@4
|
435 }
|
danielebarchiesi@4
|
436
|
danielebarchiesi@4
|
437 /**
|
danielebarchiesi@4
|
438 * Creates a flag that enables a permission for using components.
|
danielebarchiesi@4
|
439 */
|
danielebarchiesi@4
|
440 function rules_update_7209() {
|
danielebarchiesi@4
|
441 // Create a access exposed flag column.
|
danielebarchiesi@4
|
442 db_add_field('rules_config', 'access_exposed', array(
|
danielebarchiesi@4
|
443 'type' => 'int',
|
danielebarchiesi@4
|
444 'not null' => TRUE,
|
danielebarchiesi@4
|
445 'default' => 0,
|
danielebarchiesi@4
|
446 'size' => 'tiny',
|
danielebarchiesi@4
|
447 'description' => 'Whether to use a permission to control access for using components.',
|
danielebarchiesi@4
|
448 ));
|
danielebarchiesi@4
|
449 }
|
danielebarchiesi@4
|
450
|
danielebarchiesi@4
|
451 /**
|
danielebarchiesi@4
|
452 * Deletes the unused rules_empty_sets variable.
|
danielebarchiesi@4
|
453 */
|
danielebarchiesi@4
|
454 function rules_update_7210() {
|
danielebarchiesi@4
|
455 variable_del('rules_empty_sets');
|
danielebarchiesi@4
|
456 }
|
danielebarchiesi@4
|
457
|
danielebarchiesi@4
|
458 /**
|
danielebarchiesi@4
|
459 * Creates the "owner" column.
|
danielebarchiesi@4
|
460 */
|
danielebarchiesi@4
|
461 function rules_update_7211() {
|
danielebarchiesi@4
|
462 // Create a owner column.
|
danielebarchiesi@4
|
463 db_add_field('rules_config', 'owner', array(
|
danielebarchiesi@4
|
464 'description' => 'The name of the module via which the rule has been configured.',
|
danielebarchiesi@4
|
465 'type' => 'varchar',
|
danielebarchiesi@4
|
466 'length' => 255,
|
danielebarchiesi@4
|
467 'not null' => TRUE,
|
danielebarchiesi@4
|
468 'default' => 'rules',
|
danielebarchiesi@4
|
469 ));
|
danielebarchiesi@4
|
470 }
|