b2evolution PHP Cross Reference Blogging Systems

Source: /inc/_core/model/__core.install.php - 434 lines - 18115 bytes - Text - Print

Description: This is the install file for the core modules This file is part of the evoCore framework - {@link http://evocore.net/} See also {@link http://sourceforge.net/projects/evocms/}.

   1  <?php
   2  /**
   3   * This is the install file for the core modules
   4   *
   5   * This file is part of the evoCore framework - {@link http://evocore.net/}
   6   * See also {@link http://sourceforge.net/projects/evocms/}.
   7   *
   8   * @copyright (c)2003-2014 by Francois Planque - {@link http://fplanque.com/}
   9   *
  10   * {@internal License choice
  11   * - If you have received this file as part of a package, please find the license.txt file in
  12   *   the same folder or the closest folder above for complete license terms.
  13   * - If you have received this file individually (e-g: from http://evocms.cvs.sourceforge.net/)
  14   *   then you must choose one of the following licenses before using the file:
  15   *   - GNU General Public License 2 (GPL) - http://www.opensource.org/licenses/gpl-license.php
  16   *   - Mozilla Public License 1.1 (MPL) - http://www.opensource.org/licenses/mozilla1.1.php
  17   * }}
  18   *
  19   * {@internal Open Source relicensing agreement:
  20   * }}
  21   *
  22   * @package evocore
  23   *
  24   * {@internal Below is a list of authors who have contributed to design/coding of this file: }}
  25   * @author fplanque: Francois PLANQUE.
  26   *
  27   * @version $Id: __core.install.php 6136 2014-03-08 07:59:48Z manuel $
  28   */
  29  if( !defined('EVO_CONFIG_LOADED') ) die( 'Please, do not access this page directly.' );
  30  
  31  
  32  global $db_storage_charset;
  33  // fp> TODO: upgrade procedure should check for proper charset. (and for ENGINE too)
  34  // fp> TODO: we should actually use a DEFAULT COLLATE, maybe have a DD::php_to_mysql_collate( $php_charset ) -> returning a Mysql collation
  35  
  36  
  37  /**
  38   * The b2evo database scheme.
  39   *
  40   * This gets updated through {@link db_delta()} which generates the queries needed to get
  41   * to this scheme.
  42   *
  43   * Please see {@link db_delta()} for things to take care of.
  44   */
  45  $schema_queries = array(
  46      'T_groups' => array(
  47          'Creating table for Groups',
  48          "CREATE TABLE T_groups (
  49              grp_ID int(11) NOT NULL auto_increment,
  50              grp_name varchar(50) NOT NULL default '',
  51              grp_perm_blogs enum('user','viewall','editall') NOT NULL default 'user',
  52              grp_perm_bypass_antispam         TINYINT(1) NOT NULL DEFAULT 0,
  53              grp_perm_xhtmlvalidation         VARCHAR(10) NOT NULL default 'always',
  54              grp_perm_xhtmlvalidation_xmlrpc  VARCHAR(10) NOT NULL default 'always',
  55              grp_perm_xhtml_css_tweaks        TINYINT(1) NOT NULL DEFAULT 0,
  56              grp_perm_xhtml_iframes           TINYINT(1) NOT NULL DEFAULT 0,
  57              grp_perm_xhtml_javascript        TINYINT(1) NOT NULL DEFAULT 0,
  58              grp_perm_xhtml_objects           TINYINT(1) NOT NULL DEFAULT 0,
  59              grp_perm_stats enum('none','user','view','edit') NOT NULL default 'none',
  60              PRIMARY KEY grp_ID (grp_ID)
  61          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
  62  
  63      'T_groups__groupsettings' => array(
  64          'Creating table for Group Settings',
  65          "CREATE TABLE T_groups__groupsettings (
  66              gset_grp_ID INT(11) UNSIGNED NOT NULL,
  67              gset_name VARCHAR(30) NOT NULL,
  68              gset_value VARCHAR(255) NULL,
  69              PRIMARY KEY (gset_grp_ID, gset_name)
  70          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
  71  
  72      'T_settings' => array(
  73          'Creating table for Settings',
  74          "CREATE TABLE T_settings (
  75              set_name VARCHAR( 30 ) NOT NULL ,
  76              set_value VARCHAR( 5000 ) NULL ,
  77              PRIMARY KEY ( set_name )
  78          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
  79  
  80      'T_global__cache' => array(
  81          'Creating table for Caches',
  82          "CREATE TABLE T_global__cache (
  83              cach_name VARCHAR( 30 ) NOT NULL ,
  84              cach_cache MEDIUMBLOB NULL ,
  85              PRIMARY KEY ( cach_name )
  86          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
  87  
  88      'T_users' => array(
  89          'Creating table for Users',
  90          "CREATE TABLE T_users (
  91              user_ID int(11) unsigned NOT NULL auto_increment,
  92              user_login varchar(20) NOT NULL,
  93              user_pass CHAR(32) NOT NULL,
  94              user_grp_ID int(4) NOT NULL default 1,
  95              user_email varchar(255) NOT NULL,
  96              user_status enum( 'activated', 'autoactivated', 'closed', 'deactivated', 'emailchanged', 'failedactivation', 'new' ) NOT NULL default 'new',
  97              user_avatar_file_ID int(10) unsigned default NULL,
  98              user_firstname varchar(50) NULL,
  99              user_lastname varchar(50) NULL,
 100              user_nickname varchar(50) NULL,
 101              user_url varchar(255) NULL,
 102              user_level int unsigned DEFAULT 0 NOT NULL,
 103              user_locale varchar(20) DEFAULT 'en-EU' NOT NULL,
 104              user_unsubscribe_key varchar(32) NOT NULL default '' COMMENT 'A specific key, it is used when a user wants to unsubscribe from a post comments without signing in',
 105              user_gender char(1) NULL,
 106              user_age_min int unsigned NULL,
 107              user_age_max int unsigned NULL,
 108              user_reg_ctry_ID int(10) unsigned NULL,
 109              user_ctry_ID int(10) unsigned NULL,
 110              user_rgn_ID int(10) unsigned NULL,
 111              user_subrg_ID int(10) unsigned NULL,
 112              user_city_ID int(10) unsigned NULL,
 113              user_source varchar(30) NULL,
 114              user_created_datetime datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
 115              user_lastseen_ts timestamp NULL,
 116              user_email_dom_ID int(10) unsigned NULL,
 117              user_profileupdate_date date NOT NULL DEFAULT '2000-01-01',
 118              PRIMARY KEY user_ID (user_ID),
 119              UNIQUE user_login (user_login),
 120              KEY user_grp_ID (user_grp_ID),
 121              INDEX user_email ( user_email )
 122          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 123  
 124      'T_users__fielddefs' => array(
 125          'Creating table for User field definitions',
 126          "CREATE TABLE T_users__fielddefs (
 127              ufdf_ID int(10) unsigned NOT NULL auto_increment,
 128              ufdf_ufgp_ID    int(10) unsigned NOT NULL,
 129              ufdf_type       char(8) NOT NULL,
 130              ufdf_name       varchar(255) NOT NULL,
 131              ufdf_options    text NOT NULL,
 132              ufdf_required   enum('hidden','optional','recommended','require') NOT NULL default 'optional',
 133              ufdf_duplicated enum('forbidden','allowed','list') NOT NULL default 'allowed',
 134              ufdf_order      int(11) NOT NULL,
 135              ufdf_suggest    tinyint(1) NOT NULL DEFAULT 0,
 136              ufdf_bubbletip  varchar(2000) NULL,
 137              PRIMARY KEY (ufdf_ID)
 138          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 139  
 140      'T_users__fieldgroups' => array(
 141          'Creating table for Groups of user field definitions',
 142          "CREATE TABLE T_users__fieldgroups (
 143              ufgp_ID int(10) unsigned NOT NULL auto_increment,
 144              ufgp_name varchar(255) NOT NULL,
 145              ufgp_order int(11) NOT NULL,
 146              PRIMARY KEY (ufgp_ID)
 147          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 148  
 149      'T_users__fields' => array(
 150          'Creating table for User fields',
 151          "CREATE TABLE T_users__fields (
 152              uf_ID      int(10) unsigned NOT NULL auto_increment,
 153              uf_user_ID int(10) unsigned NOT NULL,
 154              uf_ufdf_ID int(10) unsigned NOT NULL,
 155              uf_varchar varchar(10000) NOT NULL,
 156              PRIMARY KEY (uf_ID),
 157              INDEX uf_ufdf_ID ( uf_ufdf_ID ),
 158              INDEX uf_varchar ( uf_varchar (255) )
 159          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 160  
 161      'T_users__reports' => array(
 162          'Creating table for User reports',
 163          "CREATE TABLE T_users__reports (
 164              urep_target_user_ID int(11) unsigned NOT NULL,
 165              urep_reporter_ID    int(11) unsigned NOT NULL,
 166              urep_status         enum( 'fake', 'guidelines', 'harass', 'spam', 'other' ),
 167              urep_info           varchar(240),
 168              urep_datetime        datetime NOT NULL,
 169              PRIMARY KEY ( urep_target_user_ID, urep_reporter_ID )
 170          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 171  
 172      'T_i18n_original_string' => array(
 173          'Creating table for a latest version of the POT file',
 174          "CREATE TABLE T_i18n_original_string (
 175              iost_ID        int(10) unsigned NOT NULL auto_increment,
 176              iost_string    varchar(10000) NOT NULL default '',
 177              iost_inpotfile tinyint(1) NOT NULL DEFAULT 0,
 178              PRIMARY KEY (iost_ID)
 179          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 180  
 181      'T_i18n_translated_string' => array(
 182          'Creating table for a latest versions of the PO files',
 183          "CREATE TABLE T_i18n_translated_string (
 184              itst_ID       int(10) unsigned NOT NULL auto_increment,
 185              itst_iost_ID  int(10) unsigned NOT NULL,
 186              itst_locale   varchar(20) NOT NULL default '',
 187              itst_standard varchar(10000) NOT NULL default '',
 188              itst_custom   varchar(10000) NULL,
 189              itst_inpofile tinyint(1) NOT NULL DEFAULT 0,
 190              PRIMARY KEY (itst_ID)
 191          ) ENGINE = innodb DEFAULT CHARSET = utf8" ),
 192  
 193      'T_locales' => array(
 194          'Creating table for Locales',
 195          "CREATE TABLE T_locales (
 196              loc_locale varchar(20) NOT NULL default '',
 197              loc_charset varchar(15) NOT NULL default 'iso-8859-1',
 198              loc_datefmt varchar(20) NOT NULL default 'y-m-d',
 199              loc_timefmt varchar(20) NOT NULL default 'H:i:s',
 200              loc_startofweek TINYINT UNSIGNED NOT NULL DEFAULT 1,
 201              loc_name varchar(40) NOT NULL default '',
 202              loc_messages varchar(20) NOT NULL default '',
 203              loc_priority tinyint(4) UNSIGNED NOT NULL default '0',
 204              loc_transliteration_map varchar(10000) NOT NULL default '',
 205              loc_enabled tinyint(4) NOT NULL default '1',
 206              PRIMARY KEY loc_locale( loc_locale )
 207          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset COMMENT='saves available locales'
 208          " ),
 209  
 210      'T_antispam' => array(
 211          'Creating table for Antispam Blacklist',
 212          "CREATE TABLE T_antispam (
 213              aspm_ID bigint(11) NOT NULL auto_increment,
 214              aspm_string varchar(80) NOT NULL,
 215              aspm_source enum( 'local','reported','central' ) NOT NULL default 'reported',
 216              PRIMARY KEY aspm_ID (aspm_ID),
 217              UNIQUE aspm_string (aspm_string)
 218          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 219  
 220      'T_antispam__iprange' => array(
 221          'Creating table for Antispam IP Ranges',
 222          "CREATE TABLE T_antispam__iprange (
 223              aipr_ID          int(10) unsigned NOT NULL auto_increment,
 224              aipr_IPv4start   int(10) unsigned NOT NULL,
 225              aipr_IPv4end     int(10) unsigned NOT NULL,
 226              aipr_user_count  int(10) unsigned DEFAULT 0,
 227              aipr_status      enum( 'trusted', 'suspect', 'blocked' ) NULL DEFAULT NULL,
 228              aipr_block_count int(10) unsigned DEFAULT 0,
 229              PRIMARY KEY aipr_ID (aipr_ID)
 230          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 231  
 232      'T_users__usersettings' => array(
 233          'Creating user settings table',
 234          "CREATE TABLE T_users__usersettings (
 235              uset_user_ID INT(11) UNSIGNED NOT NULL,
 236              uset_name    VARCHAR( 30 ) NOT NULL,
 237              uset_value   VARCHAR( 255 ) NULL,
 238              PRIMARY KEY ( uset_user_ID, uset_name )
 239          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 240  
 241      'T_plugins' => array(
 242          'Creating plugins table',
 243          "CREATE TABLE T_plugins (
 244              plug_ID              INT(11) UNSIGNED NOT NULL auto_increment,
 245              plug_priority        TINYINT NOT NULL default 50,
 246              plug_classname       VARCHAR(40) NOT NULL default '',
 247              plug_code            VARCHAR(32) NULL,
 248              plug_version         VARCHAR(42) NOT NULL default '0',
 249              plug_name            VARCHAR(255) NULL default NULL,
 250              plug_shortdesc       VARCHAR(255) NULL default NULL,
 251              plug_status          ENUM( 'enabled', 'disabled', 'needs_config', 'broken' ) NOT NULL,
 252              plug_spam_weight     TINYINT UNSIGNED NOT NULL DEFAULT 1,
 253              PRIMARY KEY ( plug_ID ),
 254              UNIQUE plug_code( plug_code ),
 255              INDEX plug_status( plug_status )
 256          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 257  
 258      'T_pluginsettings' => array(
 259          'Creating plugin settings table',
 260          "CREATE TABLE T_pluginsettings (
 261              pset_plug_ID INT(11) UNSIGNED NOT NULL,
 262              pset_name VARCHAR( 30 ) NOT NULL,
 263              pset_value TEXT NULL,
 264              PRIMARY KEY ( pset_plug_ID, pset_name )
 265          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 266  
 267      'T_pluginusersettings' => array(
 268          'Creating plugin user settings table',
 269          "CREATE TABLE T_pluginusersettings (
 270              puset_plug_ID INT(11) UNSIGNED NOT NULL,
 271              puset_user_ID INT(11) UNSIGNED NOT NULL,
 272              puset_name VARCHAR( 30 ) NOT NULL,
 273              puset_value TEXT NULL,
 274              PRIMARY KEY ( puset_plug_ID, puset_user_ID, puset_name )
 275          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 276  
 277      'T_pluginevents' => array(
 278          'Creating plugin events table',
 279          "CREATE TABLE T_pluginevents(
 280              pevt_plug_ID INT(11) UNSIGNED NOT NULL,
 281              pevt_event VARCHAR(40) NOT NULL,
 282              pevt_enabled TINYINT NOT NULL DEFAULT 1,
 283              PRIMARY KEY( pevt_plug_ID, pevt_event )
 284          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 285  
 286      'T_cron__task' => array(
 287          'Creating cron tasks table',
 288          "CREATE TABLE T_cron__task(
 289              ctsk_ID              int(10) unsigned      not null AUTO_INCREMENT,
 290              ctsk_start_datetime  datetime              not null DEFAULT '2000-01-01 00:00:00',
 291              ctsk_repeat_after    int(10) unsigned,
 292              ctsk_name            varchar(255)          not null,
 293              ctsk_controller      varchar(50)           not null,
 294              ctsk_params          text,
 295              PRIMARY KEY (ctsk_ID)
 296          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 297  
 298      'T_cron__log' => array(
 299          'Creating cron tasks table',
 300          "CREATE TABLE T_cron__log(
 301              clog_ctsk_ID              int(10) unsigned   not null,
 302              clog_realstart_datetime   datetime           not null DEFAULT '2000-01-01 00:00:00',
 303              clog_realstop_datetime    datetime,
 304              clog_status               enum('started','finished','error','timeout') not null default 'started',
 305              clog_messages             text,
 306              PRIMARY KEY (clog_ctsk_ID)
 307          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 308  
 309      'T_regional__country' => array(
 310          'Creating Countries table',
 311          "CREATE TABLE T_regional__country (
 312              ctry_ID        int(10) unsigned NOT NULL auto_increment,
 313              ctry_code      char(2) NOT NULL,
 314              ctry_name      varchar(40) NOT NULL,
 315              ctry_curr_ID   int(10) unsigned NULL,
 316              ctry_enabled   tinyint(1) NOT NULL DEFAULT 1,
 317              ctry_preferred tinyint(1) NOT NULL DEFAULT 0,
 318              PRIMARY KEY ctry_ID (ctry_ID),
 319              UNIQUE ctry_code (ctry_code)
 320          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 321  
 322      'T_regional__region' => array(
 323          'Creating Regions table',
 324          "CREATE TABLE T_regional__region (
 325              rgn_ID        int(10) unsigned NOT NULL auto_increment,
 326              rgn_ctry_ID   int(10) unsigned NOT NULL,
 327              rgn_code      char(6) NOT NULL,
 328              rgn_name      varchar(40) NOT NULL,
 329              rgn_enabled   tinyint(1) NOT NULL DEFAULT 1,
 330              rgn_preferred tinyint(1) NOT NULL DEFAULT 0,
 331              PRIMARY KEY rgn_ID (rgn_ID),
 332              UNIQUE rgn_ctry_ID_code (rgn_ctry_ID, rgn_code)
 333          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 334  
 335      'T_regional__subregion' => array(
 336          'Creating Sub-regions table',
 337          "CREATE TABLE T_regional__subregion (
 338              subrg_ID        int(10) unsigned NOT NULL auto_increment,
 339              subrg_rgn_ID    int(10) unsigned NOT NULL,
 340              subrg_code      char(6) NOT NULL,
 341              subrg_name      varchar(40) NOT NULL,
 342              subrg_enabled   tinyint(1) NOT NULL DEFAULT 1,
 343              subrg_preferred tinyint(1) NOT NULL DEFAULT 0,
 344              PRIMARY KEY subrg_ID (subrg_ID),
 345              UNIQUE subrg_rgn_ID_code (subrg_rgn_ID, subrg_code)
 346          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 347  
 348      'T_regional__city' => array(
 349          'Creating Cities table',
 350          "CREATE TABLE T_regional__city (
 351              city_ID         int(10) unsigned NOT NULL auto_increment,
 352              city_ctry_ID    int(10) unsigned NOT NULL,
 353              city_rgn_ID     int(10) unsigned NULL,
 354              city_subrg_ID   int(10) unsigned NULL,
 355              city_postcode   char(12) NOT NULL,
 356              city_name       varchar(40) NOT NULL,
 357              city_enabled    tinyint(1) NOT NULL DEFAULT 1,
 358              city_preferred  tinyint(1) NOT NULL DEFAULT 0,
 359              PRIMARY KEY city_ID (city_ID),
 360              INDEX city_ctry_ID_postcode ( city_ctry_ID, city_postcode ),
 361              INDEX city_rgn_ID_postcode ( city_rgn_ID, city_postcode ),
 362              INDEX city_subrg_ID_postcode ( city_subrg_ID, city_postcode )
 363          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 364  
 365      'T_regional__currency' => array(
 366          'Creating Currencies table',
 367          "CREATE TABLE T_regional__currency (
 368              curr_ID int(10) unsigned NOT NULL auto_increment,
 369              curr_code char(3) NOT NULL,
 370              curr_shortcut varchar(30) NOT NULL,
 371              curr_name varchar(40) NOT NULL,
 372              curr_enabled tinyint(1) NOT NULL DEFAULT 1,
 373              PRIMARY KEY curr_ID (curr_ID),
 374              UNIQUE curr_code (curr_code)
 375          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 376  
 377      'T_slug' => array(
 378          'Creating table for slugs',
 379          "CREATE TABLE T_slug (
 380              slug_ID int(10) unsigned NOT NULL auto_increment,
 381              slug_title varchar(255) NOT NULL COLLATE ascii_bin,
 382              slug_type    char(6) NOT NULL DEFAULT 'item',
 383              slug_itm_ID    int(11) unsigned,
 384              PRIMARY KEY slug_ID (slug_ID),
 385              UNIQUE    slug_title (slug_title)
 386          ) ENGINE = innodb DEFAULT CHARSET = $db_storage_charset" ),
 387  
 388      'T_email__log' => array(
 389          'Creating email log table',
 390          "CREATE TABLE T_email__log (
 391              emlog_ID        INT(10) UNSIGNED NOT NULL auto_increment,
 392              emlog_timestamp TIMESTAMP NOT NULL,
 393              emlog_user_ID   INT(10) UNSIGNED DEFAULT NULL,
 394              emlog_to        VARCHAR(255) DEFAULT NULL,
 395              emlog_result    ENUM ( 'ok', 'error', 'blocked' ) NOT NULL DEFAULT 'ok',
 396              emlog_subject   VARCHAR(255) DEFAULT NULL,
 397              emlog_headers   TEXT DEFAULT NULL,
 398              emlog_message   TEXT DEFAULT NULL,
 399              PRIMARY KEY     (emlog_ID)
 400          ) ENGINE = myisam DEFAULT CHARACTER SET = $db_storage_charset" ),
 401  
 402      'T_email__returns' => array(
 403          'Creating email returns table',
 404          "CREATE TABLE T_email__returns (
 405              emret_ID        INT(10) UNSIGNED NOT NULL auto_increment,
 406              emret_address   VARCHAR(255) DEFAULT NULL,
 407              emret_errormsg  VARCHAR(255) DEFAULT NULL,
 408              emret_timestamp TIMESTAMP NOT NULL,
 409              emret_headers   TEXT DEFAULT NULL,
 410              emret_message   TEXT DEFAULT NULL,
 411              emret_errtype   CHAR(1) NOT NULL DEFAULT 'U',
 412              PRIMARY KEY     (emret_ID)
 413          ) ENGINE = myisam DEFAULT CHARACTER SET = $db_storage_charset" ),
 414  
 415      'T_email__blocked' => array(
 416          'Creating blocked emails table',
 417          "CREATE TABLE T_email__blocked (
 418              emblk_ID                    INT(10) UNSIGNED NOT NULL auto_increment,
 419              emblk_address               VARCHAR(255) DEFAULT NULL,
 420              emblk_status                ENUM ( 'unknown', 'warning', 'suspicious1', 'suspicious2', 'suspicious3', 'prmerror', 'spammer' ) NOT NULL DEFAULT 'unknown',
 421              emblk_sent_count            INT(10) UNSIGNED NOT NULL DEFAULT 0,
 422              emblk_sent_last_returnerror INT(10) UNSIGNED NOT NULL DEFAULT 0,
 423              emblk_prmerror_count        INT(10) UNSIGNED NOT NULL DEFAULT 0,
 424              emblk_tmperror_count        INT(10) UNSIGNED NOT NULL DEFAULT 0,
 425              emblk_spamerror_count       INT(10) UNSIGNED NOT NULL DEFAULT 0,
 426              emblk_othererror_count      INT(10) UNSIGNED NOT NULL DEFAULT 0,
 427              emblk_last_sent_ts          TIMESTAMP NULL,
 428              emblk_last_error_ts         TIMESTAMP NULL,
 429              PRIMARY KEY                 (emblk_ID),
 430              UNIQUE                      emblk_address (emblk_address)
 431          ) ENGINE = myisam DEFAULT CHARACTER SET = $db_storage_charset" )
 432  );
 433  
 434  ?>

title

Description

title

Description

title

Description

title

title

Body