Seditio Source
Root |
./othercms/phpBB3/phpbb/db/migration/data/v30x/release_3_0_0.php
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/

namespace phpbb\db\migration\data\v30x;

class
release_3_0_0 extends \phpbb\db\migration\migration
{
    public function
effectively_installed()
    {
        return
phpbb_version_compare($this->config['version'], '3.0.0', '>=');
    }

    public function
update_schema()
    {
        return array(
           
'add_tables' => array(
               
$this->table_prefix . 'attachments'    => array(
                   
'COLUMNS'    => array(
                       
'attach_id'    => array('UINT', NULL, 'auto_increment'),
                       
'post_msg_id'    => array('UINT', 0),
                       
'topic_id'    => array('UINT', 0),
                       
'in_message'    => array('BOOL', 0),
                       
'poster_id'    => array('UINT', 0),
                       
'is_orphan'    => array('BOOL', 1),
                       
'physical_filename'    => array('VCHAR', ''),
                       
'real_filename'    => array('VCHAR', ''),
                       
'download_count'    => array('UINT', 0),
                       
'attach_comment'    => array('TEXT_UNI', ''),
                       
'extension'    => array('VCHAR:100', ''),
                       
'mimetype'    => array('VCHAR:100', ''),
                       
'filesize'    => array('UINT:20', 0),
                       
'filetime'    => array('TIMESTAMP', 0),
                       
'thumbnail'    => array('BOOL', 0),
                    ),
                   
'PRIMARY_KEY'    => 'attach_id',
                   
'KEYS'    => array(
                       
'filetime'    => array('INDEX', 'filetime'),
                       
'post_msg_id'    => array('INDEX', 'post_msg_id'),
                       
'topic_id'    => array('INDEX', 'topic_id'),
                       
'poster_id'    => array('INDEX', 'poster_id'),
                       
'is_orphan'    => array('INDEX', 'is_orphan'),
                    ),
                ),

               
$this->table_prefix . 'acl_groups'    => array(
                   
'COLUMNS'    => array(
                       
'group_id'    => array('UINT', 0),
                       
'forum_id'    => array('UINT', 0),
                       
'auth_option_id'    => array('UINT', 0),
                       
'auth_role_id'    => array('UINT', 0),
                       
'auth_setting'    => array('TINT:2', 0),
                    ),
                   
'KEYS'    => array(
                       
'group_id'    => array('INDEX', 'group_id'),
                       
'auth_opt_id'    => array('INDEX', 'auth_option_id'),
                       
'auth_role_id'    => array('INDEX', 'auth_role_id'),
                    ),
                ),

               
$this->table_prefix . 'acl_options'    => array(
                   
'COLUMNS'    => array(
                       
'auth_option_id'    => array('UINT', NULL, 'auto_increment'),
                       
'auth_option'    => array('VCHAR:50', ''),
                       
'is_global'    => array('BOOL', 0),
                       
'is_local'    => array('BOOL', 0),
                       
'founder_only'    => array('BOOL', 0),
                    ),
                   
'PRIMARY_KEY'    => 'auth_option_id',
                   
'KEYS'    => array(
                       
'auth_option'    => array('INDEX', 'auth_option'),
                    ),
                ),

               
$this->table_prefix . 'acl_roles'    => array(
                   
'COLUMNS'    => array(
                       
'role_id'    => array('UINT', NULL, 'auto_increment'),
                       
'role_name'    => array('VCHAR_UNI', ''),
                       
'role_description'    => array('TEXT_UNI', ''),
                       
'role_type'    => array('VCHAR:10', ''),
                       
'role_order'    => array('USINT', 0),
                    ),
                   
'PRIMARY_KEY'    => 'role_id',
                   
'KEYS'    => array(
                       
'role_type'    => array('INDEX', 'role_type'),
                       
'role_order'    => array('INDEX', 'role_order'),
                    ),
                ),

               
$this->table_prefix . 'acl_roles_data'    => array(
                   
'COLUMNS'    => array(
                       
'role_id'    => array('UINT', 0),
                       
'auth_option_id'    => array('UINT', 0),
                       
'auth_setting'    => array('TINT:2', 0),
                    ),
                   
'PRIMARY_KEY'    => array('role_id', 'auth_option_id'),
                   
'KEYS'    => array(
                       
'ath_op_id'    => array('INDEX', 'auth_option_id'),
                    ),
                ),

               
$this->table_prefix . 'acl_users'    => array(
                   
'COLUMNS'    => array(
                       
'user_id'    => array('UINT', 0),
                       
'forum_id'    => array('UINT', 0),
                       
'auth_option_id'    => array('UINT', 0),
                       
'auth_role_id'    => array('UINT', 0),
                       
'auth_setting'    => array('TINT:2', 0),
                    ),
                   
'KEYS'    => array(
                       
'user_id'    => array('INDEX', 'user_id'),
                       
'auth_option_id'    => array('INDEX', 'auth_option_id'),
                       
'auth_role_id'    => array('INDEX', 'auth_role_id'),
                    ),
                ),

               
$this->table_prefix . 'banlist'    => array(
                   
'COLUMNS'    => array(
                       
'ban_id'    => array('UINT', NULL, 'auto_increment'),
                       
'ban_userid'    => array('UINT', 0),
                       
'ban_ip'    => array('VCHAR:40', ''),
                       
'ban_email'    => array('VCHAR_UNI:100', ''),
                       
'ban_start'    => array('TIMESTAMP', 0),
                       
'ban_end'    => array('TIMESTAMP', 0),
                       
'ban_exclude'    => array('BOOL', 0),
                       
'ban_reason'    => array('VCHAR_UNI', ''),
                       
'ban_give_reason'    => array('VCHAR_UNI', ''),
                    ),
                   
'PRIMARY_KEY'    => 'ban_id',
                   
'KEYS'    => array(
                       
'ban_end'    => array('INDEX', 'ban_end'),
                       
'ban_user'    => array('INDEX', array('ban_userid', 'ban_exclude')),
                       
'ban_email'    => array('INDEX', array('ban_email', 'ban_exclude')),
                       
'ban_ip'    => array('INDEX', array('ban_ip', 'ban_exclude')),
                    ),
                ),

               
$this->table_prefix . 'bbcodes'    => array(
                   
'COLUMNS'    => array(
                       
'bbcode_id'    => array('TINT:3', 0),
                       
'bbcode_tag'    => array('VCHAR:16', ''),
                       
'bbcode_helpline'    => array('VCHAR_UNI', ''),
                       
'display_on_posting'    => array('BOOL', 0),
                       
'bbcode_match'    => array('TEXT_UNI', ''),
                       
'bbcode_tpl'    => array('MTEXT_UNI', ''),
                       
'first_pass_match'    => array('MTEXT_UNI', ''),
                       
'first_pass_replace'    => array('MTEXT_UNI', ''),
                       
'second_pass_match'    => array('MTEXT_UNI', ''),
                       
'second_pass_replace'    => array('MTEXT_UNI', ''),
                    ),
                   
'PRIMARY_KEY'    => 'bbcode_id',
                   
'KEYS'    => array(
                       
'display_on_post'    => array('INDEX', 'display_on_posting'),
                    ),
                ),

               
$this->table_prefix . 'bookmarks'    => array(
                   
'COLUMNS'    => array(
                       
'topic_id'    => array('UINT', 0),
                       
'user_id'    => array('UINT', 0),
                    ),
                   
'PRIMARY_KEY'    => array('topic_id', 'user_id'),
                ),

               
$this->table_prefix . 'bots'    => array(
                   
'COLUMNS'    => array(
                       
'bot_id'    => array('UINT', NULL, 'auto_increment'),
                       
'bot_active'    => array('BOOL', 1),
                       
'bot_name'    => array('STEXT_UNI', ''),
                       
'user_id'    => array('UINT', 0),
                       
'bot_agent'    => array('VCHAR', ''),
                       
'bot_ip'    => array('VCHAR', ''),
                    ),
                   
'PRIMARY_KEY'    => 'bot_id',
                   
'KEYS'    => array(
                       
'bot_active'    => array('INDEX', 'bot_active'),
                    ),
                ),

               
$this->table_prefix . 'config'    => array(
                   
'COLUMNS'    => array(
                       
'config_name'    => array('VCHAR', ''),
                       
'config_value'    => array('VCHAR_UNI', ''),
                       
'is_dynamic'    => array('BOOL', 0),
                    ),
                   
'PRIMARY_KEY'    => 'config_name',
                   
'KEYS'    => array(
                       
'is_dynamic'    => array('INDEX', 'is_dynamic'),
                    ),
                ),

               
$this->table_prefix . 'confirm'    => array(
                   
'COLUMNS'    => array(
                       
'confirm_id'    => array('CHAR:32', ''),
                       
'session_id'    => array('CHAR:32', ''),
                       
'confirm_type'    => array('TINT:3', 0),
                       
'code'    => array('VCHAR:8', ''),
                       
'seed'    => array('UINT:10', 0),
                    ),
                   
'PRIMARY_KEY'    => array('session_id', 'confirm_id'),
                   
'KEYS'    => array(
                       
'confirm_type'    => array('INDEX', 'confirm_type'),
                    ),
                ),

               
$this->table_prefix . 'disallow'    => array(
                   
'COLUMNS'    => array(
                       
'disallow_id'    => array('UINT', NULL, 'auto_increment'),
                       
'disallow_username'    => array('VCHAR_UNI:255', ''),
                    ),
                   
'PRIMARY_KEY'    => 'disallow_id',
                ),

               
$this->table_prefix . 'drafts'    => array(
                   
'COLUMNS'    => array(
                       
'draft_id'    => array('UINT', NULL, 'auto_increment'),
                       
'user_id'    => array('UINT', 0),
                       
'topic_id'    => array('UINT', 0),
                       
'forum_id'    => array('UINT', 0),
                       
'save_time'    => array('TIMESTAMP', 0),
                       
'draft_subject'    => array('XSTEXT_UNI', ''),
                       
'draft_message'    => array('MTEXT_UNI', ''),
                    ),
                   
'PRIMARY_KEY'    => 'draft_id',
                   
'KEYS'    => array(
                       
'save_time'    => array('INDEX', 'save_time'),
                    ),
                ),

               
$this->table_prefix . 'extensions'    => array(
                   
'COLUMNS'    => array(
                       
'extension_id'    => array('UINT', NULL, 'auto_increment'),
                       
'group_id'    => array('UINT', 0),
                       
'extension'    => array('VCHAR:100', ''),
                    ),
                   
'PRIMARY_KEY'    => 'extension_id',
                ),

               
$this->table_prefix . 'extension_groups'    => array(
                   
'COLUMNS'    => array(
                       
'group_id'    => array('UINT', NULL, 'auto_increment'),
                       
'group_name'    => array('VCHAR_UNI', ''),
                       
'cat_id'    => array('TINT:2', 0),
                       
'allow_group'    => array('BOOL', 0),
                       
'download_mode'    => array('BOOL', 1),
                       
'upload_icon'    => array('VCHAR', ''),
                       
'max_filesize'    => array('UINT:20', 0),
                       
'allowed_forums'    => array('TEXT', ''),
                       
'allow_in_pm'    => array('BOOL', 0),
                    ),
                   
'PRIMARY_KEY'    => 'group_id',
                ),

               
$this->table_prefix . 'forums'    => array(
                   
'COLUMNS'    => array(
                       
'forum_id'    => array('UINT', NULL, 'auto_increment'),
                       
'parent_id'    => array('UINT', 0),
                       
'left_id'    => array('UINT', 0),
                       
'right_id'    => array('UINT', 0),
                       
'forum_parents'    => array('MTEXT', ''),
                       
'forum_name'    => array('STEXT_UNI', ''),
                       
'forum_desc'    => array('TEXT_UNI', ''),
                       
'forum_desc_bitfield'    => array('VCHAR:255', ''),
                       
'forum_desc_options'    => array('UINT:11', 7),
                       
'forum_desc_uid'    => array('VCHAR:8', ''),
                       
'forum_link'    => array('VCHAR_UNI', ''),
                       
'forum_password'    => array('VCHAR_UNI:40', ''),
                       
'forum_style'    => array('USINT', 0),
                       
'forum_image'    => array('VCHAR', ''),
                       
'forum_rules'    => array('TEXT_UNI', ''),
                       
'forum_rules_link'    => array('VCHAR_UNI', ''),
                       
'forum_rules_bitfield'    => array('VCHAR:255', ''),
                       
'forum_rules_options'    => array('UINT:11', 7),
                       
'forum_rules_uid'    => array('VCHAR:8', ''),
                       
'forum_topics_per_page'    => array('TINT:4', 0),
                       
'forum_type'    => array('TINT:4', 0),
                       
'forum_status'    => array('TINT:4', 0),
                       
'forum_posts'    => array('UINT', 0),
                       
'forum_topics'    => array('UINT', 0),
                       
'forum_topics_real'    => array('UINT', 0),
                       
'forum_last_post_id'    => array('UINT', 0),
                       
'forum_last_poster_id'    => array('UINT', 0),
                       
'forum_last_post_subject' => array('XSTEXT_UNI', ''),
                       
'forum_last_post_time'    => array('TIMESTAMP', 0),
                       
'forum_last_poster_name'=> array('VCHAR_UNI', ''),
                       
'forum_last_poster_colour'=> array('VCHAR:6', ''),
                       
'forum_flags'    => array('TINT:4', 32),
                       
'display_on_index'    => array('BOOL', 1),
                       
'enable_indexing'    => array('BOOL', 1),
                       
'enable_icons'    => array('BOOL', 1),
                       
'enable_prune'    => array('BOOL', 0),
                       
'prune_next'    => array('TIMESTAMP', 0),
                       
'prune_days'    => array('UINT', 0),
                       
'prune_viewed'    => array('UINT', 0),
                       
'prune_freq'    => array('UINT', 0),
                    ),
                   
'PRIMARY_KEY'    => 'forum_id',
                   
'KEYS'    => array(
                       
'left_right_id'    => array('INDEX', array('left_id', 'right_id')),
                       
'forum_lastpost_id'    => array('INDEX', 'forum_last_post_id'),
                    ),
                ),

               
$this->table_prefix . 'forums_access'    => array(
                   
'COLUMNS'    => array(
                       
'forum_id'    => array('UINT', 0),
                       
'user_id'    => array('UINT', 0),
                       
'session_id'    => array('CHAR:32', ''),
                    ),
                   
'PRIMARY_KEY'    => array('forum_id', 'user_id', 'session_id'),
                ),

               
$this->table_prefix . 'forums_track'    => array(
                   
'COLUMNS'    => array(
                       
'user_id'    => array('UINT', 0),
                       
'forum_id'    => array('UINT', 0),
                       
'mark_time'    => array('TIMESTAMP', 0),
                    ),
                   
'PRIMARY_KEY'    => array('user_id', 'forum_id'),
                ),

               
$this->table_prefix . 'forums_watch'    => array(
                   
'COLUMNS'    => array(
                       
'forum_id'    => array('UINT', 0),
                       
'user_id'    => array('UINT', 0),
                       
'notify_status'    => array('BOOL', 0),
                    ),
                   
'KEYS'    => array(
                       
'forum_id'    => array('INDEX', 'forum_id'),
                       
'user_id'    => array('INDEX', 'user_id'),
                       
'notify_stat'    => array('INDEX', 'notify_status'),
                    ),
                ),

               
$this->table_prefix . 'groups'    => array(
                   
'COLUMNS'    => array(
                       
'group_id'    => array('UINT', NULL, 'auto_increment'),
                       
'group_type'    => array('TINT:4', 1),
                       
'group_founder_manage'    => array('BOOL', 0),
                       
'group_name'    => array('VCHAR_CI', ''),
                       
'group_desc'    => array('TEXT_UNI', ''),
                       
'group_desc_bitfield'    => array('VCHAR:255', ''),
                       
'group_desc_options'    => array('UINT:11', 7),
                       
'group_desc_uid'    => array('VCHAR:8', ''),
                       
'group_display'    => array('BOOL', 0),
                       
'group_avatar'    => array('VCHAR', ''),
                       
'group_avatar_type'    => array('TINT:2', 0),
                       
'group_avatar_width'    => array('USINT', 0),
                       
'group_avatar_height'    => array('USINT', 0),
                       
'group_rank'    => array('UINT', 0),
                       
'group_colour'    => array('VCHAR:6', ''),
                       
'group_sig_chars'    => array('UINT', 0),
                       
'group_receive_pm'    => array('BOOL', 0),
                       
'group_message_limit'    => array('UINT', 0),
                       
'group_legend'    => array('BOOL', 1),
                    ),
                   
'PRIMARY_KEY'    => 'group_id',
                   
'KEYS'    => array(
                       
'group_legend'    => array('INDEX', 'group_legend'),
                    ),
                ),

               
$this->table_prefix . 'icons'    => array(
                   
'COLUMNS'    => array(
                       
'icons_id'    => array('UINT', NULL, 'auto_increment'),
                       
'icons_url'    => array('VCHAR', ''),
                       
'icons_width'    => array('TINT:4', 0),
                       
'icons_height'    => array('TINT:4', 0),
                       
'icons_order'    => array('UINT', 0),
                       
'display_on_posting'    => array('BOOL', 1),
                    ),
                   
'PRIMARY_KEY'    => 'icons_id',
                   
'KEYS'    => array(
                       
'display_on_posting'    => array('INDEX', 'display_on_posting'),
                    ),
                ),

               
$this->table_prefix . 'lang'    => array(
                   
'COLUMNS'    => array(
                       
'lang_id'    => array('TINT:4', NULL, 'auto_increment'),
                       
'lang_iso'    => array('VCHAR:30', ''),
                       
'lang_dir'    => array('VCHAR:30', ''),
                       
'lang_english_name'    => array('VCHAR_UNI:100', ''),
                       
'lang_local_name'    => array('VCHAR_UNI:255', ''),
                       
'lang_author'    => array('VCHAR_UNI:255', ''),
                    ),
                   
'PRIMARY_KEY'    => 'lang_id',
                   
'KEYS'    => array(
                       
'lang_iso'    => array('INDEX', 'lang_iso'),
                    ),
                ),

               
$this->table_prefix . 'log'    => array(
                   
'COLUMNS'    => array(
                       
'log_id'    => array('UINT', NULL, 'auto_increment'),
                       
'log_type'    => array('TINT:4', 0),
                       
'user_id'    => array('UINT', 0),
                       
'forum_id'    => array('UINT', 0),
                       
'topic_id'    => array('UINT', 0),
                       
'reportee_id'    => array('UINT', 0),
                       
'log_ip'    => array('VCHAR:40', ''),
                       
'log_time'    => array('TIMESTAMP', 0),
                       
'log_operation'    => array('TEXT_UNI', ''),
                       
'log_data'    => array('MTEXT_UNI', ''),
                    ),
                   
'PRIMARY_KEY'    => 'log_id',
                   
'KEYS'    => array(
                       
'log_type'    => array('INDEX', 'log_type'),
                       
'forum_id'    => array('INDEX', 'forum_id'),
                       
'topic_id'    => array('INDEX', 'topic_id'),
                       
'reportee_id'    => array('INDEX', 'reportee_id'),
                       
'user_id'    => array('INDEX', 'user_id'),
                    ),
                ),

               
$this->table_prefix . 'moderator_cache'    => array(
                   
'COLUMNS'    => array(
                       
'forum_id'    => array('UINT', 0),
                       
'user_id'    => array('UINT', 0),
                       
'username'    => array('VCHAR_UNI:255', ''),
                       
'group_id'    => array('UINT', 0),
                       
'group_name'    => array('VCHAR_UNI', ''),
                       
'display_on_index'    => array('BOOL', 1),
                    ),
                   
'KEYS'    => array(
                       
'disp_idx'    => array('INDEX', 'display_on_index'),
                       
'forum_id'    => array('INDEX', 'forum_id'),
                    ),
                ),

               
$this->table_prefix . 'modules'    => array(
                   
'COLUMNS'    => array(
                       
'module_id'    => array('UINT', NULL, 'auto_increment'),
                       
'module_enabled'    => array('BOOL', 1),
                       
'module_display'    => array('BOOL', 1),
                       
'module_basename'    => array('VCHAR', ''),
                       
'module_class'    => array('VCHAR:10', ''),
                       
'parent_id'    => array('UINT', 0),
                       
'left_id'    => array('UINT', 0),
                       
'right_id'    => array('UINT', 0),
                       
'module_langname'    => array('VCHAR', ''),
                       
'module_mode'    => array('VCHAR', ''),
                       
'module_auth'    => array('VCHAR', ''),
                    ),
                   
'PRIMARY_KEY'    => 'module_id',
                   
'KEYS'    => array(
                       
'left_right_id'    => array('INDEX', array('left_id', 'right_id')),
                       
'module_enabled'    => array('INDEX', 'module_enabled'),
                       
'class_left_id'    => array('INDEX', array('module_class', 'left_id')),
                    ),
                ),

               
$this->table_prefix . 'poll_options'    => array(
                   
'COLUMNS'    => array(
                       
'poll_option_id'    => array('TINT:4', 0),
                       
'topic_id'    => array('UINT', 0),
                       
'poll_option_text'    => array('TEXT_UNI', ''),
                       
'poll_option_total'    => array('UINT', 0),
                    ),
                   
'KEYS'    => array(
                       
'poll_opt_id'    => array('INDEX', 'poll_option_id'),
                       
'topic_id'    => array('INDEX', 'topic_id'),
                    ),
                ),

               
$this->table_prefix . 'poll_votes'    => array(
                   
'COLUMNS'    => array(
                       
'topic_id'    => array('UINT', 0),
                       
'poll_option_id'    => array('TINT:4', 0),
                       
'vote_user_id'    => array('UINT', 0),
                       
'vote_user_ip'    => array('VCHAR:40', ''),
                    ),
                   
'KEYS'    => array(
                       
'topic_id'    => array('INDEX', 'topic_id'),
                       
'vote_user_id'    => array('INDEX', 'vote_user_id'),
                       
'vote_user_ip'    => array('INDEX', 'vote_user_ip'),
                    ),
                ),

               
$this->table_prefix . 'posts'    => array(
                   
'COLUMNS'    => array(
                       
'post_id'    => array('UINT', NULL, 'auto_increment'),
                       
'topic_id'    => array('UINT', 0),
                       
'forum_id'    => array('UINT', 0),
                       
'poster_id'    => array('UINT', 0),
                       
'icon_id'    => array('UINT', 0),
                       
'poster_ip'    => array('VCHAR:40', ''),
                       
'post_time'    => array('TIMESTAMP', 0),
                       
'post_approved'    => array('BOOL', 1),
                       
'post_reported'    => array('BOOL', 0),
                       
'enable_bbcode'    => array('BOOL', 1),
                       
'enable_smilies'    => array('BOOL', 1),
                       
'enable_magic_url'    => array('BOOL', 1),
                       
'enable_sig'    => array('BOOL', 1),
                       
'post_username'    => array('VCHAR_UNI:255', ''),
                       
'post_subject'    => array('XSTEXT_UNI', '', 'true_sort'),
                       
'post_text'    => array('MTEXT_UNI', ''),
                       
'post_checksum'    => array('VCHAR:32', ''),
                       
'post_attachment'    => array('BOOL', 0),
                       
'bbcode_bitfield'    => array('VCHAR:255', ''),
                       
'bbcode_uid'    => array('VCHAR:8', ''),
                       
'post_postcount'    => array('BOOL', 1),
                       
'post_edit_time'    => array('TIMESTAMP', 0),
                       
'post_edit_reason'    => array('STEXT_UNI', ''),
                       
'post_edit_user'    => array('UINT', 0),
                       
'post_edit_count'    => array('USINT', 0),
                       
'post_edit_locked'    => array('BOOL', 0),
                    ),
                   
'PRIMARY_KEY'    => 'post_id',
                   
'KEYS'    => array(
                       
'forum_id'    => array('INDEX', 'forum_id'),
                       
'topic_id'    => array('INDEX', 'topic_id'),
                       
'poster_ip'    => array('INDEX', 'poster_ip'),
                       
'poster_id'    => array('INDEX', 'poster_id'),
                       
'post_approved'    => array('INDEX', 'post_approved'),
                       
'tid_post_time'    => array('INDEX', array('topic_id', 'post_time')),
                    ),
                ),

               
$this->table_prefix . 'privmsgs'    => array(
                   
'COLUMNS'    => array(
                       
'msg_id'    => array('UINT', NULL, 'auto_increment'),
                       
'root_level'    => array('UINT', 0),
                       
'author_id'    => array('UINT', 0),
                       
'icon_id'    => array('UINT', 0),
                       
'author_ip'    => array('VCHAR:40', ''),
                       
'message_time'    => array('TIMESTAMP', 0),
                       
'enable_bbcode'    => array('BOOL', 1),
                       
'enable_smilies'    => array('BOOL', 1),
                       
'enable_magic_url'    => array('BOOL', 1),
                       
'enable_sig'    => array('BOOL', 1),
                       
'message_subject'    => array('XSTEXT_UNI', ''),
                       
'message_text'    => array('MTEXT_UNI', ''),
                       
'message_edit_reason'    => array('STEXT_UNI', ''),
                       
'message_edit_user'    => array('UINT', 0),
                       
'message_attachment'    => array('BOOL', 0),
                       
'bbcode_bitfield'    => array('VCHAR:255', ''),
                       
'bbcode_uid'    => array('VCHAR:8', ''),
                       
'message_edit_time'    => array('TIMESTAMP', 0),
                       
'message_edit_count'    => array('USINT', 0),
                       
'to_address'    => array('TEXT_UNI', ''),
                       
'bcc_address'    => array('TEXT_UNI', ''),
                    ),
                   
'PRIMARY_KEY'    => 'msg_id',
                   
'KEYS'    => array(
                       
'author_ip'    => array('INDEX', 'author_ip'),
                       
'message_time'    => array('INDEX', 'message_time'),
                       
'author_id'    => array('INDEX', 'author_id'),
                       
'root_level'    => array('INDEX', 'root_level'),
                    ),
                ),

               
$this->table_prefix . 'privmsgs_folder'    => array(
                   
'COLUMNS'    => array(
                       
'folder_id'    => array('UINT', NULL, 'auto_increment'),
                       
'user_id'    => array('UINT', 0),
                       
'folder_name'    => array('VCHAR_UNI', ''),
                       
'pm_count'    => array('UINT', 0),
                    ),
                   
'PRIMARY_KEY'    => 'folder_id',
                   
'KEYS'    => array(
                       
'user_id'    => array('INDEX', 'user_id'),
                    ),
                ),

               
$this->table_prefix . 'privmsgs_rules'    => array(
                   
'COLUMNS'    => array(
                       
'rule_id'    => array('UINT', NULL, 'auto_increment'),
                       
'user_id'    => array('UINT', 0),
                       
'rule_check'    => array('UINT', 0),
                       
'rule_connection'    => array('UINT', 0),
                       
'rule_string'    => array('VCHAR_UNI', ''),
                       
'rule_user_id'    => array('UINT', 0),
                       
'rule_group_id'    => array('UINT', 0),
                       
'rule_action'    => array('UINT', 0),
                       
'rule_folder_id'    => array('INT:11', 0),
                    ),
                   
'PRIMARY_KEY'    => 'rule_id',
                   
'KEYS'    => array(
                       
'user_id'    => array('INDEX', 'user_id'),
                    ),
                ),

               
$this->table_prefix . 'privmsgs_to'    => array(
                   
'COLUMNS'    => array(
                       
'msg_id'    => array('UINT', 0),
                       
'user_id'    => array('UINT', 0),
                       
'author_id'    => array('UINT', 0),
                       
'pm_deleted'    => array('BOOL', 0),
                       
'pm_new'    => array('BOOL', 1),
                       
'pm_unread'    => array('BOOL', 1),
                       
'pm_replied'    => array('BOOL', 0),
                       
'pm_marked'    => array('BOOL', 0),
                       
'pm_forwarded'    => array('BOOL', 0),
                       
'folder_id'    => array('INT:11', 0),
                    ),
                   
'KEYS'    => array(
                       
'msg_id'    => array('INDEX', 'msg_id'),
                       
'author_id'    => array('INDEX', 'author_id'),
                       
'usr_flder_id'    => array('INDEX', array('user_id', 'folder_id')),
                    ),
                ),

               
$this->table_prefix . 'profile_fields'    => array(
                   
'COLUMNS'    => array(
                       
'field_id'    => array('UINT', NULL, 'auto_increment'),
                       
'field_name'    => array('VCHAR_UNI', ''),
                       
'field_type'    => array('TINT:4', 0),
                       
'field_ident'    => array('VCHAR:20', ''),
                       
'field_length'    => array('VCHAR:20', ''),
                       
'field_minlen'    => array('VCHAR', ''),
                       
'field_maxlen'    => array('VCHAR', ''),
                       
'field_novalue'    => array('VCHAR_UNI', ''),
                       
'field_default_value'    => array('VCHAR_UNI', ''),
                       
'field_validation'    => array('VCHAR_UNI:20', ''),
                       
'field_required'    => array('BOOL', 0),
                       
'field_show_on_reg'    => array('BOOL', 0),
                       
'field_hide'    => array('BOOL', 0),
                       
'field_no_view'    => array('BOOL', 0),
                       
'field_active'    => array('BOOL', 0),
                       
'field_order'    => array('UINT', 0),
                    ),
                   
'PRIMARY_KEY'    => 'field_id',
                   
'KEYS'    => array(
                       
'fld_type'    => array('INDEX', 'field_type'),
                       
'fld_ordr'    => array('INDEX', 'field_order'),
                    ),
                ),

               
$this->table_prefix . 'profile_fields_data'    => array(
                   
'COLUMNS'    => array(
                       
'user_id'    => array('UINT', 0),
                    ),
                   
'PRIMARY_KEY'    => 'user_id',
                ),

               
$this->table_prefix . 'profile_fields_lang'    => array(
                   
'COLUMNS'    => array(
                       
'field_id'    => array('UINT', 0),
                       
'lang_id'    => array('UINT', 0),
                       
'option_id'    => array('UINT', 0),
                       
'field_type'    => array('TINT:4', 0),
                       
'lang_value'    => array('VCHAR_UNI', ''),
                    ),
                   
'PRIMARY_KEY'    => array('field_id', 'lang_id', 'option_id'),
                ),

               
$this->table_prefix . 'profile_lang'    => array(
                   
'COLUMNS'    => array(
                       
'field_id'    => array('UINT', 0),
                       
'lang_id'    => array('UINT', 0),
                       
'lang_name'    => array('VCHAR_UNI', ''),
                       
'lang_explain'    => array('TEXT_UNI', ''),
                       
'lang_default_value'    => array('VCHAR_UNI', ''),
                    ),
                   
'PRIMARY_KEY'    => array('field_id', 'lang_id'),
                ),

               
$this->table_prefix . 'ranks'    => array(
                   
'COLUMNS'    => array(
                       
'rank_id'    => array('UINT', NULL, 'auto_increment'),
                       
'rank_title'    => array('VCHAR_UNI', ''),
                       
'rank_min'    => array('UINT', 0),
                       
'rank_special'    => array('BOOL', 0),
                       
'rank_image'    => array('VCHAR', ''),
                    ),
                   
'PRIMARY_KEY'    => 'rank_id',
                ),

               
$this->table_prefix . 'reports'    => array(
                   
'COLUMNS'    => array(
                       
'report_id'    => array('UINT', NULL, 'auto_increment'),
                       
'reason_id'    => array('USINT', 0),
                       
'post_id'    => array('UINT', 0),
                       
'user_id'    => array('UINT', 0),
                       
'user_notify'    => array('BOOL', 0),
                       
'report_closed'    => array('BOOL', 0),
                       
'report_time'    => array('TIMESTAMP', 0),
                       
'report_text'    => array('MTEXT_UNI', ''),
                    ),
                   
'PRIMARY_KEY'    => 'report_id',
                ),

               
$this->table_prefix . 'reports_reasons'    => array(
                   
'COLUMNS'    => array(
                       
'reason_id'    => array('USINT', NULL, 'auto_increment'),
                       
'reason_title'    => array('VCHAR_UNI', ''),
                       
'reason_description'    => array('MTEXT_UNI', ''),
                       
'reason_order'    => array('USINT', 0),
                    ),
                   
'PRIMARY_KEY'    => 'reason_id',
                ),

               
$this->table_prefix . 'search_results'    => array(
                   
'COLUMNS'    => array(
                       
'search_key'    => array('VCHAR:32', ''),
                       
'search_time'    => array('TIMESTAMP', 0),
                       
'search_keywords'    => array('MTEXT_UNI', ''),
                       
'search_authors'    => array('MTEXT', ''),
                    ),
                   
'PRIMARY_KEY'    => 'search_key',
                ),

               
$this->table_prefix . 'search_wordlist'    => array(
                   
'COLUMNS'    => array(
                       
'word_id'    => array('UINT', NULL, 'auto_increment'),
                       
'word_text'    => array('VCHAR_UNI', ''),
                       
'word_common'    => array('BOOL', 0),
                       
'word_count'    => array('UINT', 0),
                    ),
                   
'PRIMARY_KEY'    => 'word_id',
                   
'KEYS'    => array(
                       
'wrd_txt'    => array('UNIQUE', 'word_text'),
                       
'wrd_cnt'    => array('INDEX', 'word_count'),
                    ),
                ),

               
$this->table_prefix . 'search_wordmatch'    => array(
                   
'COLUMNS'    => array(
                       
'post_id'    => array('UINT', 0),
                       
'word_id'    => array('UINT', 0),
                       
'title_match'    => array('BOOL', 0),
                    ),
                   
'KEYS'    => array(
                       
'unq_mtch'    => array('UNIQUE', array('word_id', 'post_id', 'title_match')),
                       
'word_id'    => array('INDEX', 'word_id'),
                       
'post_id'    => array('INDEX', 'post_id'),
                    ),
                ),

               
$this->table_prefix . 'sessions'    => array(
                   
'COLUMNS'    => array(
                       
'session_id'    => array('CHAR:32', ''),
                       
'session_user_id'    => array('UINT', 0),
                       
'session_last_visit'    => array('TIMESTAMP', 0),
                       
'session_start'    => array('TIMESTAMP', 0),
                       
'session_time'    => array('TIMESTAMP', 0),
                       
'session_ip'    => array('VCHAR:40', ''),
                       
'session_browser'    => array('VCHAR:150', ''),
                       
'session_forwarded_for'    => array('VCHAR:255', ''),
                       
'session_page'    => array('VCHAR_UNI', ''),
                       
'session_viewonline'    => array('BOOL', 1),
                       
'session_autologin'    => array('BOOL', 0),
                       
'session_admin'    => array('BOOL', 0),
                    ),
                   
'PRIMARY_KEY'    => 'session_id',
                   
'KEYS'    => array(
                       
'session_time'    => array('INDEX', 'session_time'),
                       
'session_user_id'    => array('INDEX', 'session_user_id'),
                    ),
                ),

               
$this->table_prefix . 'sessions_keys'    => array(
                   
'COLUMNS'    => array(
                       
'key_id'    => array('CHAR:32', ''),
                       
'user_id'    => array('UINT', 0),
                       
'last_ip'    => array('VCHAR:40', ''),
                       
'last_login'    => array('TIMESTAMP', 0),
                    ),
                   
'PRIMARY_KEY'    => array('key_id', 'user_id'),
                   
'KEYS'    => array(
                       
'last_login'    => array('INDEX', 'last_login'),
                    ),
                ),

               
$this->table_prefix . 'sitelist'    => array(
                   
'COLUMNS'    => array(
                       
'site_id'    => array('UINT', NULL, 'auto_increment'),
                       
'site_ip'    => array('VCHAR:40', ''),
                       
'site_hostname'    => array('VCHAR', ''),
                       
'ip_exclude'    => array('BOOL', 0),
                    ),
                   
'PRIMARY_KEY'    => 'site_id',
                ),

               
$this->table_prefix . 'smilies'    => array(
                   
'COLUMNS'    => array(
                       
'smiley_id'    => array('UINT', NULL, 'auto_increment'),
// We may want to set 'code' to VCHAR:50 or check if unicode support is possible... at the moment only ASCII characters are allowed.
                       
'code'    => array('VCHAR_UNI:50', ''),
                       
'emotion'    => array('VCHAR_UNI:50', ''),
                       
'smiley_url'    => array('VCHAR:50', ''),
                       
'smiley_width'    => array('USINT', 0),
                       
'smiley_height'    => array('USINT', 0),
                       
'smiley_order'    => array('UINT', 0),
                       
'display_on_posting'=> array('BOOL', 1),
                    ),
                   
'PRIMARY_KEY'    => 'smiley_id',
                   
'KEYS'    => array(
                       
'display_on_post'    => array('INDEX', 'display_on_posting'),
                    ),
                ),

               
$this->table_prefix . 'styles'    => array(
                   
'COLUMNS'    => array(
                       
'style_id'    => array('USINT', NULL, 'auto_increment'),
                       
'style_name'    => array('VCHAR_UNI:255', ''),
                       
'style_copyright'    => array('VCHAR_UNI', ''),
                       
'style_active'    => array('BOOL', 1),
                       
'template_id'    => array('USINT', 0),
                       
'theme_id'    => array('USINT', 0),
                       
'imageset_id'    => array('USINT', 0),
                    ),
                   
'PRIMARY_KEY'    => 'style_id',
                   
'KEYS'    => array(
                       
'style_name'    => array('UNIQUE', 'style_name'),
                       
'template_id'    => array('INDEX', 'template_id'),
                       
'theme_id'    => array('INDEX', 'theme_id'),
                       
'imageset_id'    => array('INDEX', 'imageset_id'),
                    ),
                ),

               
$this->table_prefix . 'styles_template'    => array(
                   
'COLUMNS'    => array(
                       
'template_id'    => array('USINT', NULL, 'auto_increment'),
                       
'template_name'    => array('VCHAR_UNI:255', ''),
                       
'template_copyright'    => array('VCHAR_UNI', ''),
                       
'template_path'    => array('VCHAR:100', ''),
                       
'bbcode_bitfield'    => array('VCHAR:255', 'kNg='),
                       
'template_storedb'    => array('BOOL', 0),
                    ),
                   
'PRIMARY_KEY'    => 'template_id',
                   
'KEYS'    => array(
                       
'tmplte_nm'    => array('UNIQUE', 'template_name'),
                    ),
                ),

               
$this->table_prefix . 'styles_template_data'    => array(
                   
'COLUMNS'    => array(
                       
'template_id'    => array('USINT', 0),
                       
'template_filename'    => array('VCHAR:100', ''),
                       
'template_included'    => array('TEXT', ''),
                       
'template_mtime'    => array('TIMESTAMP', 0),
                       
'template_data'    => array('MTEXT_UNI', ''),
                    ),
                   
'KEYS'    => array(
                       
'tid'    => array('INDEX', 'template_id'),
                       
'tfn'    => array('INDEX', 'template_filename'),
                    ),
                ),

               
$this->table_prefix . 'styles_theme'    => array(
                   
'COLUMNS'    => array(
                       
'theme_id'    => array('USINT', NULL, 'auto_increment'),
                       
'theme_name'    => array('VCHAR_UNI:255', ''),
                       
'theme_copyright'    => array('VCHAR_UNI', ''),
                       
'theme_path'    => array('VCHAR:100', ''),
                       
'theme_storedb'    => array('BOOL', 0),
                       
'theme_mtime'    => array('TIMESTAMP', 0),
                       
'theme_data'    => array('MTEXT_UNI', ''),
                    ),
                   
'PRIMARY_KEY'    => 'theme_id',
                   
'KEYS'    => array(
                       
'theme_name'    => array('UNIQUE', 'theme_name'),
                    ),
                ),

               
$this->table_prefix . 'styles_imageset'    => array(
                   
'COLUMNS'    => array(
                       
'imageset_id'    => array('USINT', NULL, 'auto_increment'),
                       
'imageset_name'    => array('VCHAR_UNI:255', ''),
                       
'imageset_copyright'    => array('VCHAR_UNI', ''),
                       
'imageset_path'    => array('VCHAR:100', ''),
                    ),
                   
'PRIMARY_KEY'    => 'imageset_id',
                   
'KEYS'    => array(
                       
'imgset_nm'    => array('UNIQUE', 'imageset_name'),
                    ),
                ),

               
$this->table_prefix . 'styles_imageset_data'    => array(
                   
'COLUMNS'    => array(
                       
'image_id'    => array('USINT', NULL, 'auto_increment'),
                       
'image_name'    => array('VCHAR:200', ''),
                       
'image_filename'    => array('VCHAR:200', ''),
                       
'image_lang'    => array('VCHAR:30', ''),
                       
'image_height'    => array('USINT', 0),
                       
'image_width'    => array('USINT', 0),
                       
'imageset_id'    => array('USINT', 0),
                    ),
                   
'PRIMARY_KEY'    => 'image_id',
                   
'KEYS'    => array(
                       
'i_d'    => array('INDEX', 'imageset_id'),
                    ),
                ),

               
$this->table_prefix . 'topics'    => array(
                   
'COLUMNS'    => array(
                       
'topic_id'    => array('UINT', NULL, 'auto_increment'),
                       
'forum_id'    => array('UINT', 0),
                       
'icon_id'    => array('UINT', 0),
                       
'topic_attachment'    => array('BOOL', 0),
                       
'topic_approved'    => array('BOOL', 1),
                       
'topic_reported'    => array('BOOL', 0),
                       
'topic_title'    => array('XSTEXT_UNI', '', 'true_sort'),
                       
'topic_poster'    => array('UINT', 0),
                       
'topic_time'    => array('TIMESTAMP', 0),
                       
'topic_time_limit'    => array('TIMESTAMP', 0),
                       
'topic_views'    => array('UINT', 0),
                       
'topic_replies'    => array('UINT', 0),
                       
'topic_replies_real'    => array('UINT', 0),
                       
'topic_status'    => array('TINT:3', 0),
                       
'topic_type'    => array('TINT:3', 0),
                       
'topic_first_post_id'    => array('UINT', 0),
                       
'topic_first_poster_name'    => array('VCHAR_UNI', ''),
                       
'topic_first_poster_colour'    => array('VCHAR:6', ''),
                       
'topic_last_post_id'    => array('UINT', 0),
                       
'topic_last_poster_id'    => array('UINT', 0),
                       
'topic_last_poster_name'    => array('VCHAR_UNI', ''),
                       
'topic_last_poster_colour'    => array('VCHAR:6', ''),
                       
'topic_last_post_subject'    => array('XSTEXT_UNI', ''),
                       
'topic_last_post_time'    => array('TIMESTAMP', 0),
                       
'topic_last_view_time'    => array('TIMESTAMP', 0),
                       
'topic_moved_id'    => array('UINT', 0),
                       
'topic_bumped'    => array('BOOL', 0),
                       
'topic_bumper'    => array('UINT', 0),
                       
'poll_title'    => array('STEXT_UNI', ''),
                       
'poll_start'    => array('TIMESTAMP', 0),
                       
'poll_length'    => array('TIMESTAMP', 0),
                       
'poll_max_options'    => array('TINT:4', 1),
                       
'poll_last_vote'    => array('TIMESTAMP', 0),
                       
'poll_vote_change'    => array('BOOL', 0),
                    ),
                   
'PRIMARY_KEY'    => 'topic_id',
                   
'KEYS'    => array(
                       
'forum_id'    => array('INDEX', 'forum_id'),
                       
'forum_id_type'    => array('INDEX', array('forum_id', 'topic_type')),
                       
'last_post_time'    => array('INDEX', 'topic_last_post_time'),
                       
'topic_approved'    => array('INDEX', 'topic_approved'),
                       
'forum_appr_last'    => array('INDEX', array('forum_id', 'topic_approved', 'topic_last_post_id')),
                       
'fid_time_moved'    => array('INDEX', array('forum_id', 'topic_last_post_time', 'topic_moved_id')),
                    ),
                ),

               
$this->table_prefix . 'topics_track'    => array(
                   
'COLUMNS'    => array(
                       
'user_id'    => array('UINT', 0),
                       
'topic_id'    => array('UINT', 0),
                       
'forum_id'    => array('UINT', 0),
                       
'mark_time'    => array('TIMESTAMP', 0),
                    ),
                   
'PRIMARY_KEY'    => array('user_id', 'topic_id'),
                   
'KEYS'    => array(
                       
'forum_id'    => array('INDEX', 'forum_id'),
                    ),
                ),

               
$this->table_prefix . 'topics_posted'    => array(
                   
'COLUMNS'    => array(
                       
'user_id'    => array('UINT', 0),
                       
'topic_id'    => array('UINT', 0),
                       
'topic_posted'    => array('BOOL', 0),
                    ),
                   
'PRIMARY_KEY'    => array('user_id', 'topic_id'),
                ),

               
$this->table_prefix . 'topics_watch'    => array(
                   
'COLUMNS'    => array(
                       
'topic_id'    => array('UINT', 0),
                       
'user_id'    => array('UINT', 0),
                       
'notify_status'    => array('BOOL', 0),
                    ),
                   
'KEYS'    => array(
                       
'topic_id'    => array('INDEX', 'topic_id'),
                       
'user_id'    => array('INDEX', 'user_id'),
                       
'notify_stat'    => array('INDEX', 'notify_status'),
                    ),
                ),

               
$this->table_prefix . 'user_group'    => array(
                   
'COLUMNS'    => array(
                       
'group_id'    => array('UINT', 0),
                       
'user_id'    => array('UINT', 0),
                       
'group_leader'    => array('BOOL', 0),
                       
'user_pending'    => array('BOOL', 1),
                    ),
                   
'KEYS'    => array(
                       
'group_id'    => array('INDEX', 'group_id'),
                       
'user_id'    => array('INDEX', 'user_id'),
                       
'group_leader'    => array('INDEX', 'group_leader'),
                    ),
                ),

               
$this->table_prefix . 'users'    => array(
                   
'COLUMNS'    => array(
                       
'user_id'    => array('UINT', NULL, 'auto_increment'),
                       
'user_type'    => array('TINT:2', 0),
                       
'group_id'    => array('UINT', 3),
                       
'user_permissions'    => array('MTEXT', ''),
                       
'user_perm_from'    => array('UINT', 0),
                       
'user_ip'    => array('VCHAR:40', ''),
                       
'user_regdate'    => array('TIMESTAMP', 0),
                       
'username'    => array('VCHAR_CI', ''),
                       
'username_clean'    => array('VCHAR_CI', ''),
                       
'user_password'    => array('VCHAR_UNI:40', ''),
                       
'user_passchg'    => array('TIMESTAMP', 0),
                       
'user_pass_convert'    => array('BOOL', 0),
                       
'user_email'    => array('VCHAR_UNI:100', ''),
                       
'user_email_hash'    => array('BINT', 0),
                       
'user_birthday'    => array('VCHAR:10', ''),
                       
'user_lastvisit'    => array('TIMESTAMP', 0),
                       
'user_lastmark'    => array('TIMESTAMP', 0),
                       
'user_lastpost_time'    => array('TIMESTAMP', 0),
                       
'user_lastpage'    => array('VCHAR_UNI:200', ''),
                       
'user_last_confirm_key'    => array('VCHAR:10', ''),
                       
'user_last_search'    => array('TIMESTAMP', 0),
                       
'user_warnings'    => array('TINT:4', 0),
                       
'user_last_warning'    => array('TIMESTAMP', 0),
                       
'user_login_attempts'    => array('TINT:4', 0),
                       
'user_inactive_reason'    => array('TINT:2', 0),
                       
'user_inactive_time'    => array('TIMESTAMP', 0),
                       
'user_posts'    => array('UINT', 0),
                       
'user_lang'    => array('VCHAR:30', ''),
                       
'user_timezone'    => array('DECIMAL', 0),
                       
'user_dst'    => array('BOOL', 0),
                       
'user_dateformat'    => array('VCHAR_UNI:30', 'd M Y H:i'),
                       
'user_style'    => array('USINT', 0),
                       
'user_rank'    => array('UINT', 0),
                       
'user_colour'    => array('VCHAR:6', ''),
                       
'user_new_privmsg'    => array('INT:4', 0),
                       
'user_unread_privmsg'    => array('INT:4', 0),
                       
'user_last_privmsg'    => array('TIMESTAMP', 0),
                       
'user_message_rules'    => array('BOOL', 0),
                       
'user_full_folder'    => array('INT:11', -3),
                       
'user_emailtime'    => array('TIMESTAMP', 0),
                       
'user_topic_show_days'    => array('USINT', 0),
                       
'user_topic_sortby_type'    => array('VCHAR:1', 't'),
                       
'user_topic_sortby_dir'    => array('VCHAR:1', 'd'),
                       
'user_post_show_days'    => array('USINT', 0),
                       
'user_post_sortby_type'    => array('VCHAR:1', 't'),
                       
'user_post_sortby_dir'    => array('VCHAR:1', 'a'),
                       
'user_notify'    => array('BOOL', 0),
                       
'user_notify_pm'    => array('BOOL', 1),
                       
'user_notify_type'    => array('TINT:4', 0),
                       
'user_allow_pm'    => array('BOOL', 1),
                       
'user_allow_viewonline'    => array('BOOL', 1),
                       
'user_allow_viewemail'    => array('BOOL', 1),
                       
'user_allow_massemail'    => array('BOOL', 1),
                       
'user_options'    => array('UINT:11', 895),
                       
'user_avatar'    => array('VCHAR', ''),
                       
'user_avatar_type'    => array('TINT:2', 0),
                       
'user_avatar_width'    => array('USINT', 0),
                       
'user_avatar_height'    => array('USINT', 0),
                       
'user_sig'    => array('MTEXT_UNI', ''),
                       
'user_sig_bbcode_uid'    => array('VCHAR:8', ''),
                       
'user_sig_bbcode_bitfield'    => array('VCHAR:255', ''),
                       
'user_from'    => array('VCHAR_UNI:100', ''),
                       
'user_icq'    => array('VCHAR:15', ''),
                       
'user_aim'    => array('VCHAR_UNI', ''),
                       
'user_yim'    => array('VCHAR_UNI', ''),
                       
'user_msnm'    => array('VCHAR_UNI', ''),
                       
'user_jabber'    => array('VCHAR_UNI', ''),
                       
'user_website'    => array('VCHAR_UNI:200', ''),
                       
'user_occ'    => array('TEXT_UNI', ''),
                       
'user_interests'    => array('TEXT_UNI', ''),
                       
'user_actkey'    => array('VCHAR:32', ''),
                       
'user_newpasswd'    => array('VCHAR_UNI:40', ''),
                       
'user_form_salt'    => array('VCHAR_UNI:32', ''),

                    ),
                   
'PRIMARY_KEY'    => 'user_id',
                   
'KEYS'    => array(
                       
'user_birthday'    => array('INDEX', 'user_birthday'),
                       
'user_email_hash'    => array('INDEX', 'user_email_hash'),
                       
'user_type'    => array('INDEX', 'user_type'),
                       
'username_clean'    => array('UNIQUE', 'username_clean'),
                    ),
                ),

               
$this->table_prefix . 'warnings'    => array(
                   
'COLUMNS'    => array(
                       
'warning_id'    => array('UINT', NULL, 'auto_increment'),
                       
'user_id'    => array('UINT', 0),
                       
'post_id'    => array('UINT', 0),
                       
'log_id'    => array('UINT', 0),
                       
'warning_time'    => array('TIMESTAMP', 0),
                    ),
                   
'PRIMARY_KEY'    => 'warning_id',
                ),

               
$this->table_prefix . 'words'    => array(
                   
'COLUMNS'    => array(
                       
'word_id'    => array('UINT', NULL, 'auto_increment'),
                       
'word'    => array('VCHAR_UNI', ''),
                       
'replacement'    => array('VCHAR_UNI', ''),
                    ),
                   
'PRIMARY_KEY'    => 'word_id',
                ),

               
$this->table_prefix . 'zebra'    => array(
                   
'COLUMNS'    => array(
                       
'user_id'    => array('UINT', 0),
                       
'zebra_id'    => array('UINT', 0),
                       
'friend'    => array('BOOL', 0),
                       
'foe'    => array('BOOL', 0),
                    ),
                   
'PRIMARY_KEY'    => array('user_id', 'zebra_id'),
                ),
            ),
        );
    }

    public function
revert_schema()
    {
        return array(
           
'drop_tables' => array(
               
$this->table_prefix . 'attachments',
               
$this->table_prefix . 'acl_groups',
               
$this->table_prefix . 'acl_options',
               
$this->table_prefix . 'acl_roles',
               
$this->table_prefix . 'acl_roles_data',
               
$this->table_prefix . 'acl_users',
               
$this->table_prefix . 'banlist',
               
$this->table_prefix . 'bbcodes',
               
$this->table_prefix . 'bookmarks',
               
$this->table_prefix . 'bots',
               
$this->table_prefix . 'config',
               
$this->table_prefix . 'confirm',
               
$this->table_prefix . 'disallow',
               
$this->table_prefix . 'drafts',
               
$this->table_prefix . 'extensions',
               
$this->table_prefix . 'extension_groups',
               
$this->table_prefix . 'forums',
               
$this->table_prefix . 'forums_access',
               
$this->table_prefix . 'forums_track',
               
$this->table_prefix . 'forums_watch',
               
$this->table_prefix . 'groups',
               
$this->table_prefix . 'icons',
               
$this->table_prefix . 'lang',
               
$this->table_prefix . 'log',
               
$this->table_prefix . 'moderator_cache',
               
$this->table_prefix . 'modules',
               
$this->table_prefix . 'poll_options',
               
$this->table_prefix . 'poll_votes',
               
$this->table_prefix . 'posts',
               
$this->table_prefix . 'privmsgs',
               
$this->table_prefix . 'privmsgs_folder',
               
$this->table_prefix . 'privmsgs_rules',
               
$this->table_prefix . 'privmsgs_to',
               
$this->table_prefix . 'profile_fields',
               
$this->table_prefix . 'profile_fields_data',
               
$this->table_prefix . 'profile_fields_lang',
               
$this->table_prefix . 'profile_lang',
               
$this->table_prefix . 'ranks',
               
$this->table_prefix . 'reports',
               
$this->table_prefix . 'reports_reasons',
               
$this->table_prefix . 'search_results',
               
$this->table_prefix . 'search_wordlist',
               
$this->table_prefix . 'search_wordmatch',
               
$this->table_prefix . 'sessions',
               
$this->table_prefix . 'sessions_keys',
               
$this->table_prefix . 'sitelist',
               
$this->table_prefix . 'smilies',
               
$this->table_prefix . 'styles',
               
$this->table_prefix . 'styles_template',
               
$this->table_prefix . 'styles_template_data',
               
$this->table_prefix . 'styles_theme',
               
$this->table_prefix . 'styles_imageset',
               
$this->table_prefix . 'styles_imageset_data',
               
$this->table_prefix . 'topics',
               
$this->table_prefix . 'topics_track',
               
$this->table_prefix . 'topics_posted',
               
$this->table_prefix . 'topics_watch',
               
$this->table_prefix . 'user_group',
               
$this->table_prefix . 'users',
               
$this->table_prefix . 'warnings',
               
$this->table_prefix . 'words',
               
$this->table_prefix . 'zebra',
            ),
        );
    }
}