Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
93.85% |
1022 / 1089 |
|
33.33% |
1 / 3 |
CRAP | |
0.00% |
0 / 1 |
release_3_0_0 | |
93.85% |
1022 / 1089 |
|
33.33% |
1 / 3 |
3.00 | |
0.00% |
0 / 1 |
effectively_installed | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
update_schema | |
100.00% |
1022 / 1022 |
|
100.00% |
1 / 1 |
1 | |||
revert_schema | |
0.00% |
0 / 66 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | /** |
3 | * |
4 | * This file is part of the phpBB Forum Software package. |
5 | * |
6 | * @copyright (c) phpBB Limited <https://www.phpbb.com> |
7 | * @license GNU General Public License, version 2 (GPL-2.0) |
8 | * |
9 | * For full copyright and license information, please see |
10 | * the docs/CREDITS.txt file. |
11 | * |
12 | */ |
13 | |
14 | namespace phpbb\db\migration\data\v30x; |
15 | |
16 | class release_3_0_0 extends \phpbb\db\migration\migration |
17 | { |
18 | public function effectively_installed() |
19 | { |
20 | return phpbb_version_compare($this->config['version'], '3.0.0', '>='); |
21 | } |
22 | |
23 | public function update_schema() |
24 | { |
25 | return array( |
26 | 'add_tables' => array( |
27 | $this->table_prefix . 'attachments' => array( |
28 | 'COLUMNS' => array( |
29 | 'attach_id' => array('UINT', NULL, 'auto_increment'), |
30 | 'post_msg_id' => array('UINT', 0), |
31 | 'topic_id' => array('UINT', 0), |
32 | 'in_message' => array('BOOL', 0), |
33 | 'poster_id' => array('UINT', 0), |
34 | 'is_orphan' => array('BOOL', 1), |
35 | 'physical_filename' => array('VCHAR', ''), |
36 | 'real_filename' => array('VCHAR', ''), |
37 | 'download_count' => array('UINT', 0), |
38 | 'attach_comment' => array('TEXT_UNI', ''), |
39 | 'extension' => array('VCHAR:100', ''), |
40 | 'mimetype' => array('VCHAR:100', ''), |
41 | 'filesize' => array('UINT:20', 0), |
42 | 'filetime' => array('TIMESTAMP', 0), |
43 | 'thumbnail' => array('BOOL', 0), |
44 | ), |
45 | 'PRIMARY_KEY' => 'attach_id', |
46 | 'KEYS' => array( |
47 | 'filetime' => array('INDEX', 'filetime'), |
48 | 'post_msg_id' => array('INDEX', 'post_msg_id'), |
49 | 'topic_id' => array('INDEX', 'topic_id'), |
50 | 'poster_id' => array('INDEX', 'poster_id'), |
51 | 'is_orphan' => array('INDEX', 'is_orphan'), |
52 | ), |
53 | ), |
54 | |
55 | $this->table_prefix . 'acl_groups' => array( |
56 | 'COLUMNS' => array( |
57 | 'group_id' => array('UINT', 0), |
58 | 'forum_id' => array('UINT', 0), |
59 | 'auth_option_id' => array('UINT', 0), |
60 | 'auth_role_id' => array('UINT', 0), |
61 | 'auth_setting' => array('TINT:2', 0), |
62 | ), |
63 | 'KEYS' => array( |
64 | 'group_id' => array('INDEX', 'group_id'), |
65 | 'auth_opt_id' => array('INDEX', 'auth_option_id'), |
66 | 'auth_role_id' => array('INDEX', 'auth_role_id'), |
67 | ), |
68 | ), |
69 | |
70 | $this->table_prefix . 'acl_options' => array( |
71 | 'COLUMNS' => array( |
72 | 'auth_option_id' => array('UINT', NULL, 'auto_increment'), |
73 | 'auth_option' => array('VCHAR:50', ''), |
74 | 'is_global' => array('BOOL', 0), |
75 | 'is_local' => array('BOOL', 0), |
76 | 'founder_only' => array('BOOL', 0), |
77 | ), |
78 | 'PRIMARY_KEY' => 'auth_option_id', |
79 | 'KEYS' => array( |
80 | 'auth_option' => array('INDEX', 'auth_option'), |
81 | ), |
82 | ), |
83 | |
84 | $this->table_prefix . 'acl_roles' => array( |
85 | 'COLUMNS' => array( |
86 | 'role_id' => array('UINT', NULL, 'auto_increment'), |
87 | 'role_name' => array('VCHAR_UNI', ''), |
88 | 'role_description' => array('TEXT_UNI', ''), |
89 | 'role_type' => array('VCHAR:10', ''), |
90 | 'role_order' => array('USINT', 0), |
91 | ), |
92 | 'PRIMARY_KEY' => 'role_id', |
93 | 'KEYS' => array( |
94 | 'role_type' => array('INDEX', 'role_type'), |
95 | 'role_order' => array('INDEX', 'role_order'), |
96 | ), |
97 | ), |
98 | |
99 | $this->table_prefix . 'acl_roles_data' => array( |
100 | 'COLUMNS' => array( |
101 | 'role_id' => array('UINT', 0), |
102 | 'auth_option_id' => array('UINT', 0), |
103 | 'auth_setting' => array('TINT:2', 0), |
104 | ), |
105 | 'PRIMARY_KEY' => array('role_id', 'auth_option_id'), |
106 | 'KEYS' => array( |
107 | 'ath_op_id' => array('INDEX', 'auth_option_id'), |
108 | ), |
109 | ), |
110 | |
111 | $this->table_prefix . 'acl_users' => array( |
112 | 'COLUMNS' => array( |
113 | 'user_id' => array('UINT', 0), |
114 | 'forum_id' => array('UINT', 0), |
115 | 'auth_option_id' => array('UINT', 0), |
116 | 'auth_role_id' => array('UINT', 0), |
117 | 'auth_setting' => array('TINT:2', 0), |
118 | ), |
119 | 'KEYS' => array( |
120 | 'user_id' => array('INDEX', 'user_id'), |
121 | 'auth_option_id' => array('INDEX', 'auth_option_id'), |
122 | 'auth_role_id' => array('INDEX', 'auth_role_id'), |
123 | ), |
124 | ), |
125 | |
126 | $this->table_prefix . 'banlist' => array( |
127 | 'COLUMNS' => array( |
128 | 'ban_id' => array('UINT', NULL, 'auto_increment'), |
129 | 'ban_userid' => array('UINT', 0), |
130 | 'ban_ip' => array('VCHAR:40', ''), |
131 | 'ban_email' => array('VCHAR_UNI:100', ''), |
132 | 'ban_start' => array('TIMESTAMP', 0), |
133 | 'ban_end' => array('TIMESTAMP', 0), |
134 | 'ban_exclude' => array('BOOL', 0), |
135 | 'ban_reason' => array('VCHAR_UNI', ''), |
136 | 'ban_give_reason' => array('VCHAR_UNI', ''), |
137 | ), |
138 | 'PRIMARY_KEY' => 'ban_id', |
139 | 'KEYS' => array( |
140 | 'ban_end' => array('INDEX', 'ban_end'), |
141 | 'ban_user' => array('INDEX', array('ban_userid', 'ban_exclude')), |
142 | 'ban_email' => array('INDEX', array('ban_email', 'ban_exclude')), |
143 | 'ban_ip' => array('INDEX', array('ban_ip', 'ban_exclude')), |
144 | ), |
145 | ), |
146 | |
147 | $this->table_prefix . 'bbcodes' => array( |
148 | 'COLUMNS' => array( |
149 | 'bbcode_id' => array('TINT:3', 0), |
150 | 'bbcode_tag' => array('VCHAR:16', ''), |
151 | 'bbcode_helpline' => array('VCHAR_UNI', ''), |
152 | 'display_on_posting' => array('BOOL', 0), |
153 | 'bbcode_match' => array('TEXT_UNI', ''), |
154 | 'bbcode_tpl' => array('MTEXT_UNI', ''), |
155 | 'first_pass_match' => array('MTEXT_UNI', ''), |
156 | 'first_pass_replace' => array('MTEXT_UNI', ''), |
157 | 'second_pass_match' => array('MTEXT_UNI', ''), |
158 | 'second_pass_replace' => array('MTEXT_UNI', ''), |
159 | ), |
160 | 'PRIMARY_KEY' => 'bbcode_id', |
161 | 'KEYS' => array( |
162 | 'display_on_post' => array('INDEX', 'display_on_posting'), |
163 | ), |
164 | ), |
165 | |
166 | $this->table_prefix . 'bookmarks' => array( |
167 | 'COLUMNS' => array( |
168 | 'topic_id' => array('UINT', 0), |
169 | 'user_id' => array('UINT', 0), |
170 | ), |
171 | 'PRIMARY_KEY' => array('topic_id', 'user_id'), |
172 | ), |
173 | |
174 | $this->table_prefix . 'bots' => array( |
175 | 'COLUMNS' => array( |
176 | 'bot_id' => array('UINT', NULL, 'auto_increment'), |
177 | 'bot_active' => array('BOOL', 1), |
178 | 'bot_name' => array('STEXT_UNI', ''), |
179 | 'user_id' => array('UINT', 0), |
180 | 'bot_agent' => array('VCHAR', ''), |
181 | 'bot_ip' => array('VCHAR', ''), |
182 | ), |
183 | 'PRIMARY_KEY' => 'bot_id', |
184 | 'KEYS' => array( |
185 | 'bot_active' => array('INDEX', 'bot_active'), |
186 | ), |
187 | ), |
188 | |
189 | $this->table_prefix . 'config' => array( |
190 | 'COLUMNS' => array( |
191 | 'config_name' => array('VCHAR', ''), |
192 | 'config_value' => array('VCHAR_UNI', ''), |
193 | 'is_dynamic' => array('BOOL', 0), |
194 | ), |
195 | 'PRIMARY_KEY' => 'config_name', |
196 | 'KEYS' => array( |
197 | 'is_dynamic' => array('INDEX', 'is_dynamic'), |
198 | ), |
199 | ), |
200 | |
201 | $this->table_prefix . 'confirm' => array( |
202 | 'COLUMNS' => array( |
203 | 'confirm_id' => array('CHAR:32', ''), |
204 | 'session_id' => array('CHAR:32', ''), |
205 | 'confirm_type' => array('TINT:3', 0), |
206 | 'code' => array('VCHAR:8', ''), |
207 | 'seed' => array('UINT:10', 0), |
208 | ), |
209 | 'PRIMARY_KEY' => array('session_id', 'confirm_id'), |
210 | 'KEYS' => array( |
211 | 'confirm_type' => array('INDEX', 'confirm_type'), |
212 | ), |
213 | ), |
214 | |
215 | $this->table_prefix . 'disallow' => array( |
216 | 'COLUMNS' => array( |
217 | 'disallow_id' => array('UINT', NULL, 'auto_increment'), |
218 | 'disallow_username' => array('VCHAR_UNI:255', ''), |
219 | ), |
220 | 'PRIMARY_KEY' => 'disallow_id', |
221 | ), |
222 | |
223 | $this->table_prefix . 'drafts' => array( |
224 | 'COLUMNS' => array( |
225 | 'draft_id' => array('UINT', NULL, 'auto_increment'), |
226 | 'user_id' => array('UINT', 0), |
227 | 'topic_id' => array('UINT', 0), |
228 | 'forum_id' => array('UINT', 0), |
229 | 'save_time' => array('TIMESTAMP', 0), |
230 | 'draft_subject' => array('XSTEXT_UNI', ''), |
231 | 'draft_message' => array('MTEXT_UNI', ''), |
232 | ), |
233 | 'PRIMARY_KEY' => 'draft_id', |
234 | 'KEYS' => array( |
235 | 'save_time' => array('INDEX', 'save_time'), |
236 | ), |
237 | ), |
238 | |
239 | $this->table_prefix . 'extensions' => array( |
240 | 'COLUMNS' => array( |
241 | 'extension_id' => array('UINT', NULL, 'auto_increment'), |
242 | 'group_id' => array('UINT', 0), |
243 | 'extension' => array('VCHAR:100', ''), |
244 | ), |
245 | 'PRIMARY_KEY' => 'extension_id', |
246 | ), |
247 | |
248 | $this->table_prefix . 'extension_groups' => array( |
249 | 'COLUMNS' => array( |
250 | 'group_id' => array('UINT', NULL, 'auto_increment'), |
251 | 'group_name' => array('VCHAR_UNI', ''), |
252 | 'cat_id' => array('TINT:2', 0), |
253 | 'allow_group' => array('BOOL', 0), |
254 | 'download_mode' => array('BOOL', 1), |
255 | 'upload_icon' => array('VCHAR', ''), |
256 | 'max_filesize' => array('UINT:20', 0), |
257 | 'allowed_forums' => array('TEXT', ''), |
258 | 'allow_in_pm' => array('BOOL', 0), |
259 | ), |
260 | 'PRIMARY_KEY' => 'group_id', |
261 | ), |
262 | |
263 | $this->table_prefix . 'forums' => array( |
264 | 'COLUMNS' => array( |
265 | 'forum_id' => array('UINT', NULL, 'auto_increment'), |
266 | 'parent_id' => array('UINT', 0), |
267 | 'left_id' => array('UINT', 0), |
268 | 'right_id' => array('UINT', 0), |
269 | 'forum_parents' => array('MTEXT', ''), |
270 | 'forum_name' => array('STEXT_UNI', ''), |
271 | 'forum_desc' => array('TEXT_UNI', ''), |
272 | 'forum_desc_bitfield' => array('VCHAR:255', ''), |
273 | 'forum_desc_options' => array('UINT:11', 7), |
274 | 'forum_desc_uid' => array('VCHAR:8', ''), |
275 | 'forum_link' => array('VCHAR_UNI', ''), |
276 | 'forum_password' => array('VCHAR_UNI:40', ''), |
277 | 'forum_style' => array('USINT', 0), |
278 | 'forum_image' => array('VCHAR', ''), |
279 | 'forum_rules' => array('TEXT_UNI', ''), |
280 | 'forum_rules_link' => array('VCHAR_UNI', ''), |
281 | 'forum_rules_bitfield' => array('VCHAR:255', ''), |
282 | 'forum_rules_options' => array('UINT:11', 7), |
283 | 'forum_rules_uid' => array('VCHAR:8', ''), |
284 | 'forum_topics_per_page' => array('TINT:4', 0), |
285 | 'forum_type' => array('TINT:4', 0), |
286 | 'forum_status' => array('TINT:4', 0), |
287 | 'forum_posts' => array('UINT', 0), |
288 | 'forum_topics' => array('UINT', 0), |
289 | 'forum_topics_real' => array('UINT', 0), |
290 | 'forum_last_post_id' => array('UINT', 0), |
291 | 'forum_last_poster_id' => array('UINT', 0), |
292 | 'forum_last_post_subject' => array('XSTEXT_UNI', ''), |
293 | 'forum_last_post_time' => array('TIMESTAMP', 0), |
294 | 'forum_last_poster_name'=> array('VCHAR_UNI', ''), |
295 | 'forum_last_poster_colour'=> array('VCHAR:6', ''), |
296 | 'forum_flags' => array('TINT:4', 32), |
297 | 'display_on_index' => array('BOOL', 1), |
298 | 'enable_indexing' => array('BOOL', 1), |
299 | 'enable_icons' => array('BOOL', 1), |
300 | 'enable_prune' => array('BOOL', 0), |
301 | 'prune_next' => array('TIMESTAMP', 0), |
302 | 'prune_days' => array('UINT', 0), |
303 | 'prune_viewed' => array('UINT', 0), |
304 | 'prune_freq' => array('UINT', 0), |
305 | ), |
306 | 'PRIMARY_KEY' => 'forum_id', |
307 | 'KEYS' => array( |
308 | 'left_right_id' => array('INDEX', array('left_id', 'right_id')), |
309 | 'forum_lastpost_id' => array('INDEX', 'forum_last_post_id'), |
310 | ), |
311 | ), |
312 | |
313 | $this->table_prefix . 'forums_access' => array( |
314 | 'COLUMNS' => array( |
315 | 'forum_id' => array('UINT', 0), |
316 | 'user_id' => array('UINT', 0), |
317 | 'session_id' => array('CHAR:32', ''), |
318 | ), |
319 | 'PRIMARY_KEY' => array('forum_id', 'user_id', 'session_id'), |
320 | ), |
321 | |
322 | $this->table_prefix . 'forums_track' => array( |
323 | 'COLUMNS' => array( |
324 | 'user_id' => array('UINT', 0), |
325 | 'forum_id' => array('UINT', 0), |
326 | 'mark_time' => array('TIMESTAMP', 0), |
327 | ), |
328 | 'PRIMARY_KEY' => array('user_id', 'forum_id'), |
329 | ), |
330 | |
331 | $this->table_prefix . 'forums_watch' => array( |
332 | 'COLUMNS' => array( |
333 | 'forum_id' => array('UINT', 0), |
334 | 'user_id' => array('UINT', 0), |
335 | 'notify_status' => array('BOOL', 0), |
336 | ), |
337 | 'KEYS' => array( |
338 | 'forum_id' => array('INDEX', 'forum_id'), |
339 | 'user_id' => array('INDEX', 'user_id'), |
340 | 'notify_stat' => array('INDEX', 'notify_status'), |
341 | ), |
342 | ), |
343 | |
344 | $this->table_prefix . 'groups' => array( |
345 | 'COLUMNS' => array( |
346 | 'group_id' => array('UINT', NULL, 'auto_increment'), |
347 | 'group_type' => array('TINT:4', 1), |
348 | 'group_founder_manage' => array('BOOL', 0), |
349 | 'group_name' => array('VCHAR_CI', ''), |
350 | 'group_desc' => array('TEXT_UNI', ''), |
351 | 'group_desc_bitfield' => array('VCHAR:255', ''), |
352 | 'group_desc_options' => array('UINT:11', 7), |
353 | 'group_desc_uid' => array('VCHAR:8', ''), |
354 | 'group_display' => array('BOOL', 0), |
355 | 'group_avatar' => array('VCHAR', ''), |
356 | 'group_avatar_type' => array('TINT:2', 0), |
357 | 'group_avatar_width' => array('USINT', 0), |
358 | 'group_avatar_height' => array('USINT', 0), |
359 | 'group_rank' => array('UINT', 0), |
360 | 'group_colour' => array('VCHAR:6', ''), |
361 | 'group_sig_chars' => array('UINT', 0), |
362 | 'group_receive_pm' => array('BOOL', 0), |
363 | 'group_message_limit' => array('UINT', 0), |
364 | 'group_legend' => array('BOOL', 1), |
365 | ), |
366 | 'PRIMARY_KEY' => 'group_id', |
367 | 'KEYS' => array( |
368 | 'group_legend' => array('INDEX', 'group_legend'), |
369 | ), |
370 | ), |
371 | |
372 | $this->table_prefix . 'icons' => array( |
373 | 'COLUMNS' => array( |
374 | 'icons_id' => array('UINT', NULL, 'auto_increment'), |
375 | 'icons_url' => array('VCHAR', ''), |
376 | 'icons_width' => array('TINT:4', 0), |
377 | 'icons_height' => array('TINT:4', 0), |
378 | 'icons_order' => array('UINT', 0), |
379 | 'display_on_posting' => array('BOOL', 1), |
380 | ), |
381 | 'PRIMARY_KEY' => 'icons_id', |
382 | 'KEYS' => array( |
383 | 'display_on_posting' => array('INDEX', 'display_on_posting'), |
384 | ), |
385 | ), |
386 | |
387 | $this->table_prefix . 'lang' => array( |
388 | 'COLUMNS' => array( |
389 | 'lang_id' => array('TINT:4', NULL, 'auto_increment'), |
390 | 'lang_iso' => array('VCHAR:30', ''), |
391 | 'lang_dir' => array('VCHAR:30', ''), |
392 | 'lang_english_name' => array('VCHAR_UNI:100', ''), |
393 | 'lang_local_name' => array('VCHAR_UNI:255', ''), |
394 | 'lang_author' => array('VCHAR_UNI:255', ''), |
395 | ), |
396 | 'PRIMARY_KEY' => 'lang_id', |
397 | 'KEYS' => array( |
398 | 'lang_iso' => array('INDEX', 'lang_iso'), |
399 | ), |
400 | ), |
401 | |
402 | $this->table_prefix . 'log' => array( |
403 | 'COLUMNS' => array( |
404 | 'log_id' => array('UINT', NULL, 'auto_increment'), |
405 | 'log_type' => array('TINT:4', 0), |
406 | 'user_id' => array('UINT', 0), |
407 | 'forum_id' => array('UINT', 0), |
408 | 'topic_id' => array('UINT', 0), |
409 | 'reportee_id' => array('UINT', 0), |
410 | 'log_ip' => array('VCHAR:40', ''), |
411 | 'log_time' => array('TIMESTAMP', 0), |
412 | 'log_operation' => array('TEXT_UNI', ''), |
413 | 'log_data' => array('MTEXT_UNI', ''), |
414 | ), |
415 | 'PRIMARY_KEY' => 'log_id', |
416 | 'KEYS' => array( |
417 | 'log_type' => array('INDEX', 'log_type'), |
418 | 'forum_id' => array('INDEX', 'forum_id'), |
419 | 'topic_id' => array('INDEX', 'topic_id'), |
420 | 'reportee_id' => array('INDEX', 'reportee_id'), |
421 | 'user_id' => array('INDEX', 'user_id'), |
422 | ), |
423 | ), |
424 | |
425 | $this->table_prefix . 'moderator_cache' => array( |
426 | 'COLUMNS' => array( |
427 | 'forum_id' => array('UINT', 0), |
428 | 'user_id' => array('UINT', 0), |
429 | 'username' => array('VCHAR_UNI:255', ''), |
430 | 'group_id' => array('UINT', 0), |
431 | 'group_name' => array('VCHAR_UNI', ''), |
432 | 'display_on_index' => array('BOOL', 1), |
433 | ), |
434 | 'KEYS' => array( |
435 | 'disp_idx' => array('INDEX', 'display_on_index'), |
436 | 'forum_id' => array('INDEX', 'forum_id'), |
437 | ), |
438 | ), |
439 | |
440 | $this->table_prefix . 'modules' => array( |
441 | 'COLUMNS' => array( |
442 | 'module_id' => array('UINT', NULL, 'auto_increment'), |
443 | 'module_enabled' => array('BOOL', 1), |
444 | 'module_display' => array('BOOL', 1), |
445 | 'module_basename' => array('VCHAR', ''), |
446 | 'module_class' => array('VCHAR:10', ''), |
447 | 'parent_id' => array('UINT', 0), |
448 | 'left_id' => array('UINT', 0), |
449 | 'right_id' => array('UINT', 0), |
450 | 'module_langname' => array('VCHAR', ''), |
451 | 'module_mode' => array('VCHAR', ''), |
452 | 'module_auth' => array('VCHAR', ''), |
453 | ), |
454 | 'PRIMARY_KEY' => 'module_id', |
455 | 'KEYS' => array( |
456 | 'left_right_id' => array('INDEX', array('left_id', 'right_id')), |
457 | 'module_enabled' => array('INDEX', 'module_enabled'), |
458 | 'class_left_id' => array('INDEX', array('module_class', 'left_id')), |
459 | ), |
460 | ), |
461 | |
462 | $this->table_prefix . 'poll_options' => array( |
463 | 'COLUMNS' => array( |
464 | 'poll_option_id' => array('TINT:4', 0), |
465 | 'topic_id' => array('UINT', 0), |
466 | 'poll_option_text' => array('TEXT_UNI', ''), |
467 | 'poll_option_total' => array('UINT', 0), |
468 | ), |
469 | 'KEYS' => array( |
470 | 'poll_opt_id' => array('INDEX', 'poll_option_id'), |
471 | 'topic_id' => array('INDEX', 'topic_id'), |
472 | ), |
473 | ), |
474 | |
475 | $this->table_prefix . 'poll_votes' => array( |
476 | 'COLUMNS' => array( |
477 | 'topic_id' => array('UINT', 0), |
478 | 'poll_option_id' => array('TINT:4', 0), |
479 | 'vote_user_id' => array('UINT', 0), |
480 | 'vote_user_ip' => array('VCHAR:40', ''), |
481 | ), |
482 | 'KEYS' => array( |
483 | 'topic_id' => array('INDEX', 'topic_id'), |
484 | 'vote_user_id' => array('INDEX', 'vote_user_id'), |
485 | 'vote_user_ip' => array('INDEX', 'vote_user_ip'), |
486 | ), |
487 | ), |
488 | |
489 | $this->table_prefix . 'posts' => array( |
490 | 'COLUMNS' => array( |
491 | 'post_id' => array('UINT', NULL, 'auto_increment'), |
492 | 'topic_id' => array('UINT', 0), |
493 | 'forum_id' => array('UINT', 0), |
494 | 'poster_id' => array('UINT', 0), |
495 | 'icon_id' => array('UINT', 0), |
496 | 'poster_ip' => array('VCHAR:40', ''), |
497 | 'post_time' => array('TIMESTAMP', 0), |
498 | 'post_approved' => array('BOOL', 1), |
499 | 'post_reported' => array('BOOL', 0), |
500 | 'enable_bbcode' => array('BOOL', 1), |
501 | 'enable_smilies' => array('BOOL', 1), |
502 | 'enable_magic_url' => array('BOOL', 1), |
503 | 'enable_sig' => array('BOOL', 1), |
504 | 'post_username' => array('VCHAR_UNI:255', ''), |
505 | 'post_subject' => array('XSTEXT_UNI', '', 'true_sort'), |
506 | 'post_text' => array('MTEXT_UNI', ''), |
507 | 'post_checksum' => array('VCHAR:32', ''), |
508 | 'post_attachment' => array('BOOL', 0), |
509 | 'bbcode_bitfield' => array('VCHAR:255', ''), |
510 | 'bbcode_uid' => array('VCHAR:8', ''), |
511 | 'post_postcount' => array('BOOL', 1), |
512 | 'post_edit_time' => array('TIMESTAMP', 0), |
513 | 'post_edit_reason' => array('STEXT_UNI', ''), |
514 | 'post_edit_user' => array('UINT', 0), |
515 | 'post_edit_count' => array('USINT', 0), |
516 | 'post_edit_locked' => array('BOOL', 0), |
517 | ), |
518 | 'PRIMARY_KEY' => 'post_id', |
519 | 'KEYS' => array( |
520 | 'forum_id' => array('INDEX', 'forum_id'), |
521 | 'topic_id' => array('INDEX', 'topic_id'), |
522 | 'poster_ip' => array('INDEX', 'poster_ip'), |
523 | 'poster_id' => array('INDEX', 'poster_id'), |
524 | 'post_approved' => array('INDEX', 'post_approved'), |
525 | 'tid_post_time' => array('INDEX', array('topic_id', 'post_time')), |
526 | ), |
527 | ), |
528 | |
529 | $this->table_prefix . 'privmsgs' => array( |
530 | 'COLUMNS' => array( |
531 | 'msg_id' => array('UINT', NULL, 'auto_increment'), |
532 | 'root_level' => array('UINT', 0), |
533 | 'author_id' => array('UINT', 0), |
534 | 'icon_id' => array('UINT', 0), |
535 | 'author_ip' => array('VCHAR:40', ''), |
536 | 'message_time' => array('TIMESTAMP', 0), |
537 | 'enable_bbcode' => array('BOOL', 1), |
538 | 'enable_smilies' => array('BOOL', 1), |
539 | 'enable_magic_url' => array('BOOL', 1), |
540 | 'enable_sig' => array('BOOL', 1), |
541 | 'message_subject' => array('XSTEXT_UNI', ''), |
542 | 'message_text' => array('MTEXT_UNI', ''), |
543 | 'message_edit_reason' => array('STEXT_UNI', ''), |
544 | 'message_edit_user' => array('UINT', 0), |
545 | 'message_attachment' => array('BOOL', 0), |
546 | 'bbcode_bitfield' => array('VCHAR:255', ''), |
547 | 'bbcode_uid' => array('VCHAR:8', ''), |
548 | 'message_edit_time' => array('TIMESTAMP', 0), |
549 | 'message_edit_count' => array('USINT', 0), |
550 | 'to_address' => array('TEXT_UNI', ''), |
551 | 'bcc_address' => array('TEXT_UNI', ''), |
552 | ), |
553 | 'PRIMARY_KEY' => 'msg_id', |
554 | 'KEYS' => array( |
555 | 'author_ip' => array('INDEX', 'author_ip'), |
556 | 'message_time' => array('INDEX', 'message_time'), |
557 | 'author_id' => array('INDEX', 'author_id'), |
558 | 'root_level' => array('INDEX', 'root_level'), |
559 | ), |
560 | ), |
561 | |
562 | $this->table_prefix . 'privmsgs_folder' => array( |
563 | 'COLUMNS' => array( |
564 | 'folder_id' => array('UINT', NULL, 'auto_increment'), |
565 | 'user_id' => array('UINT', 0), |
566 | 'folder_name' => array('VCHAR_UNI', ''), |
567 | 'pm_count' => array('UINT', 0), |
568 | ), |
569 | 'PRIMARY_KEY' => 'folder_id', |
570 | 'KEYS' => array( |
571 | 'user_id' => array('INDEX', 'user_id'), |
572 | ), |
573 | ), |
574 | |
575 | $this->table_prefix . 'privmsgs_rules' => array( |
576 | 'COLUMNS' => array( |
577 | 'rule_id' => array('UINT', NULL, 'auto_increment'), |
578 | 'user_id' => array('UINT', 0), |
579 | 'rule_check' => array('UINT', 0), |
580 | 'rule_connection' => array('UINT', 0), |
581 | 'rule_string' => array('VCHAR_UNI', ''), |
582 | 'rule_user_id' => array('UINT', 0), |
583 | 'rule_group_id' => array('UINT', 0), |
584 | 'rule_action' => array('UINT', 0), |
585 | 'rule_folder_id' => array('INT:11', 0), |
586 | ), |
587 | 'PRIMARY_KEY' => 'rule_id', |
588 | 'KEYS' => array( |
589 | 'user_id' => array('INDEX', 'user_id'), |
590 | ), |
591 | ), |
592 | |
593 | $this->table_prefix . 'privmsgs_to' => array( |
594 | 'COLUMNS' => array( |
595 | 'msg_id' => array('UINT', 0), |
596 | 'user_id' => array('UINT', 0), |
597 | 'author_id' => array('UINT', 0), |
598 | 'pm_deleted' => array('BOOL', 0), |
599 | 'pm_new' => array('BOOL', 1), |
600 | 'pm_unread' => array('BOOL', 1), |
601 | 'pm_replied' => array('BOOL', 0), |
602 | 'pm_marked' => array('BOOL', 0), |
603 | 'pm_forwarded' => array('BOOL', 0), |
604 | 'folder_id' => array('INT:11', 0), |
605 | ), |
606 | 'KEYS' => array( |
607 | 'msg_id' => array('INDEX', 'msg_id'), |
608 | 'author_id' => array('INDEX', 'author_id'), |
609 | 'usr_flder_id' => array('INDEX', array('user_id', 'folder_id')), |
610 | ), |
611 | ), |
612 | |
613 | $this->table_prefix . 'profile_fields' => array( |
614 | 'COLUMNS' => array( |
615 | 'field_id' => array('UINT', NULL, 'auto_increment'), |
616 | 'field_name' => array('VCHAR_UNI', ''), |
617 | 'field_type' => array('TINT:4', 0), |
618 | 'field_ident' => array('VCHAR:20', ''), |
619 | 'field_length' => array('VCHAR:20', ''), |
620 | 'field_minlen' => array('VCHAR', ''), |
621 | 'field_maxlen' => array('VCHAR', ''), |
622 | 'field_novalue' => array('VCHAR_UNI', ''), |
623 | 'field_default_value' => array('VCHAR_UNI', ''), |
624 | 'field_validation' => array('VCHAR_UNI:20', ''), |
625 | 'field_required' => array('BOOL', 0), |
626 | 'field_show_on_reg' => array('BOOL', 0), |
627 | 'field_hide' => array('BOOL', 0), |
628 | 'field_no_view' => array('BOOL', 0), |
629 | 'field_active' => array('BOOL', 0), |
630 | 'field_order' => array('UINT', 0), |
631 | ), |
632 | 'PRIMARY_KEY' => 'field_id', |
633 | 'KEYS' => array( |
634 | 'fld_type' => array('INDEX', 'field_type'), |
635 | 'fld_ordr' => array('INDEX', 'field_order'), |
636 | ), |
637 | ), |
638 | |
639 | $this->table_prefix . 'profile_fields_data' => array( |
640 | 'COLUMNS' => array( |
641 | 'user_id' => array('UINT', 0), |
642 | ), |
643 | 'PRIMARY_KEY' => 'user_id', |
644 | ), |
645 | |
646 | $this->table_prefix . 'profile_fields_lang' => array( |
647 | 'COLUMNS' => array( |
648 | 'field_id' => array('UINT', 0), |
649 | 'lang_id' => array('UINT', 0), |
650 | 'option_id' => array('UINT', 0), |
651 | 'field_type' => array('TINT:4', 0), |
652 | 'lang_value' => array('VCHAR_UNI', ''), |
653 | ), |
654 | 'PRIMARY_KEY' => array('field_id', 'lang_id', 'option_id'), |
655 | ), |
656 | |
657 | $this->table_prefix . 'profile_lang' => array( |
658 | 'COLUMNS' => array( |
659 | 'field_id' => array('UINT', 0), |
660 | 'lang_id' => array('UINT', 0), |
661 | 'lang_name' => array('VCHAR_UNI', ''), |
662 | 'lang_explain' => array('TEXT_UNI', ''), |
663 | 'lang_default_value' => array('VCHAR_UNI', ''), |
664 | ), |
665 | 'PRIMARY_KEY' => array('field_id', 'lang_id'), |
666 | ), |
667 | |
668 | $this->table_prefix . 'ranks' => array( |
669 | 'COLUMNS' => array( |
670 | 'rank_id' => array('UINT', NULL, 'auto_increment'), |
671 | 'rank_title' => array('VCHAR_UNI', ''), |
672 | 'rank_min' => array('UINT', 0), |
673 | 'rank_special' => array('BOOL', 0), |
674 | 'rank_image' => array('VCHAR', ''), |
675 | ), |
676 | 'PRIMARY_KEY' => 'rank_id', |
677 | ), |
678 | |
679 | $this->table_prefix . 'reports' => array( |
680 | 'COLUMNS' => array( |
681 | 'report_id' => array('UINT', NULL, 'auto_increment'), |
682 | 'reason_id' => array('USINT', 0), |
683 | 'post_id' => array('UINT', 0), |
684 | 'user_id' => array('UINT', 0), |
685 | 'user_notify' => array('BOOL', 0), |
686 | 'report_closed' => array('BOOL', 0), |
687 | 'report_time' => array('TIMESTAMP', 0), |
688 | 'report_text' => array('MTEXT_UNI', ''), |
689 | ), |
690 | 'PRIMARY_KEY' => 'report_id', |
691 | ), |
692 | |
693 | $this->table_prefix . 'reports_reasons' => array( |
694 | 'COLUMNS' => array( |
695 | 'reason_id' => array('USINT', NULL, 'auto_increment'), |
696 | 'reason_title' => array('VCHAR_UNI', ''), |
697 | 'reason_description' => array('MTEXT_UNI', ''), |
698 | 'reason_order' => array('USINT', 0), |
699 | ), |
700 | 'PRIMARY_KEY' => 'reason_id', |
701 | ), |
702 | |
703 | $this->table_prefix . 'search_results' => array( |
704 | 'COLUMNS' => array( |
705 | 'search_key' => array('VCHAR:32', ''), |
706 | 'search_time' => array('TIMESTAMP', 0), |
707 | 'search_keywords' => array('MTEXT_UNI', ''), |
708 | 'search_authors' => array('MTEXT', ''), |
709 | ), |
710 | 'PRIMARY_KEY' => 'search_key', |
711 | ), |
712 | |
713 | $this->table_prefix . 'search_wordlist' => array( |
714 | 'COLUMNS' => array( |
715 | 'word_id' => array('UINT', NULL, 'auto_increment'), |
716 | 'word_text' => array('VCHAR_UNI', ''), |
717 | 'word_common' => array('BOOL', 0), |
718 | 'word_count' => array('UINT', 0), |
719 | ), |
720 | 'PRIMARY_KEY' => 'word_id', |
721 | 'KEYS' => array( |
722 | 'wrd_txt' => array('UNIQUE', 'word_text'), |
723 | 'wrd_cnt' => array('INDEX', 'word_count'), |
724 | ), |
725 | ), |
726 | |
727 | $this->table_prefix . 'search_wordmatch' => array( |
728 | 'COLUMNS' => array( |
729 | 'post_id' => array('UINT', 0), |
730 | 'word_id' => array('UINT', 0), |
731 | 'title_match' => array('BOOL', 0), |
732 | ), |
733 | 'KEYS' => array( |
734 | 'unq_mtch' => array('UNIQUE', array('word_id', 'post_id', 'title_match')), |
735 | 'word_id' => array('INDEX', 'word_id'), |
736 | 'post_id' => array('INDEX', 'post_id'), |
737 | ), |
738 | ), |
739 | |
740 | $this->table_prefix . 'sessions' => array( |
741 | 'COLUMNS' => array( |
742 | 'session_id' => array('CHAR:32', ''), |
743 | 'session_user_id' => array('UINT', 0), |
744 | 'session_last_visit' => array('TIMESTAMP', 0), |
745 | 'session_start' => array('TIMESTAMP', 0), |
746 | 'session_time' => array('TIMESTAMP', 0), |
747 | 'session_ip' => array('VCHAR:40', ''), |
748 | 'session_browser' => array('VCHAR:150', ''), |
749 | 'session_forwarded_for' => array('VCHAR:255', ''), |
750 | 'session_page' => array('VCHAR_UNI', ''), |
751 | 'session_viewonline' => array('BOOL', 1), |
752 | 'session_autologin' => array('BOOL', 0), |
753 | 'session_admin' => array('BOOL', 0), |
754 | ), |
755 | 'PRIMARY_KEY' => 'session_id', |
756 | 'KEYS' => array( |
757 | 'session_time' => array('INDEX', 'session_time'), |
758 | 'session_user_id' => array('INDEX', 'session_user_id'), |
759 | ), |
760 | ), |
761 | |
762 | $this->table_prefix . 'sessions_keys' => array( |
763 | 'COLUMNS' => array( |
764 | 'key_id' => array('CHAR:32', ''), |
765 | 'user_id' => array('UINT', 0), |
766 | 'last_ip' => array('VCHAR:40', ''), |
767 | 'last_login' => array('TIMESTAMP', 0), |
768 | ), |
769 | 'PRIMARY_KEY' => array('key_id', 'user_id'), |
770 | 'KEYS' => array( |
771 | 'last_login' => array('INDEX', 'last_login'), |
772 | ), |
773 | ), |
774 | |
775 | $this->table_prefix . 'sitelist' => array( |
776 | 'COLUMNS' => array( |
777 | 'site_id' => array('UINT', NULL, 'auto_increment'), |
778 | 'site_ip' => array('VCHAR:40', ''), |
779 | 'site_hostname' => array('VCHAR', ''), |
780 | 'ip_exclude' => array('BOOL', 0), |
781 | ), |
782 | 'PRIMARY_KEY' => 'site_id', |
783 | ), |
784 | |
785 | $this->table_prefix . 'smilies' => array( |
786 | 'COLUMNS' => array( |
787 | 'smiley_id' => array('UINT', NULL, 'auto_increment'), |
788 | // We may want to set 'code' to VCHAR:50 or check if unicode support is possible... at the moment only ASCII characters are allowed. |
789 | 'code' => array('VCHAR_UNI:50', ''), |
790 | 'emotion' => array('VCHAR_UNI:50', ''), |
791 | 'smiley_url' => array('VCHAR:50', ''), |
792 | 'smiley_width' => array('USINT', 0), |
793 | 'smiley_height' => array('USINT', 0), |
794 | 'smiley_order' => array('UINT', 0), |
795 | 'display_on_posting'=> array('BOOL', 1), |
796 | ), |
797 | 'PRIMARY_KEY' => 'smiley_id', |
798 | 'KEYS' => array( |
799 | 'display_on_post' => array('INDEX', 'display_on_posting'), |
800 | ), |
801 | ), |
802 | |
803 | $this->table_prefix . 'styles' => array( |
804 | 'COLUMNS' => array( |
805 | 'style_id' => array('USINT', NULL, 'auto_increment'), |
806 | 'style_name' => array('VCHAR_UNI:255', ''), |
807 | 'style_copyright' => array('VCHAR_UNI', ''), |
808 | 'style_active' => array('BOOL', 1), |
809 | 'template_id' => array('USINT', 0), |
810 | 'theme_id' => array('USINT', 0), |
811 | 'imageset_id' => array('USINT', 0), |
812 | ), |
813 | 'PRIMARY_KEY' => 'style_id', |
814 | 'KEYS' => array( |
815 | 'style_name' => array('UNIQUE', 'style_name'), |
816 | 'template_id' => array('INDEX', 'template_id'), |
817 | 'theme_id' => array('INDEX', 'theme_id'), |
818 | 'imageset_id' => array('INDEX', 'imageset_id'), |
819 | ), |
820 | ), |
821 | |
822 | $this->table_prefix . 'styles_template' => array( |
823 | 'COLUMNS' => array( |
824 | 'template_id' => array('USINT', NULL, 'auto_increment'), |
825 | 'template_name' => array('VCHAR_UNI:255', ''), |
826 | 'template_copyright' => array('VCHAR_UNI', ''), |
827 | 'template_path' => array('VCHAR:100', ''), |
828 | 'bbcode_bitfield' => array('VCHAR:255', 'kNg='), |
829 | 'template_storedb' => array('BOOL', 0), |
830 | ), |
831 | 'PRIMARY_KEY' => 'template_id', |
832 | 'KEYS' => array( |
833 | 'tmplte_nm' => array('UNIQUE', 'template_name'), |
834 | ), |
835 | ), |
836 | |
837 | $this->table_prefix . 'styles_template_data' => array( |
838 | 'COLUMNS' => array( |
839 | 'template_id' => array('USINT', 0), |
840 | 'template_filename' => array('VCHAR:100', ''), |
841 | 'template_included' => array('TEXT', ''), |
842 | 'template_mtime' => array('TIMESTAMP', 0), |
843 | 'template_data' => array('MTEXT_UNI', ''), |
844 | ), |
845 | 'KEYS' => array( |
846 | 'tid' => array('INDEX', 'template_id'), |
847 | 'tfn' => array('INDEX', 'template_filename'), |
848 | ), |
849 | ), |
850 | |
851 | $this->table_prefix . 'styles_theme' => array( |
852 | 'COLUMNS' => array( |
853 | 'theme_id' => array('USINT', NULL, 'auto_increment'), |
854 | 'theme_name' => array('VCHAR_UNI:255', ''), |
855 | 'theme_copyright' => array('VCHAR_UNI', ''), |
856 | 'theme_path' => array('VCHAR:100', ''), |
857 | 'theme_storedb' => array('BOOL', 0), |
858 | 'theme_mtime' => array('TIMESTAMP', 0), |
859 | 'theme_data' => array('MTEXT_UNI', ''), |
860 | ), |
861 | 'PRIMARY_KEY' => 'theme_id', |
862 | 'KEYS' => array( |
863 | 'theme_name' => array('UNIQUE', 'theme_name'), |
864 | ), |
865 | ), |
866 | |
867 | $this->table_prefix . 'styles_imageset' => array( |
868 | 'COLUMNS' => array( |
869 | 'imageset_id' => array('USINT', NULL, 'auto_increment'), |
870 | 'imageset_name' => array('VCHAR_UNI:255', ''), |
871 | 'imageset_copyright' => array('VCHAR_UNI', ''), |
872 | 'imageset_path' => array('VCHAR:100', ''), |
873 | ), |
874 | 'PRIMARY_KEY' => 'imageset_id', |
875 | 'KEYS' => array( |
876 | 'imgset_nm' => array('UNIQUE', 'imageset_name'), |
877 | ), |
878 | ), |
879 | |
880 | $this->table_prefix . 'styles_imageset_data' => array( |
881 | 'COLUMNS' => array( |
882 | 'image_id' => array('USINT', NULL, 'auto_increment'), |
883 | 'image_name' => array('VCHAR:200', ''), |
884 | 'image_filename' => array('VCHAR:200', ''), |
885 | 'image_lang' => array('VCHAR:30', ''), |
886 | 'image_height' => array('USINT', 0), |
887 | 'image_width' => array('USINT', 0), |
888 | 'imageset_id' => array('USINT', 0), |
889 | ), |
890 | 'PRIMARY_KEY' => 'image_id', |
891 | 'KEYS' => array( |
892 | 'i_d' => array('INDEX', 'imageset_id'), |
893 | ), |
894 | ), |
895 | |
896 | $this->table_prefix . 'topics' => array( |
897 | 'COLUMNS' => array( |
898 | 'topic_id' => array('UINT', NULL, 'auto_increment'), |
899 | 'forum_id' => array('UINT', 0), |
900 | 'icon_id' => array('UINT', 0), |
901 | 'topic_attachment' => array('BOOL', 0), |
902 | 'topic_approved' => array('BOOL', 1), |
903 | 'topic_reported' => array('BOOL', 0), |
904 | 'topic_title' => array('XSTEXT_UNI', '', 'true_sort'), |
905 | 'topic_poster' => array('UINT', 0), |
906 | 'topic_time' => array('TIMESTAMP', 0), |
907 | 'topic_time_limit' => array('TIMESTAMP', 0), |
908 | 'topic_views' => array('UINT', 0), |
909 | 'topic_replies' => array('UINT', 0), |
910 | 'topic_replies_real' => array('UINT', 0), |
911 | 'topic_status' => array('TINT:3', 0), |
912 | 'topic_type' => array('TINT:3', 0), |
913 | 'topic_first_post_id' => array('UINT', 0), |
914 | 'topic_first_poster_name' => array('VCHAR_UNI', ''), |
915 | 'topic_first_poster_colour' => array('VCHAR:6', ''), |
916 | 'topic_last_post_id' => array('UINT', 0), |
917 | 'topic_last_poster_id' => array('UINT', 0), |
918 | 'topic_last_poster_name' => array('VCHAR_UNI', ''), |
919 | 'topic_last_poster_colour' => array('VCHAR:6', ''), |
920 | 'topic_last_post_subject' => array('XSTEXT_UNI', ''), |
921 | 'topic_last_post_time' => array('TIMESTAMP', 0), |
922 | 'topic_last_view_time' => array('TIMESTAMP', 0), |
923 | 'topic_moved_id' => array('UINT', 0), |
924 | 'topic_bumped' => array('BOOL', 0), |
925 | 'topic_bumper' => array('UINT', 0), |
926 | 'poll_title' => array('STEXT_UNI', ''), |
927 | 'poll_start' => array('TIMESTAMP', 0), |
928 | 'poll_length' => array('TIMESTAMP', 0), |
929 | 'poll_max_options' => array('TINT:4', 1), |
930 | 'poll_last_vote' => array('TIMESTAMP', 0), |
931 | 'poll_vote_change' => array('BOOL', 0), |
932 | ), |
933 | 'PRIMARY_KEY' => 'topic_id', |
934 | 'KEYS' => array( |
935 | 'forum_id' => array('INDEX', 'forum_id'), |
936 | 'forum_id_type' => array('INDEX', array('forum_id', 'topic_type')), |
937 | 'last_post_time' => array('INDEX', 'topic_last_post_time'), |
938 | 'topic_approved' => array('INDEX', 'topic_approved'), |
939 | 'forum_appr_last' => array('INDEX', array('forum_id', 'topic_approved', 'topic_last_post_id')), |
940 | 'fid_time_moved' => array('INDEX', array('forum_id', 'topic_last_post_time', 'topic_moved_id')), |
941 | ), |
942 | ), |
943 | |
944 | $this->table_prefix . 'topics_track' => array( |
945 | 'COLUMNS' => array( |
946 | 'user_id' => array('UINT', 0), |
947 | 'topic_id' => array('UINT', 0), |
948 | 'forum_id' => array('UINT', 0), |
949 | 'mark_time' => array('TIMESTAMP', 0), |
950 | ), |
951 | 'PRIMARY_KEY' => array('user_id', 'topic_id'), |
952 | 'KEYS' => array( |
953 | 'forum_id' => array('INDEX', 'forum_id'), |
954 | ), |
955 | ), |
956 | |
957 | $this->table_prefix . 'topics_posted' => array( |
958 | 'COLUMNS' => array( |
959 | 'user_id' => array('UINT', 0), |
960 | 'topic_id' => array('UINT', 0), |
961 | 'topic_posted' => array('BOOL', 0), |
962 | ), |
963 | 'PRIMARY_KEY' => array('user_id', 'topic_id'), |
964 | ), |
965 | |
966 | $this->table_prefix . 'topics_watch' => array( |
967 | 'COLUMNS' => array( |
968 | 'topic_id' => array('UINT', 0), |
969 | 'user_id' => array('UINT', 0), |
970 | 'notify_status' => array('BOOL', 0), |
971 | ), |
972 | 'KEYS' => array( |
973 | 'topic_id' => array('INDEX', 'topic_id'), |
974 | 'user_id' => array('INDEX', 'user_id'), |
975 | 'notify_stat' => array('INDEX', 'notify_status'), |
976 | ), |
977 | ), |
978 | |
979 | $this->table_prefix . 'user_group' => array( |
980 | 'COLUMNS' => array( |
981 | 'group_id' => array('UINT', 0), |
982 | 'user_id' => array('UINT', 0), |
983 | 'group_leader' => array('BOOL', 0), |
984 | 'user_pending' => array('BOOL', 1), |
985 | ), |
986 | 'KEYS' => array( |
987 | 'group_id' => array('INDEX', 'group_id'), |
988 | 'user_id' => array('INDEX', 'user_id'), |
989 | 'group_leader' => array('INDEX', 'group_leader'), |
990 | ), |
991 | ), |
992 | |
993 | $this->table_prefix . 'users' => array( |
994 | 'COLUMNS' => array( |
995 | 'user_id' => array('UINT', NULL, 'auto_increment'), |
996 | 'user_type' => array('TINT:2', 0), |
997 | 'group_id' => array('UINT', 3), |
998 | 'user_permissions' => array('MTEXT', ''), |
999 | 'user_perm_from' => array('UINT', 0), |
1000 | 'user_ip' => array('VCHAR:40', ''), |
1001 | 'user_regdate' => array('TIMESTAMP', 0), |
1002 | 'username' => array('VCHAR_CI', ''), |
1003 | 'username_clean' => array('VCHAR_CI', ''), |
1004 | 'user_password' => array('VCHAR_UNI:40', ''), |
1005 | 'user_passchg' => array('TIMESTAMP', 0), |
1006 | 'user_pass_convert' => array('BOOL', 0), |
1007 | 'user_email' => array('VCHAR_UNI:100', ''), |
1008 | 'user_email_hash' => array('BINT', 0), |
1009 | 'user_birthday' => array('VCHAR:10', ''), |
1010 | 'user_lastvisit' => array('TIMESTAMP', 0), |
1011 | 'user_lastmark' => array('TIMESTAMP', 0), |
1012 | 'user_lastpost_time' => array('TIMESTAMP', 0), |
1013 | 'user_lastpage' => array('VCHAR_UNI:200', ''), |
1014 | 'user_last_confirm_key' => array('VCHAR:10', ''), |
1015 | 'user_last_search' => array('TIMESTAMP', 0), |
1016 | 'user_warnings' => array('TINT:4', 0), |
1017 | 'user_last_warning' => array('TIMESTAMP', 0), |
1018 | 'user_login_attempts' => array('TINT:4', 0), |
1019 | 'user_inactive_reason' => array('TINT:2', 0), |
1020 | 'user_inactive_time' => array('TIMESTAMP', 0), |
1021 | 'user_posts' => array('UINT', 0), |
1022 | 'user_lang' => array('VCHAR:30', ''), |
1023 | 'user_timezone' => array('DECIMAL', 0), |
1024 | 'user_dst' => array('BOOL', 0), |
1025 | 'user_dateformat' => array('VCHAR_UNI:30', 'd M Y H:i'), |
1026 | 'user_style' => array('USINT', 0), |
1027 | 'user_rank' => array('UINT', 0), |
1028 | 'user_colour' => array('VCHAR:6', ''), |
1029 | 'user_new_privmsg' => array('INT:4', 0), |
1030 | 'user_unread_privmsg' => array('INT:4', 0), |
1031 | 'user_last_privmsg' => array('TIMESTAMP', 0), |
1032 | 'user_message_rules' => array('BOOL', 0), |
1033 | 'user_full_folder' => array('INT:11', -3), |
1034 | 'user_emailtime' => array('TIMESTAMP', 0), |
1035 | 'user_topic_show_days' => array('USINT', 0), |
1036 | 'user_topic_sortby_type' => array('VCHAR:1', 't'), |
1037 | 'user_topic_sortby_dir' => array('VCHAR:1', 'd'), |
1038 | 'user_post_show_days' => array('USINT', 0), |
1039 | 'user_post_sortby_type' => array('VCHAR:1', 't'), |
1040 | 'user_post_sortby_dir' => array('VCHAR:1', 'a'), |
1041 | 'user_notify' => array('BOOL', 0), |
1042 | 'user_notify_pm' => array('BOOL', 1), |
1043 | 'user_notify_type' => array('TINT:4', 0), |
1044 | 'user_allow_pm' => array('BOOL', 1), |
1045 | 'user_allow_viewonline' => array('BOOL', 1), |
1046 | 'user_allow_viewemail' => array('BOOL', 1), |
1047 | 'user_allow_massemail' => array('BOOL', 1), |
1048 | 'user_options' => array('UINT:11', 895), |
1049 | 'user_avatar' => array('VCHAR', ''), |
1050 | 'user_avatar_type' => array('TINT:2', 0), |
1051 | 'user_avatar_width' => array('USINT', 0), |
1052 | 'user_avatar_height' => array('USINT', 0), |
1053 | 'user_sig' => array('MTEXT_UNI', ''), |
1054 | 'user_sig_bbcode_uid' => array('VCHAR:8', ''), |
1055 | 'user_sig_bbcode_bitfield' => array('VCHAR:255', ''), |
1056 | 'user_from' => array('VCHAR_UNI:100', ''), |
1057 | 'user_icq' => array('VCHAR:15', ''), |
1058 | 'user_aim' => array('VCHAR_UNI', ''), |
1059 | 'user_yim' => array('VCHAR_UNI', ''), |
1060 | 'user_msnm' => array('VCHAR_UNI', ''), |
1061 | 'user_jabber' => array('VCHAR_UNI', ''), |
1062 | 'user_website' => array('VCHAR_UNI:200', ''), |
1063 | 'user_occ' => array('TEXT_UNI', ''), |
1064 | 'user_interests' => array('TEXT_UNI', ''), |
1065 | 'user_actkey' => array('VCHAR:32', ''), |
1066 | 'user_newpasswd' => array('VCHAR_UNI:40', ''), |
1067 | 'user_form_salt' => array('VCHAR_UNI:32', ''), |
1068 | |
1069 | ), |
1070 | 'PRIMARY_KEY' => 'user_id', |
1071 | 'KEYS' => array( |
1072 | 'user_birthday' => array('INDEX', 'user_birthday'), |
1073 | 'user_email_hash' => array('INDEX', 'user_email_hash'), |
1074 | 'user_type' => array('INDEX', 'user_type'), |
1075 | 'username_clean' => array('UNIQUE', 'username_clean'), |
1076 | ), |
1077 | ), |
1078 | |
1079 | $this->table_prefix . 'warnings' => array( |
1080 | 'COLUMNS' => array( |
1081 | 'warning_id' => array('UINT', NULL, 'auto_increment'), |
1082 | 'user_id' => array('UINT', 0), |
1083 | 'post_id' => array('UINT', 0), |
1084 | 'log_id' => array('UINT', 0), |
1085 | 'warning_time' => array('TIMESTAMP', 0), |
1086 | ), |
1087 | 'PRIMARY_KEY' => 'warning_id', |
1088 | ), |
1089 | |
1090 | $this->table_prefix . 'words' => array( |
1091 | 'COLUMNS' => array( |
1092 | 'word_id' => array('UINT', NULL, 'auto_increment'), |
1093 | 'word' => array('VCHAR_UNI', ''), |
1094 | 'replacement' => array('VCHAR_UNI', ''), |
1095 | ), |
1096 | 'PRIMARY_KEY' => 'word_id', |
1097 | ), |
1098 | |
1099 | $this->table_prefix . 'zebra' => array( |
1100 | 'COLUMNS' => array( |
1101 | 'user_id' => array('UINT', 0), |
1102 | 'zebra_id' => array('UINT', 0), |
1103 | 'friend' => array('BOOL', 0), |
1104 | 'foe' => array('BOOL', 0), |
1105 | ), |
1106 | 'PRIMARY_KEY' => array('user_id', 'zebra_id'), |
1107 | ), |
1108 | ), |
1109 | ); |
1110 | } |
1111 | |
1112 | public function revert_schema() |
1113 | { |
1114 | return array( |
1115 | 'drop_tables' => array( |
1116 | $this->table_prefix . 'attachments', |
1117 | $this->table_prefix . 'acl_groups', |
1118 | $this->table_prefix . 'acl_options', |
1119 | $this->table_prefix . 'acl_roles', |
1120 | $this->table_prefix . 'acl_roles_data', |
1121 | $this->table_prefix . 'acl_users', |
1122 | $this->table_prefix . 'banlist', |
1123 | $this->table_prefix . 'bbcodes', |
1124 | $this->table_prefix . 'bookmarks', |
1125 | $this->table_prefix . 'bots', |
1126 | $this->table_prefix . 'config', |
1127 | $this->table_prefix . 'confirm', |
1128 | $this->table_prefix . 'disallow', |
1129 | $this->table_prefix . 'drafts', |
1130 | $this->table_prefix . 'extensions', |
1131 | $this->table_prefix . 'extension_groups', |
1132 | $this->table_prefix . 'forums', |
1133 | $this->table_prefix . 'forums_access', |
1134 | $this->table_prefix . 'forums_track', |
1135 | $this->table_prefix . 'forums_watch', |
1136 | $this->table_prefix . 'groups', |
1137 | $this->table_prefix . 'icons', |
1138 | $this->table_prefix . 'lang', |
1139 | $this->table_prefix . 'log', |
1140 | $this->table_prefix . 'moderator_cache', |
1141 | $this->table_prefix . 'modules', |
1142 | $this->table_prefix . 'poll_options', |
1143 | $this->table_prefix . 'poll_votes', |
1144 | $this->table_prefix . 'posts', |
1145 | $this->table_prefix . 'privmsgs', |
1146 | $this->table_prefix . 'privmsgs_folder', |
1147 | $this->table_prefix . 'privmsgs_rules', |
1148 | $this->table_prefix . 'privmsgs_to', |
1149 | $this->table_prefix . 'profile_fields', |
1150 | $this->table_prefix . 'profile_fields_data', |
1151 | $this->table_prefix . 'profile_fields_lang', |
1152 | $this->table_prefix . 'profile_lang', |
1153 | $this->table_prefix . 'ranks', |
1154 | $this->table_prefix . 'reports', |
1155 | $this->table_prefix . 'reports_reasons', |
1156 | $this->table_prefix . 'search_results', |
1157 | $this->table_prefix . 'search_wordlist', |
1158 | $this->table_prefix . 'search_wordmatch', |
1159 | $this->table_prefix . 'sessions', |
1160 | $this->table_prefix . 'sessions_keys', |
1161 | $this->table_prefix . 'sitelist', |
1162 | $this->table_prefix . 'smilies', |
1163 | $this->table_prefix . 'styles', |
1164 | $this->table_prefix . 'styles_template', |
1165 | $this->table_prefix . 'styles_template_data', |
1166 | $this->table_prefix . 'styles_theme', |
1167 | $this->table_prefix . 'styles_imageset', |
1168 | $this->table_prefix . 'styles_imageset_data', |
1169 | $this->table_prefix . 'topics', |
1170 | $this->table_prefix . 'topics_track', |
1171 | $this->table_prefix . 'topics_posted', |
1172 | $this->table_prefix . 'topics_watch', |
1173 | $this->table_prefix . 'user_group', |
1174 | $this->table_prefix . 'users', |
1175 | $this->table_prefix . 'warnings', |
1176 | $this->table_prefix . 'words', |
1177 | $this->table_prefix . 'zebra', |
1178 | ), |
1179 | ); |
1180 | } |
1181 | } |