| 1 |
<?php |
| 2 |
// Exit if accessed directly |
| 3 |
if( !defined( 'ABSPATH' ) ) exit; |
| 4 |
|
| 5 |
|
| 6 |
$charset_collate = ''; |
| 7 |
if ( ! empty($wpforo->db->charset) ) $charset_collate = "DEFAULT CHARACTER SET " . $wpforo->db->charset; |
| 8 |
if ( ! empty($wpforo->db->collate) ) $charset_collate .= " COLLATE " . $wpforo->db->collate; |
| 9 |
$engine = version_compare($wpforo->db->db_version(), '5.6.4', '>=') ? 'InnoDB' : 'MyISAM'; |
| 10 |
|
| 11 |
$wpforo_sql = array( |
| 12 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_forums`( |
| 13 |
`forumid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 14 |
`title` VARCHAR(255) NOT NULL, |
| 15 |
`slug` VARCHAR(255) NOT NULL, |
| 16 |
`description` LONGTEXT, |
| 17 |
`parentid` INT UNSIGNED NOT NULL DEFAULT 0, |
| 18 |
`icon` VARCHAR(255), |
| 19 |
`last_topicid` INT UNSIGNED NOT NULL DEFAULT 0, |
| 20 |
`last_postid` INT UNSIGNED NOT NULL DEFAULT 0, |
| 21 |
`last_userid` INT UNSIGNED NOT NULL DEFAULT 0, |
| 22 |
`last_post_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', |
| 23 |
`topics` INT NOT NULL DEFAULT 0, |
| 24 |
`posts` INT NOT NULL DEFAULT 0, |
| 25 |
`permissions` TEXT, |
| 26 |
`meta_key` TEXT, |
| 27 |
`meta_desc` TEXT, |
| 28 |
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 29 |
`is_cat` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 30 |
`cat_layout` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 31 |
`order` INT UNSIGNED NOT NULL DEFAULT 0, |
| 32 |
PRIMARY KEY (`forumid`), |
| 33 |
UNIQUE KEY `UNIQUE SLUG` (`slug`(191)) |
| 34 |
) ENGINE=MyISAM $charset_collate;", |
| 35 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_topics`( |
| 36 |
`topicid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 37 |
`forumid` INT UNSIGNED NOT NULL, |
| 38 |
`first_postid` BIGINT UNSIGNED NOT NULL DEFAULT 0, |
| 39 |
`userid` INT UNSIGNED NOT NULL, |
| 40 |
`title` VARCHAR(255) NOT NULL, |
| 41 |
`slug` VARCHAR(255) NOT NULL, |
| 42 |
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', |
| 43 |
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', |
| 44 |
`last_post` BIGINT UNSIGNED NOT NULL DEFAULT 0, |
| 45 |
`posts` INT NOT NULL DEFAULT 0, |
| 46 |
`votes` INT NOT NULL DEFAULT 0, |
| 47 |
`answers` INT NOT NULL DEFAULT 0, |
| 48 |
`views` INT UNSIGNED NOT NULL DEFAULT 0, |
| 49 |
`meta_key` TEXT, |
| 50 |
`meta_desc` TEXT, |
| 51 |
`type` TINYINT NOT NULL DEFAULT 0, |
| 52 |
`closed` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 53 |
`has_attach` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 54 |
PRIMARY KEY (`topicid`), |
| 55 |
UNIQUE KEY `UNIQUE SLUG` (`slug`(191)), |
| 56 |
FULLTEXT KEY `title` (`title`) |
| 57 |
) ENGINE=$engine $charset_collate;", |
| 58 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_posts`( |
| 59 |
`postid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 60 |
`parentid` BIGINT UNSIGNED NOT NULL DEFAULT 0, |
| 61 |
`forumid` INT UNSIGNED NOT NULL, |
| 62 |
`topicid` BIGINT UNSIGNED NOT NULL, |
| 63 |
`userid` INT UNSIGNED NOT NULL, |
| 64 |
`title` varchar(255), |
| 65 |
`body` LONGTEXT, |
| 66 |
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', |
| 67 |
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', |
| 68 |
`likes` INT UNSIGNED NOT NULL DEFAULT 0, |
| 69 |
`votes` INT NOT NULL DEFAULT 0, |
| 70 |
`is_answer` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 71 |
`is_first_post` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 72 |
PRIMARY KEY (`postid`), |
| 73 |
FULLTEXT KEY `title`(`title`(191)), |
| 74 |
FULLTEXT KEY `body` (`body`), |
| 75 |
FULLTEXT KEY `title_plus_body` (`title`,`body`) |
| 76 |
) ENGINE=$engine $charset_collate;", |
| 77 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_profiles` ( |
| 78 |
`userid` INT UNSIGNED NOT NULL, |
| 79 |
`title` VARCHAR(255) NOT NULL DEFAULT 'member', |
| 80 |
`username` VARCHAR(255) NOT NULL, |
| 81 |
`groupid` INT UNSIGNED NOT NULL, |
| 82 |
`posts` INT NOT NULL DEFAULT 0, |
| 83 |
`questions` INT NOT NULL DEFAULT 0, |
| 84 |
`answers` INT NOT NULL DEFAULT 0, |
| 85 |
`comments` INT NOT NULL DEFAULT 0, |
| 86 |
`site` VARCHAR(255) DEFAULT NULL, |
| 87 |
`icq` VARCHAR(255) DEFAULT NULL, |
| 88 |
`aim` VARCHAR(255) DEFAULT NULL, |
| 89 |
`yahoo` VARCHAR(255) DEFAULT NULL, |
| 90 |
`msn` VARCHAR(255) DEFAULT NULL, |
| 91 |
`facebook` VARCHAR(255) DEFAULT NULL, |
| 92 |
`twitter` VARCHAR(255) DEFAULT NULL, |
| 93 |
`gtalk` VARCHAR(255) DEFAULT NULL, |
| 94 |
`skype` VARCHAR(255) DEFAULT NULL, |
| 95 |
`avatar` VARCHAR(255) DEFAULT NULL, |
| 96 |
`signature` VARCHAR(255) DEFAULT NULL, |
| 97 |
`about` TEXT, |
| 98 |
`occupation` VARCHAR(255) DEFAULT NULL, |
| 99 |
`location` VARCHAR(255) DEFAULT NULL, |
| 100 |
`last_login` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', |
| 101 |
`rank` INT UNSIGNED NOT NULL DEFAULT 0, |
| 102 |
`like` INT UNSIGNED NOT NULL DEFAULT 0, |
| 103 |
`status` VARCHAR(8) DEFAULT 'active' COMMENT 'active, blocked, trashed, spamer', |
| 104 |
`timezone` VARCHAR(255), |
| 105 |
PRIMARY KEY (`userid`), |
| 106 |
UNIQUE KEY `UNIQUE ID` (`userid`), |
| 107 |
UNIQUE KEY `UNIQUE USERNAME` (`username`(191)) |
| 108 |
) ENGINE=MyISAM $charset_collate;", |
| 109 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_usergroups`( |
| 110 |
`groupid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 111 |
`name` VARCHAR(255) NOT NULL, |
| 112 |
`cans` LONGTEXT NOT NULL COMMENT 'board permissions', |
| 113 |
`description` TEXT, |
| 114 |
PRIMARY KEY (`groupid`), |
| 115 |
UNIQUE KEY `UNIQUE GROUP NAME` (`name`(191)) |
| 116 |
) ENGINE=MyISAM $charset_collate;", |
| 117 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_languages`( |
| 118 |
`langid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 119 |
`name` VARCHAR(255) NOT NULL, |
| 120 |
PRIMARY KEY (`langid`), |
| 121 |
UNIQUE KEY `UNIQUE language name` (`name`(191)) |
| 122 |
) ENGINE=MyISAM $charset_collate;", |
| 123 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_phrases` ( |
| 124 |
`phraseid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 125 |
`langid` INT UNSIGNED NOT NULL, |
| 126 |
`phrase_key` varchar(255) NOT NULL, |
| 127 |
`phrase_value` text NOT NULL, |
| 128 |
PRIMARY KEY (`phraseid`), |
| 129 |
KEY `langid` (`langid`), |
| 130 |
KEY `phrase_key` (`phrase_key`(191)), |
| 131 |
UNIQUE KEY lng_and_key_uniq (`langid`, `phrase_key`(191)) |
| 132 |
) ENGINE=MyISAM $charset_collate;", |
| 133 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_likes`( |
| 134 |
`likeid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 135 |
`userid` INT UNSIGNED NOT NULL, |
| 136 |
`postid` INT UNSIGNED NOT NULL, |
| 137 |
`post_userid` INT UNSIGNED NOT NULL, |
| 138 |
PRIMARY KEY (`likeid`), |
| 139 |
UNIQUE KEY `userid` (`userid`,`postid`) |
| 140 |
) ENGINE=$engine $charset_collate;", |
| 141 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_views`( |
| 142 |
`vid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 143 |
`userid` INT UNSIGNED NOT NULL, |
| 144 |
`topicid` INT UNSIGNED NOT NULL, |
| 145 |
`created` TIMESTAMP NOT NULL, |
| 146 |
PRIMARY KEY (`vid`) |
| 147 |
) ENGINE=$engine $charset_collate;", |
| 148 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_votes`( |
| 149 |
`voteid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 150 |
`userid` INT UNSIGNED NOT NULL, |
| 151 |
`postid` INT UNSIGNED NOT NULL, |
| 152 |
`reaction` TINYINT NOT NULL DEFAULT 1, |
| 153 |
`post_userid` INT UNSIGNED NOT NULL, |
| 154 |
PRIMARY KEY (`voteid`), |
| 155 |
UNIQUE KEY `userid` (`userid`,`postid`) |
| 156 |
) ENGINE=$engine $charset_collate;", |
| 157 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_accesses`( |
| 158 |
`accessid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 159 |
`access` VARCHAR(255) NOT NULL, |
| 160 |
`title` VARCHAR(255) NOT NULL, |
| 161 |
`cans` LONGTEXT NOT NULL COMMENT 'forum permissions', |
| 162 |
PRIMARY KEY (`accessid`), |
| 163 |
UNIQUE KEY ( `access`(191) ) |
| 164 |
) ENGINE=MyISAM $charset_collate;", |
| 165 |
"CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_subscribes` ( |
| 166 |
`subid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 167 |
`itemid` BIGINT UNSIGNED NOT NULL, |
| 168 |
`type` varchar(5) NOT NULL, |
| 169 |
`confirmkey` varchar(32) NOT NULL, |
| 170 |
`userid` BIGINT UNSIGNED NOT NULL, |
| 171 |
`active` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 172 |
PRIMARY KEY (`subid`), |
| 173 |
UNIQUE KEY `itemid` (`itemid`,`type`,`userid`), |
| 174 |
UNIQUE KEY `confirmkey` (`confirmkey`), |
| 175 |
KEY `itemid_2` (`itemid`), |
| 176 |
KEY `userid` (`userid`) |
| 177 |
) ENGINE=$engine $charset_collate;" |
| 178 |
); |
| 179 |
|
| 180 |
?> |