Verzeichnisstruktur phpBB-3.1.0


Veröffentlicht
27.10.2014

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.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

      (Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

release_3_0_0.php

Zuletzt modifiziert: 09.10.2024, 12:57 - Dateigröße: 41.14 KiB


 0001  <?php
 0002  /**
 0003  *
 0004  * This file is part of the phpBB Forum Software package.
 0005  *
 0006  * @copyright (c) phpBB Limited <https://www.phpbb.com>
 0007  * @license GNU General Public License, version 2 (GPL-2.0)
 0008  *
 0009  * For full copyright and license information, please see
 0010  * the docs/CREDITS.txt file.
 0011  *
 0012  */
 0013   
 0014  namespace phpbb\db\migration\data\v30x;
 0015   
 0016  class release_3_0_0 extends \phpbb\db\migration\migration
 0017  {
 0018      public function effectively_installed()
 0019      {
 0020          return phpbb_version_compare($this->config['version'], '3.0.0', '>=');
 0021      }
 0022   
 0023      public function update_schema()
 0024      {
 0025          return array(
 0026              'add_tables' => array(
 0027                  $this->table_prefix . 'attachments'    => array(
 0028                      'COLUMNS'    => array(
 0029                          'attach_id'    => array('UINT', NULL, 'auto_increment'),
 0030                          'post_msg_id'    => array('UINT', 0),
 0031                          'topic_id'    => array('UINT', 0),
 0032                          'in_message'    => array('BOOL', 0),
 0033                          'poster_id'    => array('UINT', 0),
 0034                          'is_orphan'    => array('BOOL', 1),
 0035                          'physical_filename'    => array('VCHAR', ''),
 0036                          'real_filename'    => array('VCHAR', ''),
 0037                          'download_count'    => array('UINT', 0),
 0038                          'attach_comment'    => array('TEXT_UNI', ''),
 0039                          'extension'    => array('VCHAR:100', ''),
 0040                          'mimetype'    => array('VCHAR:100', ''),
 0041                          'filesize'    => array('UINT:20', 0),
 0042                          'filetime'    => array('TIMESTAMP', 0),
 0043                          'thumbnail'    => array('BOOL', 0),
 0044                      ),
 0045                      'PRIMARY_KEY'    => 'attach_id',
 0046                      'KEYS'    => array(
 0047                          'filetime'    => array('INDEX', 'filetime'),
 0048                          'post_msg_id'    => array('INDEX', 'post_msg_id'),
 0049                          'topic_id'    => array('INDEX', 'topic_id'),
 0050                          'poster_id'    => array('INDEX', 'poster_id'),
 0051                          'is_orphan'    => array('INDEX', 'is_orphan'),
 0052                      ),
 0053                  ),
 0054   
 0055                  $this->table_prefix . 'acl_groups'    => array(
 0056                      'COLUMNS'    => array(
 0057                          'group_id'    => array('UINT', 0),
 0058                          'forum_id'    => array('UINT', 0),
 0059                          'auth_option_id'    => array('UINT', 0),
 0060                          'auth_role_id'    => array('UINT', 0),
 0061                          'auth_setting'    => array('TINT:2', 0),
 0062                      ),
 0063                      'KEYS'    => array(
 0064                          'group_id'    => array('INDEX', 'group_id'),
 0065                          'auth_opt_id'    => array('INDEX', 'auth_option_id'),
 0066                          'auth_role_id'    => array('INDEX', 'auth_role_id'),
 0067                      ),
 0068                  ),
 0069   
 0070                  $this->table_prefix . 'acl_options'    => array(
 0071                      'COLUMNS'    => array(
 0072                          'auth_option_id'    => array('UINT', NULL, 'auto_increment'),
 0073                          'auth_option'    => array('VCHAR:50', ''),
 0074                          'is_global'    => array('BOOL', 0),
 0075                          'is_local'    => array('BOOL', 0),
 0076                          'founder_only'    => array('BOOL', 0),
 0077                      ),
 0078                      'PRIMARY_KEY'    => 'auth_option_id',
 0079                      'KEYS'    => array(
 0080                          'auth_option'    => array('INDEX', 'auth_option'),
 0081                      ),
 0082                  ),
 0083   
 0084                  $this->table_prefix . 'acl_roles'    => array(
 0085                      'COLUMNS'    => array(
 0086                          'role_id'    => array('UINT', NULL, 'auto_increment'),
 0087                          'role_name'    => array('VCHAR_UNI', ''),
 0088                          'role_description'    => array('TEXT_UNI', ''),
 0089                          'role_type'    => array('VCHAR:10', ''),
 0090                          'role_order'    => array('USINT', 0),
 0091                      ),
 0092                      'PRIMARY_KEY'    => 'role_id',
 0093                      'KEYS'    => array(
 0094                          'role_type'    => array('INDEX', 'role_type'),
 0095                          'role_order'    => array('INDEX', 'role_order'),
 0096                      ),
 0097                  ),
 0098   
 0099                  $this->table_prefix . 'acl_roles_data'    => array(
 0100                      'COLUMNS'    => array(
 0101                          'role_id'    => array('UINT', 0),
 0102                          'auth_option_id'    => array('UINT', 0),
 0103                          'auth_setting'    => array('TINT:2', 0),
 0104                      ),
 0105                      'PRIMARY_KEY'    => array('role_id', 'auth_option_id'),
 0106                      'KEYS'    => array(
 0107                          'ath_op_id'    => array('INDEX', 'auth_option_id'),
 0108                      ),
 0109                  ),
 0110   
 0111                  $this->table_prefix . 'acl_users'    => array(
 0112                      'COLUMNS'    => array(
 0113                          'user_id'    => array('UINT', 0),
 0114                          'forum_id'    => array('UINT', 0),
 0115                          'auth_option_id'    => array('UINT', 0),
 0116                          'auth_role_id'    => array('UINT', 0),
 0117                          'auth_setting'    => array('TINT:2', 0),
 0118                      ),
 0119                      'KEYS'    => array(
 0120                          'user_id'    => array('INDEX', 'user_id'),
 0121                          'auth_option_id'    => array('INDEX', 'auth_option_id'),
 0122                          'auth_role_id'    => array('INDEX', 'auth_role_id'),
 0123                      ),
 0124                  ),
 0125   
 0126                  $this->table_prefix . 'banlist'    => array(
 0127                      'COLUMNS'    => array(
 0128                          'ban_id'    => array('UINT', NULL, 'auto_increment'),
 0129                          'ban_userid'    => array('UINT', 0),
 0130                          'ban_ip'    => array('VCHAR:40', ''),
 0131                          'ban_email'    => array('VCHAR_UNI:100', ''),
 0132                          'ban_start'    => array('TIMESTAMP', 0),
 0133                          'ban_end'    => array('TIMESTAMP', 0),
 0134                          'ban_exclude'    => array('BOOL', 0),
 0135                          'ban_reason'    => array('VCHAR_UNI', ''),
 0136                          'ban_give_reason'    => array('VCHAR_UNI', ''),
 0137                      ),
 0138                      'PRIMARY_KEY'    => 'ban_id',
 0139                      'KEYS'    => array(
 0140                          'ban_end'    => array('INDEX', 'ban_end'),
 0141                          'ban_user'    => array('INDEX', array('ban_userid', 'ban_exclude')),
 0142                          'ban_email'    => array('INDEX', array('ban_email', 'ban_exclude')),
 0143                          'ban_ip'    => array('INDEX', array('ban_ip', 'ban_exclude')),
 0144                      ),
 0145                  ),
 0146   
 0147                  $this->table_prefix . 'bbcodes'    => array(
 0148                      'COLUMNS'    => array(
 0149                          'bbcode_id'    => array('TINT:3', 0),
 0150                          'bbcode_tag'    => array('VCHAR:16', ''),
 0151                          'bbcode_helpline'    => array('VCHAR_UNI', ''),
 0152                          'display_on_posting'    => array('BOOL', 0),
 0153                          'bbcode_match'    => array('TEXT_UNI', ''),
 0154                          'bbcode_tpl'    => array('MTEXT_UNI', ''),
 0155                          'first_pass_match'    => array('MTEXT_UNI', ''),
 0156                          'first_pass_replace'    => array('MTEXT_UNI', ''),
 0157                          'second_pass_match'    => array('MTEXT_UNI', ''),
 0158                          'second_pass_replace'    => array('MTEXT_UNI', ''),
 0159                      ),
 0160                      'PRIMARY_KEY'    => 'bbcode_id',
 0161                      'KEYS'    => array(
 0162                          'display_on_post'    => array('INDEX', 'display_on_posting'),
 0163                      ),
 0164                  ),
 0165   
 0166                  $this->table_prefix . 'bookmarks'    => array(
 0167                      'COLUMNS'    => array(
 0168                          'topic_id'    => array('UINT', 0),
 0169                          'user_id'    => array('UINT', 0),
 0170                      ),
 0171                      'PRIMARY_KEY'    => array('topic_id', 'user_id'),
 0172                  ),
 0173   
 0174                  $this->table_prefix . 'bots'    => array(
 0175                      'COLUMNS'    => array(
 0176                          'bot_id'    => array('UINT', NULL, 'auto_increment'),
 0177                          'bot_active'    => array('BOOL', 1),
 0178                          'bot_name'    => array('STEXT_UNI', ''),
 0179                          'user_id'    => array('UINT', 0),
 0180                          'bot_agent'    => array('VCHAR', ''),
 0181                          'bot_ip'    => array('VCHAR', ''),
 0182                      ),
 0183                      'PRIMARY_KEY'    => 'bot_id',
 0184                      'KEYS'    => array(
 0185                          'bot_active'    => array('INDEX', 'bot_active'),
 0186                      ),
 0187                  ),
 0188   
 0189                  $this->table_prefix . 'config'    => array(
 0190                      'COLUMNS'    => array(
 0191                          'config_name'    => array('VCHAR', ''),
 0192                          'config_value'    => array('VCHAR_UNI', ''),
 0193                          'is_dynamic'    => array('BOOL', 0),
 0194                      ),
 0195                      'PRIMARY_KEY'    => 'config_name',
 0196                      'KEYS'    => array(
 0197                          'is_dynamic'    => array('INDEX', 'is_dynamic'),
 0198                      ),
 0199                  ),
 0200   
 0201                  $this->table_prefix . 'confirm'    => array(
 0202                      'COLUMNS'    => array(
 0203                          'confirm_id'    => array('CHAR:32', ''),
 0204                          'session_id'    => array('CHAR:32', ''),
 0205                          'confirm_type'    => array('TINT:3', 0),
 0206                          'code'    => array('VCHAR:8', ''),
 0207                          'seed'    => array('UINT:10', 0),
 0208                      ),
 0209                      'PRIMARY_KEY'    => array('session_id', 'confirm_id'),
 0210                      'KEYS'    => array(
 0211                          'confirm_type'    => array('INDEX', 'confirm_type'),
 0212                      ),
 0213                  ),
 0214   
 0215                  $this->table_prefix . 'disallow'    => array(
 0216                      'COLUMNS'    => array(
 0217                          'disallow_id'    => array('UINT', NULL, 'auto_increment'),
 0218                          'disallow_username'    => array('VCHAR_UNI:255', ''),
 0219                      ),
 0220                      'PRIMARY_KEY'    => 'disallow_id',
 0221                  ),
 0222   
 0223                  $this->table_prefix . 'drafts'    => array(
 0224                      'COLUMNS'    => array(
 0225                          'draft_id'    => array('UINT', NULL, 'auto_increment'),
 0226                          'user_id'    => array('UINT', 0),
 0227                          'topic_id'    => array('UINT', 0),
 0228                          'forum_id'    => array('UINT', 0),
 0229                          'save_time'    => array('TIMESTAMP', 0),
 0230                          'draft_subject'    => array('XSTEXT_UNI', ''),
 0231                          'draft_message'    => array('MTEXT_UNI', ''),
 0232                      ),
 0233                      'PRIMARY_KEY'    => 'draft_id',
 0234                      'KEYS'    => array(
 0235                          'save_time'    => array('INDEX', 'save_time'),
 0236                      ),
 0237                  ),
 0238   
 0239                  $this->table_prefix . 'extensions'    => array(
 0240                      'COLUMNS'    => array(
 0241                          'extension_id'    => array('UINT', NULL, 'auto_increment'),
 0242                          'group_id'    => array('UINT', 0),
 0243                          'extension'    => array('VCHAR:100', ''),
 0244                      ),
 0245                      'PRIMARY_KEY'    => 'extension_id',
 0246                  ),
 0247   
 0248                  $this->table_prefix . 'extension_groups'    => array(
 0249                      'COLUMNS'    => array(
 0250                          'group_id'    => array('UINT', NULL, 'auto_increment'),
 0251                          'group_name'    => array('VCHAR_UNI', ''),
 0252                          'cat_id'    => array('TINT:2', 0),
 0253                          'allow_group'    => array('BOOL', 0),
 0254                          'download_mode'    => array('BOOL', 1),
 0255                          'upload_icon'    => array('VCHAR', ''),
 0256                          'max_filesize'    => array('UINT:20', 0),
 0257                          'allowed_forums'    => array('TEXT', ''),
 0258                          'allow_in_pm'    => array('BOOL', 0),
 0259                      ),
 0260                      'PRIMARY_KEY'    => 'group_id',
 0261                  ),
 0262   
 0263                  $this->table_prefix . 'forums'    => array(
 0264                      'COLUMNS'    => array(
 0265                          'forum_id'    => array('UINT', NULL, 'auto_increment'),
 0266                          'parent_id'    => array('UINT', 0),
 0267                          'left_id'    => array('UINT', 0),
 0268                          'right_id'    => array('UINT', 0),
 0269                          'forum_parents'    => array('MTEXT', ''),
 0270                          'forum_name'    => array('STEXT_UNI', ''),
 0271                          'forum_desc'    => array('TEXT_UNI', ''),
 0272                          'forum_desc_bitfield'    => array('VCHAR:255', ''),
 0273                          'forum_desc_options'    => array('UINT:11', 7),
 0274                          'forum_desc_uid'    => array('VCHAR:8', ''),
 0275                          'forum_link'    => array('VCHAR_UNI', ''),
 0276                          'forum_password'    => array('VCHAR_UNI:40', ''),
 0277                          'forum_style'    => array('USINT', 0),
 0278                          'forum_image'    => array('VCHAR', ''),
 0279                          'forum_rules'    => array('TEXT_UNI', ''),
 0280                          'forum_rules_link'    => array('VCHAR_UNI', ''),
 0281                          'forum_rules_bitfield'    => array('VCHAR:255', ''),
 0282                          'forum_rules_options'    => array('UINT:11', 7),
 0283                          'forum_rules_uid'    => array('VCHAR:8', ''),
 0284                          'forum_topics_per_page'    => array('TINT:4', 0),
 0285                          'forum_type'    => array('TINT:4', 0),
 0286                          'forum_status'    => array('TINT:4', 0),
 0287                          'forum_posts'    => array('UINT', 0),
 0288                          'forum_topics'    => array('UINT', 0),
 0289                          'forum_topics_real'    => array('UINT', 0),
 0290                          'forum_last_post_id'    => array('UINT', 0),
 0291                          'forum_last_poster_id'    => array('UINT', 0),
 0292                          'forum_last_post_subject' => array('XSTEXT_UNI', ''),
 0293                          'forum_last_post_time'    => array('TIMESTAMP', 0),
 0294                          'forum_last_poster_name'=> array('VCHAR_UNI', ''),
 0295                          'forum_last_poster_colour'=> array('VCHAR:6', ''),
 0296                          'forum_flags'    => array('TINT:4', 32),
 0297                          'display_on_index'    => array('BOOL', 1),
 0298                          'enable_indexing'    => array('BOOL', 1),
 0299                          'enable_icons'    => array('BOOL', 1),
 0300                          'enable_prune'    => array('BOOL', 0),
 0301                          'prune_next'    => array('TIMESTAMP', 0),
 0302                          'prune_days'    => array('UINT', 0),
 0303                          'prune_viewed'    => array('UINT', 0),
 0304                          'prune_freq'    => array('UINT', 0),
 0305                      ),
 0306                      'PRIMARY_KEY'    => 'forum_id',
 0307                      'KEYS'    => array(
 0308                          'left_right_id'    => array('INDEX', array('left_id', 'right_id')),
 0309                          'forum_lastpost_id'    => array('INDEX', 'forum_last_post_id'),
 0310                      ),
 0311                  ),
 0312   
 0313                  $this->table_prefix . 'forums_access'    => array(
 0314                      'COLUMNS'    => array(
 0315                          'forum_id'    => array('UINT', 0),
 0316                          'user_id'    => array('UINT', 0),
 0317                          'session_id'    => array('CHAR:32', ''),
 0318                      ),
 0319                      'PRIMARY_KEY'    => array('forum_id', 'user_id', 'session_id'),
 0320                  ),
 0321   
 0322                  $this->table_prefix . 'forums_track'    => array(
 0323                      'COLUMNS'    => array(
 0324                          'user_id'    => array('UINT', 0),
 0325                          'forum_id'    => array('UINT', 0),
 0326                          'mark_time'    => array('TIMESTAMP', 0),
 0327                      ),
 0328                      'PRIMARY_KEY'    => array('user_id', 'forum_id'),
 0329                  ),
 0330   
 0331                  $this->table_prefix . 'forums_watch'    => array(
 0332                      'COLUMNS'    => array(
 0333                          'forum_id'    => array('UINT', 0),
 0334                          'user_id'    => array('UINT', 0),
 0335                          'notify_status'    => array('BOOL', 0),
 0336                      ),
 0337                      'KEYS'    => array(
 0338                          'forum_id'    => array('INDEX', 'forum_id'),
 0339                          'user_id'    => array('INDEX', 'user_id'),
 0340                          'notify_stat'    => array('INDEX', 'notify_status'),
 0341                      ),
 0342                  ),
 0343   
 0344                  $this->table_prefix . 'groups'    => array(
 0345                      'COLUMNS'    => array(
 0346                          'group_id'    => array('UINT', NULL, 'auto_increment'),
 0347                          'group_type'    => array('TINT:4', 1),
 0348                          'group_founder_manage'    => array('BOOL', 0),
 0349                          'group_name'    => array('VCHAR_CI', ''),
 0350                          'group_desc'    => array('TEXT_UNI', ''),
 0351                          'group_desc_bitfield'    => array('VCHAR:255', ''),
 0352                          'group_desc_options'    => array('UINT:11', 7),
 0353                          'group_desc_uid'    => array('VCHAR:8', ''),
 0354                          'group_display'    => array('BOOL', 0),
 0355                          'group_avatar'    => array('VCHAR', ''),
 0356                          'group_avatar_type'    => array('TINT:2', 0),
 0357                          'group_avatar_width'    => array('USINT', 0),
 0358                          'group_avatar_height'    => array('USINT', 0),
 0359                          'group_rank'    => array('UINT', 0),
 0360                          'group_colour'    => array('VCHAR:6', ''),
 0361                          'group_sig_chars'    => array('UINT', 0),
 0362                          'group_receive_pm'    => array('BOOL', 0),
 0363                          'group_message_limit'    => array('UINT', 0),
 0364                          'group_legend'    => array('BOOL', 1),
 0365                      ),
 0366                      'PRIMARY_KEY'    => 'group_id',
 0367                      'KEYS'    => array(
 0368                          'group_legend'    => array('INDEX', 'group_legend'),
 0369                      ),
 0370                  ),
 0371   
 0372                  $this->table_prefix . 'icons'    => array(
 0373                      'COLUMNS'    => array(
 0374                          'icons_id'    => array('UINT', NULL, 'auto_increment'),
 0375                          'icons_url'    => array('VCHAR', ''),
 0376                          'icons_width'    => array('TINT:4', 0),
 0377                          'icons_height'    => array('TINT:4', 0),
 0378                          'icons_order'    => array('UINT', 0),
 0379                          'display_on_posting'    => array('BOOL', 1),
 0380                      ),
 0381                      'PRIMARY_KEY'    => 'icons_id',
 0382                      'KEYS'    => array(
 0383                          'display_on_posting'    => array('INDEX', 'display_on_posting'),
 0384                      ),
 0385                  ),
 0386   
 0387                  $this->table_prefix . 'lang'    => array(
 0388                      'COLUMNS'    => array(
 0389                          'lang_id'    => array('TINT:4', NULL, 'auto_increment'),
 0390                          'lang_iso'    => array('VCHAR:30', ''),
 0391                          'lang_dir'    => array('VCHAR:30', ''),
 0392                          'lang_english_name'    => array('VCHAR_UNI:100', ''),
 0393                          'lang_local_name'    => array('VCHAR_UNI:255', ''),
 0394                          'lang_author'    => array('VCHAR_UNI:255', ''),
 0395                      ),
 0396                      'PRIMARY_KEY'    => 'lang_id',
 0397                      'KEYS'    => array(
 0398                          'lang_iso'    => array('INDEX', 'lang_iso'),
 0399                      ),
 0400                  ),
 0401   
 0402                  $this->table_prefix . 'log'    => array(
 0403                      'COLUMNS'    => array(
 0404                          'log_id'    => array('UINT', NULL, 'auto_increment'),
 0405                          'log_type'    => array('TINT:4', 0),
 0406                          'user_id'    => array('UINT', 0),
 0407                          'forum_id'    => array('UINT', 0),
 0408                          'topic_id'    => array('UINT', 0),
 0409                          'reportee_id'    => array('UINT', 0),
 0410                          'log_ip'    => array('VCHAR:40', ''),
 0411                          'log_time'    => array('TIMESTAMP', 0),
 0412                          'log_operation'    => array('TEXT_UNI', ''),
 0413                          'log_data'    => array('MTEXT_UNI', ''),
 0414                      ),
 0415                      'PRIMARY_KEY'    => 'log_id',
 0416                      'KEYS'    => array(
 0417                          'log_type'    => array('INDEX', 'log_type'),
 0418                          'forum_id'    => array('INDEX', 'forum_id'),
 0419                          'topic_id'    => array('INDEX', 'topic_id'),
 0420                          'reportee_id'    => array('INDEX', 'reportee_id'),
 0421                          'user_id'    => array('INDEX', 'user_id'),
 0422                      ),
 0423                  ),
 0424   
 0425                  $this->table_prefix . 'moderator_cache'    => array(
 0426                      'COLUMNS'    => array(
 0427                          'forum_id'    => array('UINT', 0),
 0428                          'user_id'    => array('UINT', 0),
 0429                          'username'    => array('VCHAR_UNI:255', ''),
 0430                          'group_id'    => array('UINT', 0),
 0431                          'group_name'    => array('VCHAR_UNI', ''),
 0432                          'display_on_index'    => array('BOOL', 1),
 0433                      ),
 0434                      'KEYS'    => array(
 0435                          'disp_idx'    => array('INDEX', 'display_on_index'),
 0436                          'forum_id'    => array('INDEX', 'forum_id'),
 0437                      ),
 0438                  ),
 0439   
 0440                  $this->table_prefix . 'modules'    => array(
 0441                      'COLUMNS'    => array(
 0442                          'module_id'    => array('UINT', NULL, 'auto_increment'),
 0443                          'module_enabled'    => array('BOOL', 1),
 0444                          'module_display'    => array('BOOL', 1),
 0445                          'module_basename'    => array('VCHAR', ''),
 0446                          'module_class'    => array('VCHAR:10', ''),
 0447                          'parent_id'    => array('UINT', 0),
 0448                          'left_id'    => array('UINT', 0),
 0449                          'right_id'    => array('UINT', 0),
 0450                          'module_langname'    => array('VCHAR', ''),
 0451                          'module_mode'    => array('VCHAR', ''),
 0452                          'module_auth'    => array('VCHAR', ''),
 0453                      ),
 0454                      'PRIMARY_KEY'    => 'module_id',
 0455                      'KEYS'    => array(
 0456                          'left_right_id'    => array('INDEX', array('left_id', 'right_id')),
 0457                          'module_enabled'    => array('INDEX', 'module_enabled'),
 0458                          'class_left_id'    => array('INDEX', array('module_class', 'left_id')),
 0459                      ),
 0460                  ),
 0461   
 0462                  $this->table_prefix . 'poll_options'    => array(
 0463                      'COLUMNS'    => array(
 0464                          'poll_option_id'    => array('TINT:4', 0),
 0465                          'topic_id'    => array('UINT', 0),
 0466                          'poll_option_text'    => array('TEXT_UNI', ''),
 0467                          'poll_option_total'    => array('UINT', 0),
 0468                      ),
 0469                      'KEYS'    => array(
 0470                          'poll_opt_id'    => array('INDEX', 'poll_option_id'),
 0471                          'topic_id'    => array('INDEX', 'topic_id'),
 0472                      ),
 0473                  ),
 0474   
 0475                  $this->table_prefix . 'poll_votes'    => array(
 0476                      'COLUMNS'    => array(
 0477                          'topic_id'    => array('UINT', 0),
 0478                          'poll_option_id'    => array('TINT:4', 0),
 0479                          'vote_user_id'    => array('UINT', 0),
 0480                          'vote_user_ip'    => array('VCHAR:40', ''),
 0481                      ),
 0482                      'KEYS'    => array(
 0483                          'topic_id'    => array('INDEX', 'topic_id'),
 0484                          'vote_user_id'    => array('INDEX', 'vote_user_id'),
 0485                          'vote_user_ip'    => array('INDEX', 'vote_user_ip'),
 0486                      ),
 0487                  ),
 0488   
 0489                  $this->table_prefix . 'posts'    => array(
 0490                      'COLUMNS'    => array(
 0491                          'post_id'    => array('UINT', NULL, 'auto_increment'),
 0492                          'topic_id'    => array('UINT', 0),
 0493                          'forum_id'    => array('UINT', 0),
 0494                          'poster_id'    => array('UINT', 0),
 0495                          'icon_id'    => array('UINT', 0),
 0496                          'poster_ip'    => array('VCHAR:40', ''),
 0497                          'post_time'    => array('TIMESTAMP', 0),
 0498                          'post_approved'    => array('BOOL', 1),
 0499                          'post_reported'    => array('BOOL', 0),
 0500                          'enable_bbcode'    => array('BOOL', 1),
 0501                          'enable_smilies'    => array('BOOL', 1),
 0502                          'enable_magic_url'    => array('BOOL', 1),
 0503                          'enable_sig'    => array('BOOL', 1),
 0504                          'post_username'    => array('VCHAR_UNI:255', ''),
 0505                          'post_subject'    => array('XSTEXT_UNI', '', 'true_sort'),
 0506                          'post_text'    => array('MTEXT_UNI', ''),
 0507                          'post_checksum'    => array('VCHAR:32', ''),
 0508                          'post_attachment'    => array('BOOL', 0),
 0509                          'bbcode_bitfield'    => array('VCHAR:255', ''),
 0510                          'bbcode_uid'    => array('VCHAR:8', ''),
 0511                          'post_postcount'    => array('BOOL', 1),
 0512                          'post_edit_time'    => array('TIMESTAMP', 0),
 0513                          'post_edit_reason'    => array('STEXT_UNI', ''),
 0514                          'post_edit_user'    => array('UINT', 0),
 0515                          'post_edit_count'    => array('USINT', 0),
 0516                          'post_edit_locked'    => array('BOOL', 0),
 0517                      ),
 0518                      'PRIMARY_KEY'    => 'post_id',
 0519                      'KEYS'    => array(
 0520                          'forum_id'    => array('INDEX', 'forum_id'),
 0521                          'topic_id'    => array('INDEX', 'topic_id'),
 0522                          'poster_ip'    => array('INDEX', 'poster_ip'),
 0523                          'poster_id'    => array('INDEX', 'poster_id'),
 0524                          'post_approved'    => array('INDEX', 'post_approved'),
 0525                          'tid_post_time'    => array('INDEX', array('topic_id', 'post_time')),
 0526                      ),
 0527                  ),
 0528   
 0529                  $this->table_prefix . 'privmsgs'    => array(
 0530                      'COLUMNS'    => array(
 0531                          'msg_id'    => array('UINT', NULL, 'auto_increment'),
 0532                          'root_level'    => array('UINT', 0),
 0533                          'author_id'    => array('UINT', 0),
 0534                          'icon_id'    => array('UINT', 0),
 0535                          'author_ip'    => array('VCHAR:40', ''),
 0536                          'message_time'    => array('TIMESTAMP', 0),
 0537                          'enable_bbcode'    => array('BOOL', 1),
 0538                          'enable_smilies'    => array('BOOL', 1),
 0539                          'enable_magic_url'    => array('BOOL', 1),
 0540                          'enable_sig'    => array('BOOL', 1),
 0541                          'message_subject'    => array('XSTEXT_UNI', ''),
 0542                          'message_text'    => array('MTEXT_UNI', ''),
 0543                          'message_edit_reason'    => array('STEXT_UNI', ''),
 0544                          'message_edit_user'    => array('UINT', 0),
 0545                          'message_attachment'    => array('BOOL', 0),
 0546                          'bbcode_bitfield'    => array('VCHAR:255', ''),
 0547                          'bbcode_uid'    => array('VCHAR:8', ''),
 0548                          'message_edit_time'    => array('TIMESTAMP', 0),
 0549                          'message_edit_count'    => array('USINT', 0),
 0550                          'to_address'    => array('TEXT_UNI', ''),
 0551                          'bcc_address'    => array('TEXT_UNI', ''),
 0552                      ),
 0553                      'PRIMARY_KEY'    => 'msg_id',
 0554                      'KEYS'    => array(
 0555                          'author_ip'    => array('INDEX', 'author_ip'),
 0556                          'message_time'    => array('INDEX', 'message_time'),
 0557                          'author_id'    => array('INDEX', 'author_id'),
 0558                          'root_level'    => array('INDEX', 'root_level'),
 0559                      ),
 0560                  ),
 0561   
 0562                  $this->table_prefix . 'privmsgs_folder'    => array(
 0563                      'COLUMNS'    => array(
 0564                          'folder_id'    => array('UINT', NULL, 'auto_increment'),
 0565                          'user_id'    => array('UINT', 0),
 0566                          'folder_name'    => array('VCHAR_UNI', ''),
 0567                          'pm_count'    => array('UINT', 0),
 0568                      ),
 0569                      'PRIMARY_KEY'    => 'folder_id',
 0570                      'KEYS'    => array(
 0571                          'user_id'    => array('INDEX', 'user_id'),
 0572                      ),
 0573                  ),
 0574   
 0575                  $this->table_prefix . 'privmsgs_rules'    => array(
 0576                      'COLUMNS'    => array(
 0577                          'rule_id'    => array('UINT', NULL, 'auto_increment'),
 0578                          'user_id'    => array('UINT', 0),
 0579                          'rule_check'    => array('UINT', 0),
 0580                          'rule_connection'    => array('UINT', 0),
 0581                          'rule_string'    => array('VCHAR_UNI', ''),
 0582                          'rule_user_id'    => array('UINT', 0),
 0583                          'rule_group_id'    => array('UINT', 0),
 0584                          'rule_action'    => array('UINT', 0),
 0585                          'rule_folder_id'    => array('INT:11', 0),
 0586                      ),
 0587                      'PRIMARY_KEY'    => 'rule_id',
 0588                      'KEYS'    => array(
 0589                          'user_id'    => array('INDEX', 'user_id'),
 0590                      ),
 0591                  ),
 0592   
 0593                  $this->table_prefix . 'privmsgs_to'    => array(
 0594                      'COLUMNS'    => array(
 0595                          'msg_id'    => array('UINT', 0),
 0596                          'user_id'    => array('UINT', 0),
 0597                          'author_id'    => array('UINT', 0),
 0598                          'pm_deleted'    => array('BOOL', 0),
 0599                          'pm_new'    => array('BOOL', 1),
 0600                          'pm_unread'    => array('BOOL', 1),
 0601                          'pm_replied'    => array('BOOL', 0),
 0602                          'pm_marked'    => array('BOOL', 0),
 0603                          'pm_forwarded'    => array('BOOL', 0),
 0604                          'folder_id'    => array('INT:11', 0),
 0605                      ),
 0606                      'KEYS'    => array(
 0607                          'msg_id'    => array('INDEX', 'msg_id'),
 0608                          'author_id'    => array('INDEX', 'author_id'),
 0609                          'usr_flder_id'    => array('INDEX', array('user_id', 'folder_id')),
 0610                      ),
 0611                  ),
 0612   
 0613                  $this->table_prefix . 'profile_fields'    => array(
 0614                      'COLUMNS'    => array(
 0615                          'field_id'    => array('UINT', NULL, 'auto_increment'),
 0616                          'field_name'    => array('VCHAR_UNI', ''),
 0617                          'field_type'    => array('TINT:4', 0),
 0618                          'field_ident'    => array('VCHAR:20', ''),
 0619                          'field_length'    => array('VCHAR:20', ''),
 0620                          'field_minlen'    => array('VCHAR', ''),
 0621                          'field_maxlen'    => array('VCHAR', ''),
 0622                          'field_novalue'    => array('VCHAR_UNI', ''),
 0623                          'field_default_value'    => array('VCHAR_UNI', ''),
 0624                          'field_validation'    => array('VCHAR_UNI:20', ''),
 0625                          'field_required'    => array('BOOL', 0),
 0626                          'field_show_on_reg'    => array('BOOL', 0),
 0627                          'field_hide'    => array('BOOL', 0),
 0628                          'field_no_view'    => array('BOOL', 0),
 0629                          'field_active'    => array('BOOL', 0),
 0630                          'field_order'    => array('UINT', 0),
 0631                      ),
 0632                      'PRIMARY_KEY'    => 'field_id',
 0633                      'KEYS'    => array(
 0634                          'fld_type'    => array('INDEX', 'field_type'),
 0635                          'fld_ordr'    => array('INDEX', 'field_order'),
 0636                      ),
 0637                  ),
 0638   
 0639                  $this->table_prefix . 'profile_fields_data'    => array(
 0640                      'COLUMNS'    => array(
 0641                          'user_id'    => array('UINT', 0),
 0642                      ),
 0643                      'PRIMARY_KEY'    => 'user_id',
 0644                  ),
 0645   
 0646                  $this->table_prefix . 'profile_fields_lang'    => array(
 0647                      'COLUMNS'    => array(
 0648                          'field_id'    => array('UINT', 0),
 0649                          'lang_id'    => array('UINT', 0),
 0650                          'option_id'    => array('UINT', 0),
 0651                          'field_type'    => array('TINT:4', 0),
 0652                          'lang_value'    => array('VCHAR_UNI', ''),
 0653                      ),
 0654                      'PRIMARY_KEY'    => array('field_id', 'lang_id', 'option_id'),
 0655                  ),
 0656   
 0657                  $this->table_prefix . 'profile_lang'    => array(
 0658                      'COLUMNS'    => array(
 0659                          'field_id'    => array('UINT', 0),
 0660                          'lang_id'    => array('UINT', 0),
 0661                          'lang_name'    => array('VCHAR_UNI', ''),
 0662                          'lang_explain'    => array('TEXT_UNI', ''),
 0663                          'lang_default_value'    => array('VCHAR_UNI', ''),
 0664                      ),
 0665                      'PRIMARY_KEY'    => array('field_id', 'lang_id'),
 0666                  ),
 0667   
 0668                  $this->table_prefix . 'ranks'    => array(
 0669                      'COLUMNS'    => array(
 0670                          'rank_id'    => array('UINT', NULL, 'auto_increment'),
 0671                          'rank_title'    => array('VCHAR_UNI', ''),
 0672                          'rank_min'    => array('UINT', 0),
 0673                          'rank_special'    => array('BOOL', 0),
 0674                          'rank_image'    => array('VCHAR', ''),
 0675                      ),
 0676                      'PRIMARY_KEY'    => 'rank_id',
 0677                  ),
 0678   
 0679                  $this->table_prefix . 'reports'    => array(
 0680                      'COLUMNS'    => array(
 0681                          'report_id'    => array('UINT', NULL, 'auto_increment'),
 0682                          'reason_id'    => array('USINT', 0),
 0683                          'post_id'    => array('UINT', 0),
 0684                          'user_id'    => array('UINT', 0),
 0685                          'user_notify'    => array('BOOL', 0),
 0686                          'report_closed'    => array('BOOL', 0),
 0687                          'report_time'    => array('TIMESTAMP', 0),
 0688                          'report_text'    => array('MTEXT_UNI', ''),
 0689                      ),
 0690                      'PRIMARY_KEY'    => 'report_id',
 0691                  ),
 0692   
 0693                  $this->table_prefix . 'reports_reasons'    => array(
 0694                      'COLUMNS'    => array(
 0695                          'reason_id'    => array('USINT', NULL, 'auto_increment'),
 0696                          'reason_title'    => array('VCHAR_UNI', ''),
 0697                          'reason_description'    => array('MTEXT_UNI', ''),
 0698                          'reason_order'    => array('USINT', 0),
 0699                      ),
 0700                      'PRIMARY_KEY'    => 'reason_id',
 0701                  ),
 0702   
 0703                  $this->table_prefix . 'search_results'    => array(
 0704                      'COLUMNS'    => array(
 0705                          'search_key'    => array('VCHAR:32', ''),
 0706                          'search_time'    => array('TIMESTAMP', 0),
 0707                          'search_keywords'    => array('MTEXT_UNI', ''),
 0708                          'search_authors'    => array('MTEXT', ''),
 0709                      ),
 0710                      'PRIMARY_KEY'    => 'search_key',
 0711                  ),
 0712   
 0713                  $this->table_prefix . 'search_wordlist'    => array(
 0714                      'COLUMNS'    => array(
 0715                          'word_id'    => array('UINT', NULL, 'auto_increment'),
 0716                          'word_text'    => array('VCHAR_UNI', ''),
 0717                          'word_common'    => array('BOOL', 0),
 0718                          'word_count'    => array('UINT', 0),
 0719                      ),
 0720                      'PRIMARY_KEY'    => 'word_id',
 0721                      'KEYS'    => array(
 0722                          'wrd_txt'    => array('UNIQUE', 'word_text'),
 0723                          'wrd_cnt'    => array('INDEX', 'word_count'),
 0724                      ),
 0725                  ),
 0726   
 0727                  $this->table_prefix . 'search_wordmatch'    => array(
 0728                      'COLUMNS'    => array(
 0729                          'post_id'    => array('UINT', 0),
 0730                          'word_id'    => array('UINT', 0),
 0731                          'title_match'    => array('BOOL', 0),
 0732                      ),
 0733                      'KEYS'    => array(
 0734                          'unq_mtch'    => array('UNIQUE', array('word_id', 'post_id', 'title_match')),
 0735                          'word_id'    => array('INDEX', 'word_id'),
 0736                          'post_id'    => array('INDEX', 'post_id'),
 0737                      ),
 0738                  ),
 0739   
 0740                  $this->table_prefix . 'sessions'    => array(
 0741                      'COLUMNS'    => array(
 0742                          'session_id'    => array('CHAR:32', ''),
 0743                          'session_user_id'    => array('UINT', 0),
 0744                          'session_last_visit'    => array('TIMESTAMP', 0),
 0745                          'session_start'    => array('TIMESTAMP', 0),
 0746                          'session_time'    => array('TIMESTAMP', 0),
 0747                          'session_ip'    => array('VCHAR:40', ''),
 0748                          'session_browser'    => array('VCHAR:150', ''),
 0749                          'session_forwarded_for'    => array('VCHAR:255', ''),
 0750                          'session_page'    => array('VCHAR_UNI', ''),
 0751                          'session_viewonline'    => array('BOOL', 1),
 0752                          'session_autologin'    => array('BOOL', 0),
 0753                          'session_admin'    => array('BOOL', 0),
 0754                      ),
 0755                      'PRIMARY_KEY'    => 'session_id',
 0756                      'KEYS'    => array(
 0757                          'session_time'    => array('INDEX', 'session_time'),
 0758                          'session_user_id'    => array('INDEX', 'session_user_id'),
 0759                      ),
 0760                  ),
 0761   
 0762                  $this->table_prefix . 'sessions_keys'    => array(
 0763                      'COLUMNS'    => array(
 0764                          'key_id'    => array('CHAR:32', ''),
 0765                          'user_id'    => array('UINT', 0),
 0766                          'last_ip'    => array('VCHAR:40', ''),
 0767                          'last_login'    => array('TIMESTAMP', 0),
 0768                      ),
 0769                      'PRIMARY_KEY'    => array('key_id', 'user_id'),
 0770                      'KEYS'    => array(
 0771                          'last_login'    => array('INDEX', 'last_login'),
 0772                      ),
 0773                  ),
 0774   
 0775                  $this->table_prefix . 'sitelist'    => array(
 0776                      'COLUMNS'    => array(
 0777                          'site_id'    => array('UINT', NULL, 'auto_increment'),
 0778                          'site_ip'    => array('VCHAR:40', ''),
 0779                          'site_hostname'    => array('VCHAR', ''),
 0780                          'ip_exclude'    => array('BOOL', 0),
 0781                      ),
 0782                      'PRIMARY_KEY'    => 'site_id',
 0783                  ),
 0784   
 0785                  $this->table_prefix . 'smilies'    => array(
 0786                      'COLUMNS'    => array(
 0787                          'smiley_id'    => array('UINT', NULL, 'auto_increment'),
 0788  // We may want to set 'code' to VCHAR:50 or check if unicode support is possible... at the moment only ASCII characters are allowed.
 0789                          'code'    => array('VCHAR_UNI:50', ''),
 0790                          'emotion'    => array('VCHAR_UNI:50', ''),
 0791                          'smiley_url'    => array('VCHAR:50', ''),
 0792                          'smiley_width'    => array('USINT', 0),
 0793                          'smiley_height'    => array('USINT', 0),
 0794                          'smiley_order'    => array('UINT', 0),
 0795                          'display_on_posting'=> array('BOOL', 1),
 0796                      ),
 0797                      'PRIMARY_KEY'    => 'smiley_id',
 0798                      'KEYS'    => array(
 0799                          'display_on_post'    => array('INDEX', 'display_on_posting'),
 0800                      ),
 0801                  ),
 0802   
 0803                  $this->table_prefix . 'styles'    => array(
 0804                      'COLUMNS'    => array(
 0805                          'style_id'    => array('USINT', NULL, 'auto_increment'),
 0806                          'style_name'    => array('VCHAR_UNI:255', ''),
 0807                          'style_copyright'    => array('VCHAR_UNI', ''),
 0808                          'style_active'    => array('BOOL', 1),
 0809                          'template_id'    => array('USINT', 0),
 0810                          'theme_id'    => array('USINT', 0),
 0811                          'imageset_id'    => array('USINT', 0),
 0812                      ),
 0813                      'PRIMARY_KEY'    => 'style_id',
 0814                      'KEYS'    => array(
 0815                          'style_name'    => array('UNIQUE', 'style_name'),
 0816                          'template_id'    => array('INDEX', 'template_id'),
 0817                          'theme_id'    => array('INDEX', 'theme_id'),
 0818                          'imageset_id'    => array('INDEX', 'imageset_id'),
 0819                      ),
 0820                  ),
 0821   
 0822                  $this->table_prefix . 'styles_template'    => array(
 0823                      'COLUMNS'    => array(
 0824                          'template_id'    => array('USINT', NULL, 'auto_increment'),
 0825                          'template_name'    => array('VCHAR_UNI:255', ''),
 0826                          'template_copyright'    => array('VCHAR_UNI', ''),
 0827                          'template_path'    => array('VCHAR:100', ''),
 0828                          'bbcode_bitfield'    => array('VCHAR:255', 'kNg='),
 0829                          'template_storedb'    => array('BOOL', 0),
 0830                      ),
 0831                      'PRIMARY_KEY'    => 'template_id',
 0832                      'KEYS'    => array(
 0833                          'tmplte_nm'    => array('UNIQUE', 'template_name'),
 0834                      ),
 0835                  ),
 0836   
 0837                  $this->table_prefix . 'styles_template_data'    => array(
 0838                      'COLUMNS'    => array(
 0839                          'template_id'    => array('USINT', 0),
 0840                          'template_filename'    => array('VCHAR:100', ''),
 0841                          'template_included'    => array('TEXT', ''),
 0842                          'template_mtime'    => array('TIMESTAMP', 0),
 0843                          'template_data'    => array('MTEXT_UNI', ''),
 0844                      ),
 0845                      'KEYS'    => array(
 0846                          'tid'    => array('INDEX', 'template_id'),
 0847                          'tfn'    => array('INDEX', 'template_filename'),
 0848                      ),
 0849                  ),
 0850   
 0851                  $this->table_prefix . 'styles_theme'    => array(
 0852                      'COLUMNS'    => array(
 0853                          'theme_id'    => array('USINT', NULL, 'auto_increment'),
 0854                          'theme_name'    => array('VCHAR_UNI:255', ''),
 0855                          'theme_copyright'    => array('VCHAR_UNI', ''),
 0856                          'theme_path'    => array('VCHAR:100', ''),
 0857                          'theme_storedb'    => array('BOOL', 0),
 0858                          'theme_mtime'    => array('TIMESTAMP', 0),
 0859                          'theme_data'    => array('MTEXT_UNI', ''),
 0860                      ),
 0861                      'PRIMARY_KEY'    => 'theme_id',
 0862                      'KEYS'    => array(
 0863                          'theme_name'    => array('UNIQUE', 'theme_name'),
 0864                      ),
 0865                  ),
 0866   
 0867                  $this->table_prefix . 'styles_imageset'    => array(
 0868                      'COLUMNS'    => array(
 0869                          'imageset_id'    => array('USINT', NULL, 'auto_increment'),
 0870                          'imageset_name'    => array('VCHAR_UNI:255', ''),
 0871                          'imageset_copyright'    => array('VCHAR_UNI', ''),
 0872                          'imageset_path'    => array('VCHAR:100', ''),
 0873                      ),
 0874                      'PRIMARY_KEY'    => 'imageset_id',
 0875                      'KEYS'    => array(
 0876                          'imgset_nm'    => array('UNIQUE', 'imageset_name'),
 0877                      ),
 0878                  ),
 0879   
 0880                  $this->table_prefix . 'styles_imageset_data'    => array(
 0881                      'COLUMNS'    => array(
 0882                          'image_id'    => array('USINT', NULL, 'auto_increment'),
 0883                          'image_name'    => array('VCHAR:200', ''),
 0884                          'image_filename'    => array('VCHAR:200', ''),
 0885                          'image_lang'    => array('VCHAR:30', ''),
 0886                          'image_height'    => array('USINT', 0),
 0887                          'image_width'    => array('USINT', 0),
 0888                          'imageset_id'    => array('USINT', 0),
 0889                      ),
 0890                      'PRIMARY_KEY'    => 'image_id',
 0891                      'KEYS'    => array(
 0892                          'i_d'    => array('INDEX', 'imageset_id'),
 0893                      ),
 0894                  ),
 0895   
 0896                  $this->table_prefix . 'topics'    => array(
 0897                      'COLUMNS'    => array(
 0898                          'topic_id'    => array('UINT', NULL, 'auto_increment'),
 0899                          'forum_id'    => array('UINT', 0),
 0900                          'icon_id'    => array('UINT', 0),
 0901                          'topic_attachment'    => array('BOOL', 0),
 0902                          'topic_approved'    => array('BOOL', 1),
 0903                          'topic_reported'    => array('BOOL', 0),
 0904                          'topic_title'    => array('XSTEXT_UNI', '', 'true_sort'),
 0905                          'topic_poster'    => array('UINT', 0),
 0906                          'topic_time'    => array('TIMESTAMP', 0),
 0907                          'topic_time_limit'    => array('TIMESTAMP', 0),
 0908                          'topic_views'    => array('UINT', 0),
 0909                          'topic_replies'    => array('UINT', 0),
 0910                          'topic_replies_real'    => array('UINT', 0),
 0911                          'topic_status'    => array('TINT:3', 0),
 0912                          'topic_type'    => array('TINT:3', 0),
 0913                          'topic_first_post_id'    => array('UINT', 0),
 0914                          'topic_first_poster_name'    => array('VCHAR_UNI', ''),
 0915                          'topic_first_poster_colour'    => array('VCHAR:6', ''),
 0916                          'topic_last_post_id'    => array('UINT', 0),
 0917                          'topic_last_poster_id'    => array('UINT', 0),
 0918                          'topic_last_poster_name'    => array('VCHAR_UNI', ''),
 0919                          'topic_last_poster_colour'    => array('VCHAR:6', ''),
 0920                          'topic_last_post_subject'    => array('XSTEXT_UNI', ''),
 0921                          'topic_last_post_time'    => array('TIMESTAMP', 0),
 0922                          'topic_last_view_time'    => array('TIMESTAMP', 0),
 0923                          'topic_moved_id'    => array('UINT', 0),
 0924                          'topic_bumped'    => array('BOOL', 0),
 0925                          'topic_bumper'    => array('UINT', 0),
 0926                          'poll_title'    => array('STEXT_UNI', ''),
 0927                          'poll_start'    => array('TIMESTAMP', 0),
 0928                          'poll_length'    => array('TIMESTAMP', 0),
 0929                          'poll_max_options'    => array('TINT:4', 1),
 0930                          'poll_last_vote'    => array('TIMESTAMP', 0),
 0931                          'poll_vote_change'    => array('BOOL', 0),
 0932                      ),
 0933                      'PRIMARY_KEY'    => 'topic_id',
 0934                      'KEYS'    => array(
 0935                          'forum_id'    => array('INDEX', 'forum_id'),
 0936                          'forum_id_type'    => array('INDEX', array('forum_id', 'topic_type')),
 0937                          'last_post_time'    => array('INDEX', 'topic_last_post_time'),
 0938                          'topic_approved'    => array('INDEX', 'topic_approved'),
 0939                          'forum_appr_last'    => array('INDEX', array('forum_id', 'topic_approved', 'topic_last_post_id')),
 0940                          'fid_time_moved'    => array('INDEX', array('forum_id', 'topic_last_post_time', 'topic_moved_id')),
 0941                      ),
 0942                  ),
 0943   
 0944                  $this->table_prefix . 'topics_track'    => array(
 0945                      'COLUMNS'    => array(
 0946                          'user_id'    => array('UINT', 0),
 0947                          'topic_id'    => array('UINT', 0),
 0948                          'forum_id'    => array('UINT', 0),
 0949                          'mark_time'    => array('TIMESTAMP', 0),
 0950                      ),
 0951                      'PRIMARY_KEY'    => array('user_id', 'topic_id'),
 0952                      'KEYS'    => array(
 0953                          'forum_id'    => array('INDEX', 'forum_id'),
 0954                      ),
 0955                  ),
 0956   
 0957                  $this->table_prefix . 'topics_posted'    => array(
 0958                      'COLUMNS'    => array(
 0959                          'user_id'    => array('UINT', 0),
 0960                          'topic_id'    => array('UINT', 0),
 0961                          'topic_posted'    => array('BOOL', 0),
 0962                      ),
 0963                      'PRIMARY_KEY'    => array('user_id', 'topic_id'),
 0964                  ),
 0965   
 0966                  $this->table_prefix . 'topics_watch'    => array(
 0967                      'COLUMNS'    => array(
 0968                          'topic_id'    => array('UINT', 0),
 0969                          'user_id'    => array('UINT', 0),
 0970                          'notify_status'    => array('BOOL', 0),
 0971                      ),
 0972                      'KEYS'    => array(
 0973                          'topic_id'    => array('INDEX', 'topic_id'),
 0974                          'user_id'    => array('INDEX', 'user_id'),
 0975                          'notify_stat'    => array('INDEX', 'notify_status'),
 0976                      ),
 0977                  ),
 0978   
 0979                  $this->table_prefix . 'user_group'    => array(
 0980                      'COLUMNS'    => array(
 0981                          'group_id'    => array('UINT', 0),
 0982                          'user_id'    => array('UINT', 0),
 0983                          'group_leader'    => array('BOOL', 0),
 0984                          'user_pending'    => array('BOOL', 1),
 0985                      ),
 0986                      'KEYS'    => array(
 0987                          'group_id'    => array('INDEX', 'group_id'),
 0988                          'user_id'    => array('INDEX', 'user_id'),
 0989                          'group_leader'    => array('INDEX', 'group_leader'),
 0990                      ),
 0991                  ),
 0992   
 0993                  $this->table_prefix . 'users'    => array(
 0994                      'COLUMNS'    => array(
 0995                          'user_id'    => array('UINT', NULL, 'auto_increment'),
 0996                          'user_type'    => array('TINT:2', 0),
 0997                          'group_id'    => array('UINT', 3),
 0998                          'user_permissions'    => array('MTEXT', ''),
 0999                          '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  }
 1182