Verzeichnisstruktur phpBB-3.0.0
- Veröffentlicht
- 12.12.2007
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
mysql_upgrader.php
0001 <?php
0002 /**
0003 *
0004 * @package phpBB3
0005 * @version $Id$
0006 * @copyright (c) 2006 phpBB Group
0007 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
0008 *
0009 * This file creates SQL statements to upgrade phpBB on MySQL 3.x/4.0.x to 4.1.x/5.x
0010 *
0011 */
0012
0013
0014 //
0015 // Security message:
0016 //
0017 // This script is potentially dangerous.
0018 // Remove or comment the next line (die(".... ) to enable this script.
0019 // Do NOT FORGET to either remove this script or disable it after you have used it.
0020 //
0021 die("Please read the first lines of this script for instructions on how to enable it");
0022
0023 define('IN_PHPBB', true);
0024 $phpEx = substr(strrchr(__FILE__, '.'), 1);
0025 include($phpbb_root_path . 'common.' . $phpEx);
0026
0027 $prefix = $table_prefix;
0028
0029 $newline = "\n";
0030
0031 if (PHP_SAPI !== 'cli')
0032 {
0033 $newline = '<br>';
0034 }
0035
0036 $sql = 'DESCRIBE ' . POSTS_TABLE . ' post_text';
0037 $result = $db->sql_query($sql);
0038
0039 $row = $db->sql_fetchrow($result);
0040
0041 $db->sql_freeresult($result);
0042
0043 $mysql_indexer = false;
0044
0045 if (strtolower($row['Type']) === 'mediumtext')
0046 {
0047 $mysql_indexer = true;
0048 }
0049
0050 echo "USE $dbname;$newline$newline";
0051
0052
0053 @set_time_limit(0);
0054
0055 $schema_data = get_schema_struct();
0056 $dbms_type_map = array(
0057 'mysql_41' => array(
0058 'INT:' => 'int(%d)',
0059 'BINT' => 'bigint(20)',
0060 'UINT' => 'mediumint(8) UNSIGNED',
0061 'UINT:' => 'int(%d) UNSIGNED',
0062 'TINT:' => 'tinyint(%d)',
0063 'USINT' => 'smallint(4) UNSIGNED',
0064 'BOOL' => 'tinyint(1) UNSIGNED',
0065 'VCHAR' => 'varchar(255)',
0066 'VCHAR:' => 'varchar(%d)',
0067 'CHAR:' => 'char(%d)',
0068 'XSTEXT' => 'text',
0069 'XSTEXT_UNI'=> 'varchar(100)',
0070 'STEXT' => 'text',
0071 'STEXT_UNI' => 'varchar(255)',
0072 'TEXT' => 'text',
0073 'TEXT_UNI' => 'text',
0074 'MTEXT' => 'mediumtext',
0075 'MTEXT_UNI' => 'mediumtext',
0076 'TIMESTAMP' => 'int(11) UNSIGNED',
0077 'DECIMAL' => 'decimal(5,2)',
0078 'DECIMAL:' => 'decimal(%d,2)',
0079 'PDECIMAL' => 'decimal(6,3)',
0080 'PDECIMAL:' => 'decimal(%d,3)',
0081 'VCHAR_UNI' => 'varchar(255)',
0082 'VCHAR_UNI:'=> 'varchar(%d)',
0083 'VCHAR_CI' => 'varchar(255)',
0084 'VARBINARY' => 'varbinary(255)',
0085 ),
0086
0087 'mysql_40' => array(
0088 'INT:' => 'int(%d)',
0089 'BINT' => 'bigint(20)',
0090 'UINT' => 'mediumint(8) UNSIGNED',
0091 'UINT:' => 'int(%d) UNSIGNED',
0092 'TINT:' => 'tinyint(%d)',
0093 'USINT' => 'smallint(4) UNSIGNED',
0094 'BOOL' => 'tinyint(1) UNSIGNED',
0095 'VCHAR' => 'varbinary(255)',
0096 'VCHAR:' => 'varbinary(%d)',
0097 'CHAR:' => 'binary(%d)',
0098 'XSTEXT' => 'blob',
0099 'XSTEXT_UNI'=> 'blob',
0100 'STEXT' => 'blob',
0101 'STEXT_UNI' => 'blob',
0102 'TEXT' => 'blob',
0103 'TEXT_UNI' => 'blob',
0104 'MTEXT' => 'mediumblob',
0105 'MTEXT_UNI' => 'mediumblob',
0106 'TIMESTAMP' => 'int(11) UNSIGNED',
0107 'DECIMAL' => 'decimal(5,2)',
0108 'DECIMAL:' => 'decimal(%d,2)',
0109 'PDECIMAL' => 'decimal(6,3)',
0110 'PDECIMAL:' => 'decimal(%d,3)',
0111 'VCHAR_UNI' => 'blob',
0112 'VCHAR_UNI:'=> array('varbinary(%d)', 'limit' => array('mult', 3, 255, 'blob')),
0113 'VCHAR_CI' => 'blob',
0114 'VARBINARY' => 'varbinary(255)',
0115 ),
0116 );
0117
0118 foreach ($schema_data as $table_name => $table_data)
0119 {
0120 $table_name = str_replace('phpbb_', $prefix, $table_name);
0121 // Write comment about table
0122 echo "# Table: '{$table_name}'$newline";
0123
0124 // Create Table statement
0125 $generator = $textimage = false;
0126
0127 $line = "ALTER TABLE {$table_name} $newline";
0128
0129 // Table specific so we don't get overlap
0130 $modded_array = array();
0131
0132 // Write columns one by one...
0133 foreach ($table_data['COLUMNS'] as $column_name => $column_data)
0134 {
0135 // Get type
0136 if (strpos($column_data[0], ':') !== false)
0137 {
0138 list($orig_column_type, $column_length) = explode(':', $column_data[0]);
0139 $column_type = sprintf($dbms_type_map['mysql_41'][$orig_column_type . ':'], $column_length);
0140
0141 if (isset($dbms_type_map['mysql_40'][$orig_column_type . ':']['limit'][0]))
0142 {
0143 switch ($dbms_type_map['mysql_40'][$orig_column_type . ':']['limit'][0])
0144 {
0145 case 'mult':
0146 if (($column_length * $dbms_type_map['mysql_40'][$orig_column_type . ':']['limit'][1]) > $dbms_type_map['mysql_40'][$orig_column_type . ':']['limit'][2])
0147 {
0148 $modded_array[$column_name] = $column_type;
0149 }
0150 break;
0151 }
0152 }
0153
0154 $orig_column_type .= ':';
0155 }
0156 else
0157 {
0158 $orig_column_type = $column_data[0];
0159 $other_column_type = $dbms_type_map['mysql_40'][$column_data[0]];
0160 if ($other_column_type == 'text' || $other_column_type == 'blob')
0161 {
0162 $modded_array[$column_name] = $column_type;
0163 }
0164 $column_type = $dbms_type_map['mysql_41'][$column_data[0]];
0165 }
0166
0167 // Adjust default value if db-dependant specified
0168 if (is_array($column_data[1]))
0169 {
0170 $column_data[1] = (isset($column_data[1][$dbms])) ? $column_data[1][$dbms] : $column_data[1]['default'];
0171 }
0172
0173 $line .= "\tMODIFY {$column_name} {$column_type} ";
0174
0175 // For hexadecimal values do not use single quotes
0176 if (!is_null($column_data[1]) && substr($column_type, -4) !== 'text' && substr($column_type, -4) !== 'blob')
0177 {
0178 $line .= (strpos($column_data[1], '0x') === 0) ? "DEFAULT {$column_data[1]} " : "DEFAULT '{$column_data[1]}' ";
0179 }
0180 $line .= 'NOT NULL';
0181
0182 if (isset($column_data[2]))
0183 {
0184 if ($column_data[2] == 'auto_increment')
0185 {
0186 $line .= ' auto_increment';
0187 }
0188 else if ($column_data[2] == 'true_sort')
0189 {
0190 $line .= ' COLLATE utf8_unicode_ci';
0191 }
0192 else if ($column_data[2] == 'no_sort')
0193 {
0194 $line .= ' COLLATE utf8_bin';
0195 }
0196 }
0197 else if (preg_match('/(?:var)?char|(?:medium)?text/i', $column_type))
0198 {
0199 $line .= ' COLLATE utf8_bin';
0200 }
0201
0202 $line .= ",$newline";
0203 }
0204
0205 // Write Keys
0206 if (isset($table_data['KEYS']))
0207 {
0208 foreach ($table_data['KEYS'] as $key_name => $key_data)
0209 {
0210 $temp = '';
0211 if (!is_array($key_data[1]))
0212 {
0213 $key_data[1] = array($key_data[1]);
0214 }
0215
0216 $temp .= ($key_data[0] == 'INDEX') ? "\tADD KEY" : '';
0217 $temp .= ($key_data[0] == 'UNIQUE') ? "\tADD UNIQUE" : '';
0218 $repair = false;
0219 foreach ($key_data[1] as $key => $col_name)
0220 {
0221 if (isset($modded_array[$col_name]))
0222 {
0223 $repair = true;
0224 }
0225 }
0226 if ($repair)
0227 {
0228 $line .= "\tDROP INDEX " . $key_name . ",$newline";
0229 $line .= $temp;
0230 $line .= ' ' . $key_name . ' (' . implode(', ', $key_data[1]) . "),$newline";
0231 }
0232 }
0233 }
0234
0235 //$line .= "\tCONVERT TO CHARACTER SET `utf8`$newline";
0236 $line .= "\tDEFAULT CHARSET=utf8 COLLATE=utf8_bin;$newline$newline";
0237
0238 echo $line . "$newline";
0239 }
0240
0241 /**
0242 * Define the basic structure
0243 * The format:
0244 * array('{TABLE_NAME}' => {TABLE_DATA})
0245 * {TABLE_DATA}:
0246 * COLUMNS = array({column_name} = array({column_type}, {default}, {auto_increment}))
0247 * PRIMARY_KEY = {column_name(s)}
0248 * KEYS = array({key_name} = array({key_type}, {column_name(s)})),
0249 *
0250 * Column Types:
0251 * INT:x => SIGNED int(x)
0252 * BINT => BIGINT
0253 * UINT => mediumint(8) UNSIGNED
0254 * UINT:x => int(x) UNSIGNED
0255 * TINT:x => tinyint(x)
0256 * USINT => smallint(4) UNSIGNED (for _order columns)
0257 * BOOL => tinyint(1) UNSIGNED
0258 * VCHAR => varchar(255)
0259 * CHAR:x => char(x)
0260 * XSTEXT_UNI => text for storing 100 characters (topic_title for example)
0261 * STEXT_UNI => text for storing 255 characters (normal input field with a max of 255 single-byte chars) - same as VCHAR_UNI
0262 * TEXT_UNI => text for storing 3000 characters (short text, descriptions, comments, etc.)
0263 * MTEXT_UNI => mediumtext (post text, large text)
0264 * VCHAR:x => varchar(x)
0265 * TIMESTAMP => int(11) UNSIGNED
0266 * DECIMAL => decimal number (5,2)
0267 * DECIMAL: => decimal number (x,2)
0268 * PDECIMAL => precision decimal number (6,3)
0269 * PDECIMAL: => precision decimal number (x,3)
0270 * VCHAR_UNI => varchar(255) BINARY
0271 * VCHAR_CI => varchar_ci for postgresql, others VCHAR
0272 */
0273 function get_schema_struct()
0274 {
0275 $schema_data = array();
0276
0277 $schema_data['phpbb_attachments'] = array(
0278 'COLUMNS' => array(
0279 'attach_id' => array('UINT', NULL, 'auto_increment'),
0280 'post_msg_id' => array('UINT', 0),
0281 'topic_id' => array('UINT', 0),
0282 'in_message' => array('BOOL', 0),
0283 'poster_id' => array('UINT', 0),
0284 'is_orphan' => array('BOOL', 1),
0285 'physical_filename' => array('VCHAR', ''),
0286 'real_filename' => array('VCHAR', ''),
0287 'download_count' => array('UINT', 0),
0288 'attach_comment' => array('TEXT_UNI', ''),
0289 'extension' => array('VCHAR:100', ''),
0290 'mimetype' => array('VCHAR:100', ''),
0291 'filesize' => array('UINT:20', 0),
0292 'filetime' => array('TIMESTAMP', 0),
0293 'thumbnail' => array('BOOL', 0),
0294 ),
0295 'PRIMARY_KEY' => 'attach_id',
0296 'KEYS' => array(
0297 'filetime' => array('INDEX', 'filetime'),
0298 'post_msg_id' => array('INDEX', 'post_msg_id'),
0299 'topic_id' => array('INDEX', 'topic_id'),
0300 'poster_id' => array('INDEX', 'poster_id'),
0301 'is_orphan' => array('INDEX', 'is_orphan'),
0302 ),
0303 );
0304
0305 $schema_data['phpbb_acl_groups'] = array(
0306 'COLUMNS' => array(
0307 'group_id' => array('UINT', 0),
0308 'forum_id' => array('UINT', 0),
0309 'auth_option_id' => array('UINT', 0),
0310 'auth_role_id' => array('UINT', 0),
0311 'auth_setting' => array('TINT:2', 0),
0312 ),
0313 'KEYS' => array(
0314 'group_id' => array('INDEX', 'group_id'),
0315 'auth_opt_id' => array('INDEX', 'auth_option_id'),
0316 'auth_role_id' => array('INDEX', 'auth_role_id'),
0317 ),
0318 );
0319
0320 $schema_data['phpbb_acl_options'] = array(
0321 'COLUMNS' => array(
0322 'auth_option_id' => array('UINT', NULL, 'auto_increment'),
0323 'auth_option' => array('VCHAR:50', ''),
0324 'is_global' => array('BOOL', 0),
0325 'is_local' => array('BOOL', 0),
0326 'founder_only' => array('BOOL', 0),
0327 ),
0328 'PRIMARY_KEY' => 'auth_option_id',
0329 'KEYS' => array(
0330 'auth_option' => array('INDEX', 'auth_option'),
0331 ),
0332 );
0333
0334 $schema_data['phpbb_acl_roles'] = array(
0335 'COLUMNS' => array(
0336 'role_id' => array('UINT', NULL, 'auto_increment'),
0337 'role_name' => array('VCHAR_UNI', ''),
0338 'role_description' => array('TEXT_UNI', ''),
0339 'role_type' => array('VCHAR:10', ''),
0340 'role_order' => array('USINT', 0),
0341 ),
0342 'PRIMARY_KEY' => 'role_id',
0343 'KEYS' => array(
0344 'role_type' => array('INDEX', 'role_type'),
0345 'role_order' => array('INDEX', 'role_order'),
0346 ),
0347 );
0348
0349 $schema_data['phpbb_acl_roles_data'] = array(
0350 'COLUMNS' => array(
0351 'role_id' => array('UINT', 0),
0352 'auth_option_id' => array('UINT', 0),
0353 'auth_setting' => array('TINT:2', 0),
0354 ),
0355 'PRIMARY_KEY' => array('role_id', 'auth_option_id'),
0356 'KEYS' => array(
0357 'ath_op_id' => array('INDEX', 'auth_option_id'),
0358 ),
0359 );
0360
0361 $schema_data['phpbb_acl_users'] = array(
0362 'COLUMNS' => array(
0363 'user_id' => array('UINT', 0),
0364 'forum_id' => array('UINT', 0),
0365 'auth_option_id' => array('UINT', 0),
0366 'auth_role_id' => array('UINT', 0),
0367 'auth_setting' => array('TINT:2', 0),
0368 ),
0369 'KEYS' => array(
0370 'user_id' => array('INDEX', 'user_id'),
0371 'auth_option_id' => array('INDEX', 'auth_option_id'),
0372 'auth_role_id' => array('INDEX', 'auth_role_id'),
0373 ),
0374 );
0375
0376 $schema_data['phpbb_banlist'] = array(
0377 'COLUMNS' => array(
0378 'ban_id' => array('UINT', NULL, 'auto_increment'),
0379 'ban_userid' => array('UINT', 0),
0380 'ban_ip' => array('VCHAR:40', ''),
0381 'ban_email' => array('VCHAR_UNI:100', ''),
0382 'ban_start' => array('TIMESTAMP', 0),
0383 'ban_end' => array('TIMESTAMP', 0),
0384 'ban_exclude' => array('BOOL', 0),
0385 'ban_reason' => array('VCHAR_UNI', ''),
0386 'ban_give_reason' => array('VCHAR_UNI', ''),
0387 ),
0388 'PRIMARY_KEY' => 'ban_id',
0389 'KEYS' => array(
0390 'ban_end' => array('INDEX', 'ban_end'),
0391 'ban_user' => array('INDEX', array('ban_userid', 'ban_exclude')),
0392 'ban_email' => array('INDEX', array('ban_email', 'ban_exclude')),
0393 'ban_ip' => array('INDEX', array('ban_ip', 'ban_exclude')),
0394 ),
0395 );
0396
0397 $schema_data['phpbb_bbcodes'] = array(
0398 'COLUMNS' => array(
0399 'bbcode_id' => array('TINT:3', 0),
0400 'bbcode_tag' => array('VCHAR:16', ''),
0401 'bbcode_helpline' => array('VCHAR_UNI', ''),
0402 'display_on_posting' => array('BOOL', 0),
0403 'bbcode_match' => array('TEXT_UNI', ''),
0404 'bbcode_tpl' => array('MTEXT_UNI', ''),
0405 'first_pass_match' => array('MTEXT_UNI', ''),
0406 'first_pass_replace' => array('MTEXT_UNI', ''),
0407 'second_pass_match' => array('MTEXT_UNI', ''),
0408 'second_pass_replace' => array('MTEXT_UNI', ''),
0409 ),
0410 'PRIMARY_KEY' => 'bbcode_id',
0411 'KEYS' => array(
0412 'display_on_post' => array('INDEX', 'display_on_posting'),
0413 ),
0414 );
0415
0416 $schema_data['phpbb_bookmarks'] = array(
0417 'COLUMNS' => array(
0418 'topic_id' => array('UINT', 0),
0419 'user_id' => array('UINT', 0),
0420 ),
0421 'PRIMARY_KEY' => array('topic_id', 'user_id'),
0422 );
0423
0424 $schema_data['phpbb_bots'] = array(
0425 'COLUMNS' => array(
0426 'bot_id' => array('UINT', NULL, 'auto_increment'),
0427 'bot_active' => array('BOOL', 1),
0428 'bot_name' => array('STEXT_UNI', ''),
0429 'user_id' => array('UINT', 0),
0430 'bot_agent' => array('VCHAR', ''),
0431 'bot_ip' => array('VCHAR', ''),
0432 ),
0433 'PRIMARY_KEY' => 'bot_id',
0434 'KEYS' => array(
0435 'bot_active' => array('INDEX', 'bot_active'),
0436 ),
0437 );
0438
0439 $schema_data['phpbb_config'] = array(
0440 'COLUMNS' => array(
0441 'config_name' => array('VCHAR', ''),
0442 'config_value' => array('VCHAR_UNI', ''),
0443 'is_dynamic' => array('BOOL', 0),
0444 ),
0445 'PRIMARY_KEY' => 'config_name',
0446 'KEYS' => array(
0447 'is_dynamic' => array('INDEX', 'is_dynamic'),
0448 ),
0449 );
0450
0451 $schema_data['phpbb_confirm'] = array(
0452 'COLUMNS' => array(
0453 'confirm_id' => array('CHAR:32', ''),
0454 'session_id' => array('CHAR:32', ''),
0455 'confirm_type' => array('TINT:3', 0),
0456 'code' => array('VCHAR:8', ''),
0457 'seed' => array('UINT:10', 0),
0458 ),
0459 'PRIMARY_KEY' => array('session_id', 'confirm_id'),
0460 'KEYS' => array(
0461 'confirm_type' => array('INDEX', 'confirm_type'),
0462 ),
0463 );
0464
0465 $schema_data['phpbb_disallow'] = array(
0466 'COLUMNS' => array(
0467 'disallow_id' => array('UINT', NULL, 'auto_increment'),
0468 'disallow_username' => array('VCHAR_UNI:255', ''),
0469 ),
0470 'PRIMARY_KEY' => 'disallow_id',
0471 );
0472
0473 $schema_data['phpbb_drafts'] = array(
0474 'COLUMNS' => array(
0475 'draft_id' => array('UINT', NULL, 'auto_increment'),
0476 'user_id' => array('UINT', 0),
0477 'topic_id' => array('UINT', 0),
0478 'forum_id' => array('UINT', 0),
0479 'save_time' => array('TIMESTAMP', 0),
0480 'draft_subject' => array('XSTEXT_UNI', ''),
0481 'draft_message' => array('MTEXT_UNI', ''),
0482 ),
0483 'PRIMARY_KEY' => 'draft_id',
0484 'KEYS' => array(
0485 'save_time' => array('INDEX', 'save_time'),
0486 ),
0487 );
0488
0489 $schema_data['phpbb_extensions'] = array(
0490 'COLUMNS' => array(
0491 'extension_id' => array('UINT', NULL, 'auto_increment'),
0492 'group_id' => array('UINT', 0),
0493 'extension' => array('VCHAR:100', ''),
0494 ),
0495 'PRIMARY_KEY' => 'extension_id',
0496 );
0497
0498 $schema_data['phpbb_extension_groups'] = array(
0499 'COLUMNS' => array(
0500 'group_id' => array('UINT', NULL, 'auto_increment'),
0501 'group_name' => array('VCHAR_UNI', ''),
0502 'cat_id' => array('TINT:2', 0),
0503 'allow_group' => array('BOOL', 0),
0504 'download_mode' => array('BOOL', 1),
0505 'upload_icon' => array('VCHAR', ''),
0506 'max_filesize' => array('UINT:20', 0),
0507 'allowed_forums' => array('TEXT', ''),
0508 'allow_in_pm' => array('BOOL', 0),
0509 ),
0510 'PRIMARY_KEY' => 'group_id',
0511 );
0512
0513 $schema_data['phpbb_forums'] = array(
0514 'COLUMNS' => array(
0515 'forum_id' => array('UINT', NULL, 'auto_increment'),
0516 'parent_id' => array('UINT', 0),
0517 'left_id' => array('UINT', 0),
0518 'right_id' => array('UINT', 0),
0519 'forum_parents' => array('MTEXT', ''),
0520 'forum_name' => array('STEXT_UNI', ''),
0521 'forum_desc' => array('TEXT_UNI', ''),
0522 'forum_desc_bitfield' => array('VCHAR:255', ''),
0523 'forum_desc_options' => array('UINT:11', 7),
0524 'forum_desc_uid' => array('VCHAR:8', ''),
0525 'forum_link' => array('VCHAR_UNI', ''),
0526 'forum_password' => array('VCHAR_UNI:40', ''),
0527 'forum_style' => array('USINT', 0),
0528 'forum_image' => array('VCHAR', ''),
0529 'forum_rules' => array('TEXT_UNI', ''),
0530 'forum_rules_link' => array('VCHAR_UNI', ''),
0531 'forum_rules_bitfield' => array('VCHAR:255', ''),
0532 'forum_rules_options' => array('UINT:11', 7),
0533 'forum_rules_uid' => array('VCHAR:8', ''),
0534 'forum_topics_per_page' => array('TINT:4', 0),
0535 'forum_type' => array('TINT:4', 0),
0536 'forum_status' => array('TINT:4', 0),
0537 'forum_posts' => array('UINT', 0),
0538 'forum_topics' => array('UINT', 0),
0539 'forum_topics_real' => array('UINT', 0),
0540 'forum_last_post_id' => array('UINT', 0),
0541 'forum_last_poster_id' => array('UINT', 0),
0542 'forum_last_post_subject' => array('XSTEXT_UNI', ''),
0543 'forum_last_post_time' => array('TIMESTAMP', 0),
0544 'forum_last_poster_name'=> array('VCHAR_UNI', ''),
0545 'forum_last_poster_colour'=> array('VCHAR:6', ''),
0546 'forum_flags' => array('TINT:4', 32),
0547 'display_on_index' => array('BOOL', 1),
0548 'enable_indexing' => array('BOOL', 1),
0549 'enable_icons' => array('BOOL', 1),
0550 'enable_prune' => array('BOOL', 0),
0551 'prune_next' => array('TIMESTAMP', 0),
0552 'prune_days' => array('UINT', 0),
0553 'prune_viewed' => array('UINT', 0),
0554 'prune_freq' => array('UINT', 0),
0555 ),
0556 'PRIMARY_KEY' => 'forum_id',
0557 'KEYS' => array(
0558 'left_right_id' => array('INDEX', array('left_id', 'right_id')),
0559 'forum_lastpost_id' => array('INDEX', 'forum_last_post_id'),
0560 ),
0561 );
0562
0563 $schema_data['phpbb_forums_access'] = array(
0564 'COLUMNS' => array(
0565 'forum_id' => array('UINT', 0),
0566 'user_id' => array('UINT', 0),
0567 'session_id' => array('CHAR:32', ''),
0568 ),
0569 'PRIMARY_KEY' => array('forum_id', 'user_id', 'session_id'),
0570 );
0571
0572 $schema_data['phpbb_forums_track'] = array(
0573 'COLUMNS' => array(
0574 'user_id' => array('UINT', 0),
0575 'forum_id' => array('UINT', 0),
0576 'mark_time' => array('TIMESTAMP', 0),
0577 ),
0578 'PRIMARY_KEY' => array('user_id', 'forum_id'),
0579 );
0580
0581 $schema_data['phpbb_forums_watch'] = array(
0582 'COLUMNS' => array(
0583 'forum_id' => array('UINT', 0),
0584 'user_id' => array('UINT', 0),
0585 'notify_status' => array('BOOL', 0),
0586 ),
0587 'KEYS' => array(
0588 'forum_id' => array('INDEX', 'forum_id'),
0589 'user_id' => array('INDEX', 'user_id'),
0590 'notify_stat' => array('INDEX', 'notify_status'),
0591 ),
0592 );
0593
0594 $schema_data['phpbb_groups'] = array(
0595 'COLUMNS' => array(
0596 'group_id' => array('UINT', NULL, 'auto_increment'),
0597 'group_type' => array('TINT:4', 1),
0598 'group_founder_manage' => array('BOOL', 0),
0599 'group_name' => array('VCHAR_CI', ''),
0600 'group_desc' => array('TEXT_UNI', ''),
0601 'group_desc_bitfield' => array('VCHAR:255', ''),
0602 'group_desc_options' => array('UINT:11', 7),
0603 'group_desc_uid' => array('VCHAR:8', ''),
0604 'group_display' => array('BOOL', 0),
0605 'group_avatar' => array('VCHAR', ''),
0606 'group_avatar_type' => array('TINT:2', 0),
0607 'group_avatar_width' => array('USINT', 0),
0608 'group_avatar_height' => array('USINT', 0),
0609 'group_rank' => array('UINT', 0),
0610 'group_colour' => array('VCHAR:6', ''),
0611 'group_sig_chars' => array('UINT', 0),
0612 'group_receive_pm' => array('BOOL', 0),
0613 'group_message_limit' => array('UINT', 0),
0614 'group_legend' => array('BOOL', 1),
0615 ),
0616 'PRIMARY_KEY' => 'group_id',
0617 'KEYS' => array(
0618 'group_legend' => array('INDEX', 'group_legend'),
0619 ),
0620 );
0621
0622 $schema_data['phpbb_icons'] = array(
0623 'COLUMNS' => array(
0624 'icons_id' => array('UINT', NULL, 'auto_increment'),
0625 'icons_url' => array('VCHAR', ''),
0626 'icons_width' => array('TINT:4', 0),
0627 'icons_height' => array('TINT:4', 0),
0628 'icons_order' => array('UINT', 0),
0629 'display_on_posting' => array('BOOL', 1),
0630 ),
0631 'PRIMARY_KEY' => 'icons_id',
0632 'KEYS' => array(
0633 'display_on_posting' => array('INDEX', 'display_on_posting'),
0634 ),
0635 );
0636
0637 $schema_data['phpbb_lang'] = array(
0638 'COLUMNS' => array(
0639 'lang_id' => array('TINT:4', NULL, 'auto_increment'),
0640 'lang_iso' => array('VCHAR:30', ''),
0641 'lang_dir' => array('VCHAR:30', ''),
0642 'lang_english_name' => array('VCHAR_UNI:100', ''),
0643 'lang_local_name' => array('VCHAR_UNI:255', ''),
0644 'lang_author' => array('VCHAR_UNI:255', ''),
0645 ),
0646 'PRIMARY_KEY' => 'lang_id',
0647 'KEYS' => array(
0648 'lang_iso' => array('INDEX', 'lang_iso'),
0649 ),
0650 );
0651
0652 $schema_data['phpbb_log'] = array(
0653 'COLUMNS' => array(
0654 'log_id' => array('UINT', NULL, 'auto_increment'),
0655 'log_type' => array('TINT:4', 0),
0656 'user_id' => array('UINT', 0),
0657 'forum_id' => array('UINT', 0),
0658 'topic_id' => array('UINT', 0),
0659 'reportee_id' => array('UINT', 0),
0660 'log_ip' => array('VCHAR:40', ''),
0661 'log_time' => array('TIMESTAMP', 0),
0662 'log_operation' => array('TEXT_UNI', ''),
0663 'log_data' => array('MTEXT_UNI', ''),
0664 ),
0665 'PRIMARY_KEY' => 'log_id',
0666 'KEYS' => array(
0667 'log_type' => array('INDEX', 'log_type'),
0668 'forum_id' => array('INDEX', 'forum_id'),
0669 'topic_id' => array('INDEX', 'topic_id'),
0670 'reportee_id' => array('INDEX', 'reportee_id'),
0671 'user_id' => array('INDEX', 'user_id'),
0672 ),
0673 );
0674
0675 $schema_data['phpbb_moderator_cache'] = array(
0676 'COLUMNS' => array(
0677 'forum_id' => array('UINT', 0),
0678 'user_id' => array('UINT', 0),
0679 'username' => array('VCHAR_UNI:255', ''),
0680 'group_id' => array('UINT', 0),
0681 'group_name' => array('VCHAR_UNI', ''),
0682 'display_on_index' => array('BOOL', 1),
0683 ),
0684 'KEYS' => array(
0685 'disp_idx' => array('INDEX', 'display_on_index'),
0686 'forum_id' => array('INDEX', 'forum_id'),
0687 ),
0688 );
0689
0690 $schema_data['phpbb_modules'] = array(
0691 'COLUMNS' => array(
0692 'module_id' => array('UINT', NULL, 'auto_increment'),
0693 'module_enabled' => array('BOOL', 1),
0694 'module_display' => array('BOOL', 1),
0695 'module_basename' => array('VCHAR', ''),
0696 'module_class' => array('VCHAR:10', ''),
0697 'parent_id' => array('UINT', 0),
0698 'left_id' => array('UINT', 0),
0699 'right_id' => array('UINT', 0),
0700 'module_langname' => array('VCHAR', ''),
0701 'module_mode' => array('VCHAR', ''),
0702 'module_auth' => array('VCHAR', ''),
0703 ),
0704 'PRIMARY_KEY' => 'module_id',
0705 'KEYS' => array(
0706 'left_right_id' => array('INDEX', array('left_id', 'right_id')),
0707 'module_enabled' => array('INDEX', 'module_enabled'),
0708 'class_left_id' => array('INDEX', array('module_class', 'left_id')),
0709 ),
0710 );
0711
0712 $schema_data['phpbb_poll_options'] = array(
0713 'COLUMNS' => array(
0714 'poll_option_id' => array('TINT:4', 0),
0715 'topic_id' => array('UINT', 0),
0716 'poll_option_text' => array('TEXT_UNI', ''),
0717 'poll_option_total' => array('UINT', 0),
0718 ),
0719 'KEYS' => array(
0720 'poll_opt_id' => array('INDEX', 'poll_option_id'),
0721 'topic_id' => array('INDEX', 'topic_id'),
0722 ),
0723 );
0724
0725 $schema_data['phpbb_poll_votes'] = array(
0726 'COLUMNS' => array(
0727 'topic_id' => array('UINT', 0),
0728 'poll_option_id' => array('TINT:4', 0),
0729 'vote_user_id' => array('UINT', 0),
0730 'vote_user_ip' => array('VCHAR:40', ''),
0731 ),
0732 'KEYS' => array(
0733 'topic_id' => array('INDEX', 'topic_id'),
0734 'vote_user_id' => array('INDEX', 'vote_user_id'),
0735 'vote_user_ip' => array('INDEX', 'vote_user_ip'),
0736 ),
0737 );
0738
0739 $schema_data['phpbb_posts'] = array(
0740 'COLUMNS' => array(
0741 'post_id' => array('UINT', NULL, 'auto_increment'),
0742 'topic_id' => array('UINT', 0),
0743 'forum_id' => array('UINT', 0),
0744 'poster_id' => array('UINT', 0),
0745 'icon_id' => array('UINT', 0),
0746 'poster_ip' => array('VCHAR:40', ''),
0747 'post_time' => array('TIMESTAMP', 0),
0748 'post_approved' => array('BOOL', 1),
0749 'post_reported' => array('BOOL', 0),
0750 'enable_bbcode' => array('BOOL', 1),
0751 'enable_smilies' => array('BOOL', 1),
0752 'enable_magic_url' => array('BOOL', 1),
0753 'enable_sig' => array('BOOL', 1),
0754 'post_username' => array('VCHAR_UNI:255', ''),
0755 'post_subject' => array('XSTEXT_UNI', '', 'true_sort'),
0756 'post_text' => array('MTEXT_UNI', '', ($GLOBALS['mysql_indexer']) ? 'true_sort' : 'no_sort'),
0757 'post_checksum' => array('VCHAR:32', ''),
0758 'post_attachment' => array('BOOL', 0),
0759 'bbcode_bitfield' => array('VCHAR:255', ''),
0760 'bbcode_uid' => array('VCHAR:8', ''),
0761 'post_postcount' => array('BOOL', 1),
0762 'post_edit_time' => array('TIMESTAMP', 0),
0763 'post_edit_reason' => array('STEXT_UNI', ''),
0764 'post_edit_user' => array('UINT', 0),
0765 'post_edit_count' => array('USINT', 0),
0766 'post_edit_locked' => array('BOOL', 0),
0767 ),
0768 'PRIMARY_KEY' => 'post_id',
0769 'KEYS' => array(
0770 'forum_id' => array('INDEX', 'forum_id'),
0771 'topic_id' => array('INDEX', 'topic_id'),
0772 'poster_ip' => array('INDEX', 'poster_ip'),
0773 'poster_id' => array('INDEX', 'poster_id'),
0774 'post_approved' => array('INDEX', 'post_approved'),
0775 'tid_post_time' => array('INDEX', array('topic_id', 'post_time')),
0776 ),
0777 );
0778
0779 $schema_data['phpbb_privmsgs'] = array(
0780 'COLUMNS' => array(
0781 'msg_id' => array('UINT', NULL, 'auto_increment'),
0782 'root_level' => array('UINT', 0),
0783 'author_id' => array('UINT', 0),
0784 'icon_id' => array('UINT', 0),
0785 'author_ip' => array('VCHAR:40', ''),
0786 'message_time' => array('TIMESTAMP', 0),
0787 'enable_bbcode' => array('BOOL', 1),
0788 'enable_smilies' => array('BOOL', 1),
0789 'enable_magic_url' => array('BOOL', 1),
0790 'enable_sig' => array('BOOL', 1),
0791 'message_subject' => array('XSTEXT_UNI', ''),
0792 'message_text' => array('MTEXT_UNI', ''),
0793 'message_edit_reason' => array('STEXT_UNI', ''),
0794 'message_edit_user' => array('UINT', 0),
0795 'message_attachment' => array('BOOL', 0),
0796 'bbcode_bitfield' => array('VCHAR:255', ''),
0797 'bbcode_uid' => array('VCHAR:8', ''),
0798 'message_edit_time' => array('TIMESTAMP', 0),
0799 'message_edit_count' => array('USINT', 0),
0800 'to_address' => array('TEXT_UNI', ''),
0801 'bcc_address' => array('TEXT_UNI', ''),
0802 ),
0803 'PRIMARY_KEY' => 'msg_id',
0804 'KEYS' => array(
0805 'author_ip' => array('INDEX', 'author_ip'),
0806 'message_time' => array('INDEX', 'message_time'),
0807 'author_id' => array('INDEX', 'author_id'),
0808 'root_level' => array('INDEX', 'root_level'),
0809 ),
0810 );
0811
0812 $schema_data['phpbb_privmsgs_folder'] = array(
0813 'COLUMNS' => array(
0814 'folder_id' => array('UINT', NULL, 'auto_increment'),
0815 'user_id' => array('UINT', 0),
0816 'folder_name' => array('VCHAR_UNI', ''),
0817 'pm_count' => array('UINT', 0),
0818 ),
0819 'PRIMARY_KEY' => 'folder_id',
0820 'KEYS' => array(
0821 'user_id' => array('INDEX', 'user_id'),
0822 ),
0823 );
0824
0825 $schema_data['phpbb_privmsgs_rules'] = array(
0826 'COLUMNS' => array(
0827 'rule_id' => array('UINT', NULL, 'auto_increment'),
0828 'user_id' => array('UINT', 0),
0829 'rule_check' => array('UINT', 0),
0830 'rule_connection' => array('UINT', 0),
0831 'rule_string' => array('VCHAR_UNI', ''),
0832 'rule_user_id' => array('UINT', 0),
0833 'rule_group_id' => array('UINT', 0),
0834 'rule_action' => array('UINT', 0),
0835 'rule_folder_id' => array('INT:11', 0),
0836 ),
0837 'PRIMARY_KEY' => 'rule_id',
0838 'KEYS' => array(
0839 'user_id' => array('INDEX', 'user_id'),
0840 ),
0841 );
0842
0843 $schema_data['phpbb_privmsgs_to'] = array(
0844 'COLUMNS' => array(
0845 'msg_id' => array('UINT', 0),
0846 'user_id' => array('UINT', 0),
0847 'author_id' => array('UINT', 0),
0848 'pm_deleted' => array('BOOL', 0),
0849 'pm_new' => array('BOOL', 1),
0850 'pm_unread' => array('BOOL', 1),
0851 'pm_replied' => array('BOOL', 0),
0852 'pm_marked' => array('BOOL', 0),
0853 'pm_forwarded' => array('BOOL', 0),
0854 'folder_id' => array('INT:11', 0),
0855 ),
0856 'KEYS' => array(
0857 'msg_id' => array('INDEX', 'msg_id'),
0858 'author_id' => array('INDEX', 'author_id'),
0859 'usr_flder_id' => array('INDEX', array('user_id', 'folder_id')),
0860 ),
0861 );
0862
0863 $schema_data['phpbb_profile_fields'] = array(
0864 'COLUMNS' => array(
0865 'field_id' => array('UINT', NULL, 'auto_increment'),
0866 'field_name' => array('VCHAR_UNI', ''),
0867 'field_type' => array('TINT:4', 0),
0868 'field_ident' => array('VCHAR:20', ''),
0869 'field_length' => array('VCHAR:20', ''),
0870 'field_minlen' => array('VCHAR', ''),
0871 'field_maxlen' => array('VCHAR', ''),
0872 'field_novalue' => array('VCHAR_UNI', ''),
0873 'field_default_value' => array('VCHAR_UNI', ''),
0874 'field_validation' => array('VCHAR_UNI:20', ''),
0875 'field_required' => array('BOOL', 0),
0876 'field_show_on_reg' => array('BOOL', 0),
0877 'field_hide' => array('BOOL', 0),
0878 'field_no_view' => array('BOOL', 0),
0879 'field_active' => array('BOOL', 0),
0880 'field_order' => array('UINT', 0),
0881 ),
0882 'PRIMARY_KEY' => 'field_id',
0883 'KEYS' => array(
0884 'fld_type' => array('INDEX', 'field_type'),
0885 'fld_ordr' => array('INDEX', 'field_order'),
0886 ),
0887 );
0888
0889 $schema_data['phpbb_profile_fields_data'] = array(
0890 'COLUMNS' => array(
0891 'user_id' => array('UINT', 0),
0892 ),
0893 'PRIMARY_KEY' => 'user_id',
0894 );
0895
0896 $schema_data['phpbb_profile_fields_lang'] = array(
0897 'COLUMNS' => array(
0898 'field_id' => array('UINT', 0),
0899 'lang_id' => array('UINT', 0),
0900 'option_id' => array('UINT', 0),
0901 'field_type' => array('TINT:4', 0),
0902 'lang_value' => array('VCHAR_UNI', ''),
0903 ),
0904 'PRIMARY_KEY' => array('field_id', 'lang_id', 'option_id'),
0905 );
0906
0907 $schema_data['phpbb_profile_lang'] = array(
0908 'COLUMNS' => array(
0909 'field_id' => array('UINT', 0),
0910 'lang_id' => array('UINT', 0),
0911 'lang_name' => array('VCHAR_UNI', ''),
0912 'lang_explain' => array('TEXT_UNI', ''),
0913 'lang_default_value' => array('VCHAR_UNI', ''),
0914 ),
0915 'PRIMARY_KEY' => array('field_id', 'lang_id'),
0916 );
0917
0918 $schema_data['phpbb_ranks'] = array(
0919 'COLUMNS' => array(
0920 'rank_id' => array('UINT', NULL, 'auto_increment'),
0921 'rank_title' => array('VCHAR_UNI', ''),
0922 'rank_min' => array('UINT', 0),
0923 'rank_special' => array('BOOL', 0),
0924 'rank_image' => array('VCHAR', ''),
0925 ),
0926 'PRIMARY_KEY' => 'rank_id',
0927 );
0928
0929 $schema_data['phpbb_reports'] = array(
0930 'COLUMNS' => array(
0931 'report_id' => array('UINT', NULL, 'auto_increment'),
0932 'reason_id' => array('USINT', 0),
0933 'post_id' => array('UINT', 0),
0934 'user_id' => array('UINT', 0),
0935 'user_notify' => array('BOOL', 0),
0936 'report_closed' => array('BOOL', 0),
0937 'report_time' => array('TIMESTAMP', 0),
0938 'report_text' => array('MTEXT_UNI', ''),
0939 ),
0940 'PRIMARY_KEY' => 'report_id',
0941 );
0942
0943 $schema_data['phpbb_reports_reasons'] = array(
0944 'COLUMNS' => array(
0945 'reason_id' => array('USINT', NULL, 'auto_increment'),
0946 'reason_title' => array('VCHAR_UNI', ''),
0947 'reason_description' => array('MTEXT_UNI', ''),
0948 'reason_order' => array('USINT', 0),
0949 ),
0950 'PRIMARY_KEY' => 'reason_id',
0951 );
0952
0953 $schema_data['phpbb_search_results'] = array(
0954 'COLUMNS' => array(
0955 'search_key' => array('VCHAR:32', ''),
0956 'search_time' => array('TIMESTAMP', 0),
0957 'search_keywords' => array('MTEXT_UNI', ''),
0958 'search_authors' => array('MTEXT', ''),
0959 ),
0960 'PRIMARY_KEY' => 'search_key',
0961 );
0962
0963 $schema_data['phpbb_search_wordlist'] = array(
0964 'COLUMNS' => array(
0965 'word_id' => array('UINT', NULL, 'auto_increment'),
0966 'word_text' => array('VCHAR_UNI', ''),
0967 'word_common' => array('BOOL', 0),
0968 'word_count' => array('UINT', 0),
0969 ),
0970 'PRIMARY_KEY' => 'word_id',
0971 'KEYS' => array(
0972 'wrd_txt' => array('UNIQUE', 'word_text'),
0973 'wrd_cnt' => array('INDEX', 'word_count'),
0974 ),
0975 );
0976
0977 $schema_data['phpbb_search_wordmatch'] = array(
0978 'COLUMNS' => array(
0979 'post_id' => array('UINT', 0),
0980 'word_id' => array('UINT', 0),
0981 'title_match' => array('BOOL', 0),
0982 ),
0983 'KEYS' => array(
0984 'unq_mtch' => array('UNIQUE', array('word_id', 'post_id', 'title_match')),
0985 'word_id' => array('INDEX', 'word_id'),
0986 'post_id' => array('INDEX', 'post_id'),
0987 ),
0988 );
0989
0990 $schema_data['phpbb_sessions'] = array(
0991 'COLUMNS' => array(
0992 'session_id' => array('CHAR:32', ''),
0993 'session_user_id' => array('UINT', 0),
0994 'session_last_visit' => array('TIMESTAMP', 0),
0995 'session_start' => array('TIMESTAMP', 0),
0996 'session_time' => array('TIMESTAMP', 0),
0997 'session_ip' => array('VCHAR:40', ''),
0998 'session_browser' => array('VCHAR:150', ''),
0999 'session_forwarded_for' => array('VCHAR:255', ''),
1000 'session_page' => array('VCHAR_UNI', ''),
1001 'session_viewonline' => array('BOOL', 1),
1002 'session_autologin' => array('BOOL', 0),
1003 'session_admin' => array('BOOL', 0),
1004 ),
1005 'PRIMARY_KEY' => 'session_id',
1006 'KEYS' => array(
1007 'session_time' => array('INDEX', 'session_time'),
1008 'session_user_id' => array('INDEX', 'session_user_id'),
1009 ),
1010 );
1011
1012 $schema_data['phpbb_sessions_keys'] = array(
1013 'COLUMNS' => array(
1014 'key_id' => array('CHAR:32', ''),
1015 'user_id' => array('UINT', 0),
1016 'last_ip' => array('VCHAR:40', ''),
1017 'last_login' => array('TIMESTAMP', 0),
1018 ),
1019 'PRIMARY_KEY' => array('key_id', 'user_id'),
1020 'KEYS' => array(
1021 'last_login' => array('INDEX', 'last_login'),
1022 ),
1023 );
1024
1025 $schema_data['phpbb_sitelist'] = array(
1026 'COLUMNS' => array(
1027 'site_id' => array('UINT', NULL, 'auto_increment'),
1028 'site_ip' => array('VCHAR:40', ''),
1029 'site_hostname' => array('VCHAR', ''),
1030 'ip_exclude' => array('BOOL', 0),
1031 ),
1032 'PRIMARY_KEY' => 'site_id',
1033 );
1034
1035 $schema_data['phpbb_smilies'] = array(
1036 'COLUMNS' => array(
1037 'smiley_id' => array('UINT', NULL, 'auto_increment'),
1038 // We may want to set 'code' to VCHAR:50 or check if unicode support is possible... at the moment only ASCII characters are allowed.
1039 'code' => array('VCHAR_UNI:50', ''),
1040 'emotion' => array('VCHAR_UNI:50', ''),
1041 'smiley_url' => array('VCHAR:50', ''),
1042 'smiley_width' => array('USINT', 0),
1043 'smiley_height' => array('USINT', 0),
1044 'smiley_order' => array('UINT', 0),
1045 'display_on_posting'=> array('BOOL', 1),
1046 ),
1047 'PRIMARY_KEY' => 'smiley_id',
1048 'KEYS' => array(
1049 'display_on_post' => array('INDEX', 'display_on_posting'),
1050 ),
1051 );
1052
1053 $schema_data['phpbb_styles'] = array(
1054 'COLUMNS' => array(
1055 'style_id' => array('USINT', NULL, 'auto_increment'),
1056 'style_name' => array('VCHAR_UNI:255', ''),
1057 'style_copyright' => array('VCHAR_UNI', ''),
1058 'style_active' => array('BOOL', 1),
1059 'template_id' => array('USINT', 0),
1060 'theme_id' => array('USINT', 0),
1061 'imageset_id' => array('USINT', 0),
1062 ),
1063 'PRIMARY_KEY' => 'style_id',
1064 'KEYS' => array(
1065 'style_name' => array('UNIQUE', 'style_name'),
1066 'template_id' => array('INDEX', 'template_id'),
1067 'theme_id' => array('INDEX', 'theme_id'),
1068 'imageset_id' => array('INDEX', 'imageset_id'),
1069 ),
1070 );
1071
1072 $schema_data['phpbb_styles_template'] = array(
1073 'COLUMNS' => array(
1074 'template_id' => array('USINT', NULL, 'auto_increment'),
1075 'template_name' => array('VCHAR_UNI:255', ''),
1076 'template_copyright' => array('VCHAR_UNI', ''),
1077 'template_path' => array('VCHAR:100', ''),
1078 'bbcode_bitfield' => array('VCHAR:255', 'kNg='),
1079 'template_storedb' => array('BOOL', 0),
1080 ),
1081 'PRIMARY_KEY' => 'template_id',
1082 'KEYS' => array(
1083 'tmplte_nm' => array('UNIQUE', 'template_name'),
1084 ),
1085 );
1086
1087 $schema_data['phpbb_styles_template_data'] = array(
1088 'COLUMNS' => array(
1089 'template_id' => array('USINT', 0),
1090 'template_filename' => array('VCHAR:100', ''),
1091 'template_included' => array('TEXT', ''),
1092 'template_mtime' => array('TIMESTAMP', 0),
1093 'template_data' => array('MTEXT_UNI', ''),
1094 ),
1095 'KEYS' => array(
1096 'tid' => array('INDEX', 'template_id'),
1097 'tfn' => array('INDEX', 'template_filename'),
1098 ),
1099 );
1100
1101 $schema_data['phpbb_styles_theme'] = array(
1102 'COLUMNS' => array(
1103 'theme_id' => array('USINT', NULL, 'auto_increment'),
1104 'theme_name' => array('VCHAR_UNI:255', ''),
1105 'theme_copyright' => array('VCHAR_UNI', ''),
1106 'theme_path' => array('VCHAR:100', ''),
1107 'theme_storedb' => array('BOOL', 0),
1108 'theme_mtime' => array('TIMESTAMP', 0),
1109 'theme_data' => array('MTEXT_UNI', ''),
1110 ),
1111 'PRIMARY_KEY' => 'theme_id',
1112 'KEYS' => array(
1113 'theme_name' => array('UNIQUE', 'theme_name'),
1114 ),
1115 );
1116
1117 $schema_data['phpbb_styles_imageset'] = array(
1118 'COLUMNS' => array(
1119 'imageset_id' => array('USINT', NULL, 'auto_increment'),
1120 'imageset_name' => array('VCHAR_UNI:255', ''),
1121 'imageset_copyright' => array('VCHAR_UNI', ''),
1122 'imageset_path' => array('VCHAR:100', ''),
1123 ),
1124 'PRIMARY_KEY' => 'imageset_id',
1125 'KEYS' => array(
1126 'imgset_nm' => array('UNIQUE', 'imageset_name'),
1127 ),
1128 );
1129
1130 $schema_data['phpbb_styles_imageset_data'] = array(
1131 'COLUMNS' => array(
1132 'image_id' => array('USINT', NULL, 'auto_increment'),
1133 'image_name' => array('VCHAR:200', ''),
1134 'image_filename' => array('VCHAR:200', ''),
1135 'image_lang' => array('VCHAR:30', ''),
1136 'image_height' => array('USINT', 0),
1137 'image_width' => array('USINT', 0),
1138 'imageset_id' => array('USINT', 0),
1139 ),
1140 'PRIMARY_KEY' => 'image_id',
1141 'KEYS' => array(
1142 'i_d' => array('INDEX', 'imageset_id'),
1143 ),
1144 );
1145
1146 $schema_data['phpbb_topics'] = array(
1147 'COLUMNS' => array(
1148 'topic_id' => array('UINT', NULL, 'auto_increment'),
1149 'forum_id' => array('UINT', 0),
1150 'icon_id' => array('UINT', 0),
1151 'topic_attachment' => array('BOOL', 0),
1152 'topic_approved' => array('BOOL', 1),
1153 'topic_reported' => array('BOOL', 0),
1154 'topic_title' => array('XSTEXT_UNI', '', 'true_sort'),
1155 'topic_poster' => array('UINT', 0),
1156 'topic_time' => array('TIMESTAMP', 0),
1157 'topic_time_limit' => array('TIMESTAMP', 0),
1158 'topic_views' => array('UINT', 0),
1159 'topic_replies' => array('UINT', 0),
1160 'topic_replies_real' => array('UINT', 0),
1161 'topic_status' => array('TINT:3', 0),
1162 'topic_type' => array('TINT:3', 0),
1163 'topic_first_post_id' => array('UINT', 0),
1164 'topic_first_poster_name' => array('VCHAR_UNI', ''),
1165 'topic_first_poster_colour' => array('VCHAR:6', ''),
1166 'topic_last_post_id' => array('UINT', 0),
1167 'topic_last_poster_id' => array('UINT', 0),
1168 'topic_last_poster_name' => array('VCHAR_UNI', ''),
1169 'topic_last_poster_colour' => array('VCHAR:6', ''),
1170 'topic_last_post_subject' => array('XSTEXT_UNI', ''),
1171 'topic_last_post_time' => array('TIMESTAMP', 0),
1172 'topic_last_view_time' => array('TIMESTAMP', 0),
1173 'topic_moved_id' => array('UINT', 0),
1174 'topic_bumped' => array('BOOL', 0),
1175 'topic_bumper' => array('UINT', 0),
1176 'poll_title' => array('STEXT_UNI', ''),
1177 'poll_start' => array('TIMESTAMP', 0),
1178 'poll_length' => array('TIMESTAMP', 0),
1179 'poll_max_options' => array('TINT:4', 1),
1180 'poll_last_vote' => array('TIMESTAMP', 0),
1181 'poll_vote_change' => array('BOOL', 0),
1182 ),
1183 'PRIMARY_KEY' => 'topic_id',
1184 'KEYS' => array(
1185 'forum_id' => array('INDEX', 'forum_id'),
1186 'forum_id_type' => array('INDEX', array('forum_id', 'topic_type')),
1187 'last_post_time' => array('INDEX', 'topic_last_post_time'),
1188 'topic_approved' => array('INDEX', 'topic_approved'),
1189 'forum_appr_last' => array('INDEX', array('forum_id', 'topic_approved', 'topic_last_post_id')),
1190 'fid_time_moved' => array('INDEX', array('forum_id', 'topic_last_post_time', 'topic_moved_id')),
1191 ),
1192 );
1193
1194 $schema_data['phpbb_topics_track'] = array(
1195 'COLUMNS' => array(
1196 'user_id' => array('UINT', 0),
1197 'topic_id' => array('UINT', 0),
1198 'forum_id' => array('UINT', 0),
1199 'mark_time' => array('TIMESTAMP', 0),
1200 ),
1201 'PRIMARY_KEY' => array('user_id', 'topic_id'),
1202 'KEYS' => array(
1203 'forum_id' => array('INDEX', 'forum_id'),
1204 ),
1205 );
1206
1207 $schema_data['phpbb_topics_posted'] = array(
1208 'COLUMNS' => array(
1209 'user_id' => array('UINT', 0),
1210 'topic_id' => array('UINT', 0),
1211 'topic_posted' => array('BOOL', 0),
1212 ),
1213 'PRIMARY_KEY' => array('user_id', 'topic_id'),
1214 );
1215
1216 $schema_data['phpbb_topics_watch'] = array(
1217 'COLUMNS' => array(
1218 'topic_id' => array('UINT', 0),
1219 'user_id' => array('UINT', 0),
1220 'notify_status' => array('BOOL', 0),
1221 ),
1222 'KEYS' => array(
1223 'topic_id' => array('INDEX', 'topic_id'),
1224 'user_id' => array('INDEX', 'user_id'),
1225 'notify_stat' => array('INDEX', 'notify_status'),
1226 ),
1227 );
1228
1229 $schema_data['phpbb_user_group'] = array(
1230 'COLUMNS' => array(
1231 'group_id' => array('UINT', 0),
1232 'user_id' => array('UINT', 0),
1233 'group_leader' => array('BOOL', 0),
1234 'user_pending' => array('BOOL', 1),
1235 ),
1236 'KEYS' => array(
1237 'group_id' => array('INDEX', 'group_id'),
1238 'user_id' => array('INDEX', 'user_id'),
1239 'group_leader' => array('INDEX', 'group_leader'),
1240 ),
1241 );
1242
1243 $schema_data['phpbb_users'] = array(
1244 'COLUMNS' => array(
1245 'user_id' => array('UINT', NULL, 'auto_increment'),
1246 'user_type' => array('TINT:2', 0),
1247 'group_id' => array('UINT', 3),
1248 'user_permissions' => array('MTEXT', ''),
1249 'user_perm_from' => array('UINT', 0),
1250 'user_ip' => array('VCHAR:40', ''),
1251 'user_regdate' => array('TIMESTAMP', 0),
1252 'username' => array('VCHAR_CI', ''),
1253 'username_clean' => array('VCHAR_CI', ''),
1254 'user_password' => array('VCHAR_UNI:40', ''),
1255 'user_passchg' => array('TIMESTAMP', 0),
1256 'user_pass_convert' => array('BOOL', 0),
1257 'user_email' => array('VCHAR_UNI:100', ''),
1258 'user_email_hash' => array('BINT', 0),
1259 'user_birthday' => array('VCHAR:10', ''),
1260 'user_lastvisit' => array('TIMESTAMP', 0),
1261 'user_lastmark' => array('TIMESTAMP', 0),
1262 'user_lastpost_time' => array('TIMESTAMP', 0),
1263 'user_lastpage' => array('VCHAR_UNI:200', ''),
1264 'user_last_confirm_key' => array('VCHAR:10', ''),
1265 'user_last_search' => array('TIMESTAMP', 0),
1266 'user_warnings' => array('TINT:4', 0),
1267 'user_last_warning' => array('TIMESTAMP', 0),
1268 'user_login_attempts' => array('TINT:4', 0),
1269 'user_inactive_reason' => array('TINT:2', 0),
1270 'user_inactive_time' => array('TIMESTAMP', 0),
1271 'user_posts' => array('UINT', 0),
1272 'user_lang' => array('VCHAR:30', ''),
1273 'user_timezone' => array('DECIMAL', 0),
1274 'user_dst' => array('BOOL', 0),
1275 'user_dateformat' => array('VCHAR_UNI:30', 'd M Y H:i'),
1276 'user_style' => array('USINT', 0),
1277 'user_rank' => array('UINT', 0),
1278 'user_colour' => array('VCHAR:6', ''),
1279 'user_new_privmsg' => array('INT:4', 0),
1280 'user_unread_privmsg' => array('INT:4', 0),
1281 'user_last_privmsg' => array('TIMESTAMP', 0),
1282 'user_message_rules' => array('BOOL', 0),
1283 'user_full_folder' => array('INT:11', -3),
1284 'user_emailtime' => array('TIMESTAMP', 0),
1285 'user_topic_show_days' => array('USINT', 0),
1286 'user_topic_sortby_type' => array('VCHAR:1', 't'),
1287 'user_topic_sortby_dir' => array('VCHAR:1', 'd'),
1288 'user_post_show_days' => array('USINT', 0),
1289 'user_post_sortby_type' => array('VCHAR:1', 't'),
1290 'user_post_sortby_dir' => array('VCHAR:1', 'a'),
1291 'user_notify' => array('BOOL', 0),
1292 'user_notify_pm' => array('BOOL', 1),
1293 'user_notify_type' => array('TINT:4', 0),
1294 'user_allow_pm' => array('BOOL', 1),
1295 'user_allow_viewonline' => array('BOOL', 1),
1296 'user_allow_viewemail' => array('BOOL', 1),
1297 'user_allow_massemail' => array('BOOL', 1),
1298 'user_options' => array('UINT:11', 895),
1299 'user_avatar' => array('VCHAR', ''),
1300 'user_avatar_type' => array('TINT:2', 0),
1301 'user_avatar_width' => array('USINT', 0),
1302 'user_avatar_height' => array('USINT', 0),
1303 'user_sig' => array('MTEXT_UNI', ''),
1304 'user_sig_bbcode_uid' => array('VCHAR:8', ''),
1305 'user_sig_bbcode_bitfield' => array('VCHAR:255', ''),
1306 'user_from' => array('VCHAR_UNI:100', ''),
1307 'user_icq' => array('VCHAR:15', ''),
1308 'user_aim' => array('VCHAR_UNI', ''),
1309 'user_yim' => array('VCHAR_UNI', ''),
1310 'user_msnm' => array('VCHAR_UNI', ''),
1311 'user_jabber' => array('VCHAR_UNI', ''),
1312 'user_website' => array('VCHAR_UNI:200', ''),
1313 'user_occ' => array('TEXT_UNI', ''),
1314 'user_interests' => array('TEXT_UNI', ''),
1315 'user_actkey' => array('VCHAR:32', ''),
1316 'user_newpasswd' => array('VCHAR_UNI:40', ''),
1317 'user_form_salt' => array('VCHAR_UNI:32', ''),
1318
1319 ),
1320 'PRIMARY_KEY' => 'user_id',
1321 'KEYS' => array(
1322 'user_birthday' => array('INDEX', 'user_birthday'),
1323 'user_email_hash' => array('INDEX', 'user_email_hash'),
1324 'user_type' => array('INDEX', 'user_type'),
1325 'username_clean' => array('UNIQUE', 'username_clean'),
1326 ),
1327 );
1328
1329 $schema_data['phpbb_warnings'] = array(
1330 'COLUMNS' => array(
1331 'warning_id' => array('UINT', NULL, 'auto_increment'),
1332 'user_id' => array('UINT', 0),
1333 'post_id' => array('UINT', 0),
1334 'log_id' => array('UINT', 0),
1335 'warning_time' => array('TIMESTAMP', 0),
1336 ),
1337 'PRIMARY_KEY' => 'warning_id',
1338 );
1339
1340 $schema_data['phpbb_words'] = array(
1341 'COLUMNS' => array(
1342 'word_id' => array('UINT', NULL, 'auto_increment'),
1343 'word' => array('VCHAR_UNI', ''),
1344 'replacement' => array('VCHAR_UNI', ''),
1345 ),
1346 'PRIMARY_KEY' => 'word_id',
1347 );
1348
1349 $schema_data['phpbb_zebra'] = array(
1350 'COLUMNS' => array(
1351 'user_id' => array('UINT', 0),
1352 'zebra_id' => array('UINT', 0),
1353 'friend' => array('BOOL', 0),
1354 'foe' => array('BOOL', 0),
1355 ),
1356 'PRIMARY_KEY' => array('user_id', 'zebra_id'),
1357 );
1358
1359 return $schema_data;
1360 }
1361
1362 ?>