[ Index ]

PHP Cross Reference of phpBB-3.3.14-deutsch

title

Body

[close]

/phpbb/db/migration/data/v30x/ -> release_3_0_0.php (source)

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


Generated: Mon Nov 25 19:05:08 2024 Cross-referenced by PHPXref 0.7.1