| @@ -3,14 +3,14 @@ | ||
| 3 | 3 | if( !defined( 'ABSPATH' ) ) exit; |
| 4 | 4 | |
| 5 | 5 | |
| 6 | 6 | $charset_collate = ''; |
| 7 | - if ( ! empty(WPF()->db->charset) ) $charset_collate = "DEFAULT CHARACTER SET " . WPF()->db->charset; | |
| 8 | - if ( ! empty(WPF()->db->collate) ) $charset_collate .= " COLLATE " . WPF()->db->collate; | |
| 9 | - $engine = version_compare(WPF()->db->db_version(), '5.6.4', '>=') ? 'InnoDB' : 'MyISAM'; | |
| 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 | 10 | |
| 11 | 11 | $wpforo_sql = array( |
| 12 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->forums."`( | |
| 12 | + "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_forums`( | |
| 13 | 13 | `forumid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 14 | 14 | `title` VARCHAR(255) NOT NULL, |
| 15 | 15 | `slug` VARCHAR(255) NOT NULL, |
| 16 | 16 | `description` LONGTEXT, |
| @@ -29,15 +29,11 @@ | ||
| 29 | 29 | `is_cat` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 30 | 30 | `cat_layout` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 31 | 31 | `order` INT UNSIGNED NOT NULL DEFAULT 0, |
| 32 | 32 | PRIMARY KEY (`forumid`), |
| 33 | - UNIQUE KEY `UNIQUE SLUG` (`slug`(191)), | |
| 34 | - KEY `order` (`order`), | |
| 35 | - KEY `status` (`status`), | |
| 36 | - KEY `parentid` (`parentid`), | |
| 37 | - KEY `is_cat` (`is_cat`) | |
| 33 | + UNIQUE KEY `UNIQUE SLUG` (`slug`(191)) | |
| 38 | 34 | ) ENGINE=MyISAM $charset_collate;", |
| 39 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->topics."`( | |
| 35 | + "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_topics`( | |
| 40 | 36 | `topicid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 41 | 37 | `forumid` INT UNSIGNED NOT NULL, |
| 42 | 38 | `first_postid` BIGINT UNSIGNED NOT NULL DEFAULT 0, |
| 43 | 39 | `userid` INT UNSIGNED NOT NULL, |
| @@ -54,27 +50,13 @@ | ||
| 54 | 50 | `meta_desc` TEXT, |
| 55 | 51 | `type` TINYINT NOT NULL DEFAULT 0, |
| 56 | 52 | `closed` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 57 | 53 | `has_attach` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 58 | - `private` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, | |
| 59 | - `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, | |
| 60 | - `name` VARCHAR(50) NOT NULL DEFAULT '', | |
| 61 | - `email` VARCHAR(50) NOT NULL DEFAULT '', | |
| 62 | 54 | PRIMARY KEY (`topicid`), |
| 63 | - UNIQUE KEY `slug` (`slug`(191)), | |
| 64 | - FULLTEXT KEY `title` (`title`), | |
| 65 | - KEY `forumid` (`forumid`), | |
| 66 | - KEY `first_postid` (`first_postid`), | |
| 67 | - KEY `created` (`created`), | |
| 68 | - KEY `modified` (`modified`), | |
| 69 | - KEY `type` (`type`), | |
| 70 | - KEY `status` (`status`), | |
| 71 | - KEY `email` (`email`), | |
| 72 | - KEY `is_private` (`private`), | |
| 73 | - KEY `own_private` (`userid`,`private`), | |
| 74 | - KEY `forumid_status` (`forumid`,`status`) | |
| 55 | + UNIQUE KEY `UNIQUE SLUG` (`slug`(191)), | |
| 56 | + FULLTEXT KEY `title` (`title`) | |
| 75 | 57 | ) ENGINE=$engine $charset_collate;", |
| 76 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->posts."`( | |
| 58 | + "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_posts`( | |
| 77 | 59 | `postid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 78 | 60 | `parentid` BIGINT UNSIGNED NOT NULL DEFAULT 0, |
| 79 | 61 | `forumid` INT UNSIGNED NOT NULL, |
| 80 | 62 | `topicid` BIGINT UNSIGNED NOT NULL, |
| @@ -86,31 +68,14 @@ | ||
| 86 | 68 | `likes` INT UNSIGNED NOT NULL DEFAULT 0, |
| 87 | 69 | `votes` INT NOT NULL DEFAULT 0, |
| 88 | 70 | `is_answer` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 89 | 71 | `is_first_post` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, |
| 90 | - `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, | |
| 91 | - `name` VARCHAR(50) NOT NULL DEFAULT '', | |
| 92 | - `email` VARCHAR(50) NOT NULL DEFAULT '', | |
| 93 | - `private` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, | |
| 94 | 72 | PRIMARY KEY (`postid`), |
| 95 | 73 | FULLTEXT KEY `title`(`title`(191)), |
| 96 | 74 | FULLTEXT KEY `body` (`body`), |
| 97 | - FULLTEXT KEY `title_plus_body` (`title`,`body`), | |
| 98 | - KEY `topicid` (`topicid`), | |
| 99 | - KEY `forumid` (`forumid`), | |
| 100 | - KEY `userid` (`userid`), | |
| 101 | - KEY `created` (`created`), | |
| 102 | - KEY `parentid` (`parentid`), | |
| 103 | - KEY `is_answer` (`is_answer`), | |
| 104 | - KEY `is_first_post` (`is_first_post`), | |
| 105 | - KEY `status` (`status`), | |
| 106 | - KEY `email` (`email`), | |
| 107 | - KEY `is_private` (`private`), | |
| 108 | - KEY `forumid_status` (`forumid`,`status`), | |
| 109 | - KEY `topicid_status` (`topicid`,`status`), | |
| 110 | - KEY `topicid_solved` (`topicid`,`is_answer`) | |
| 75 | + FULLTEXT KEY `title_plus_body` (`title`,`body`) | |
| 111 | 76 | ) ENGINE=$engine $charset_collate;", |
| 112 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->profiles."` ( | |
| 77 | + "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_profiles` ( | |
| 113 | 78 | `userid` INT UNSIGNED NOT NULL, |
| 114 | 79 | `title` VARCHAR(255) NOT NULL DEFAULT 'member', |
| 115 | 80 | `username` VARCHAR(255) NOT NULL, |
| 116 | 81 | `groupid` INT UNSIGNED NOT NULL, |
| @@ -117,69 +82,56 @@ | ||
| 117 | 82 | `posts` INT NOT NULL DEFAULT 0, |
| 118 | 83 | `questions` INT NOT NULL DEFAULT 0, |
| 119 | 84 | `answers` INT NOT NULL DEFAULT 0, |
| 120 | 85 | `comments` INT NOT NULL DEFAULT 0, |
| 121 | - `site` VARCHAR(255), | |
| 122 | - `icq` VARCHAR(255), | |
| 123 | - `aim` VARCHAR(255), | |
| 124 | - `yahoo` VARCHAR(255), | |
| 125 | - `msn` VARCHAR(255), | |
| 126 | - `facebook` VARCHAR(255), | |
| 127 | - `twitter` VARCHAR(255), | |
| 128 | - `gtalk` VARCHAR(255), | |
| 129 | - `skype` VARCHAR(255), | |
| 130 | - `avatar` VARCHAR(255), | |
| 131 | - `signature` TEXT, | |
| 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, | |
| 132 | 97 | `about` TEXT, |
| 133 | - `occupation` TEXT, | |
| 134 | - `location` VARCHAR(255), | |
| 98 | + `occupation` VARCHAR(255) DEFAULT NULL, | |
| 99 | + `location` VARCHAR(255) DEFAULT NULL, | |
| 135 | 100 | `last_login` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', |
| 136 | - `online_time` INT UNSIGNED, | |
| 137 | 101 | `rank` INT UNSIGNED NOT NULL DEFAULT 0, |
| 138 | 102 | `like` INT UNSIGNED NOT NULL DEFAULT 0, |
| 139 | 103 | `status` VARCHAR(8) DEFAULT 'active' COMMENT 'active, blocked, trashed, spamer', |
| 140 | 104 | `timezone` VARCHAR(255), |
| 141 | - `is_email_confirmed` TINYINT(1) NOT NULL DEFAULT 0, | |
| 142 | 105 | PRIMARY KEY (`userid`), |
| 143 | 106 | UNIQUE KEY `UNIQUE ID` (`userid`), |
| 144 | - KEY `groupid` (`groupid`), | |
| 145 | - KEY `online_time` (`online_time`), | |
| 146 | - KEY `posts` (`posts`), | |
| 147 | - KEY `status` (`status`), | |
| 148 | - KEY `is_email_confirmed` (`is_email_confirmed`) | |
| 107 | + UNIQUE KEY `UNIQUE USERNAME` (`username`(191)) | |
| 149 | 108 | ) ENGINE=MyISAM $charset_collate;", |
| 150 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->usergroups."`( | |
| 109 | + "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_usergroups`( | |
| 151 | 110 | `groupid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 152 | 111 | `name` VARCHAR(255) NOT NULL, |
| 153 | - `cans` LONGTEXT NOT NULL COMMENT 'board permissions', | |
| 112 | + `cans` LONGTEXT NOT NULL COMMENT 'board permissions', | |
| 154 | 113 | `description` TEXT, |
| 155 | - `utitle` VARCHAR(100) NOT NULL DEFAULT '', | |
| 156 | - `role` VARCHAR(50) NOT NULL DEFAULT '', | |
| 157 | - `access` VARCHAR(50) NOT NULL DEFAULT '', | |
| 158 | - `color` varchar(7) NOT NULL DEFAULT '', | |
| 159 | - `visible` tinyint(1) UNSIGNED NOT NULL DEFAULT 1, | |
| 160 | 114 | PRIMARY KEY (`groupid`), |
| 161 | - KEY `visible` (`visible`), | |
| 162 | - UNIQUE KEY `UNIQUE_GROUP_NAME` (`name`(191)) | |
| 115 | + UNIQUE KEY `UNIQUE GROUP NAME` (`name`(191)) | |
| 163 | 116 | ) ENGINE=MyISAM $charset_collate;", |
| 164 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->languages."`( | |
| 117 | + "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_languages`( | |
| 165 | 118 | `langid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 166 | 119 | `name` VARCHAR(255) NOT NULL, |
| 167 | 120 | PRIMARY KEY (`langid`), |
| 168 | 121 | UNIQUE KEY `UNIQUE language name` (`name`(191)) |
| 169 | 122 | ) ENGINE=MyISAM $charset_collate;", |
| 170 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->phrases."` ( | |
| 123 | + "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_phrases` ( | |
| 171 | 124 | `phraseid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 172 | 125 | `langid` INT UNSIGNED NOT NULL, |
| 173 | - `phrase_key` VARCHAR(255) NOT NULL, | |
| 126 | + `phrase_key` varchar(255) NOT NULL, | |
| 174 | 127 | `phrase_value` text NOT NULL, |
| 175 | - `package` VARCHAR(255) NOT NULL DEFAULT 'wpforo', | |
| 176 | 128 | PRIMARY KEY (`phraseid`), |
| 177 | 129 | KEY `langid` (`langid`), |
| 178 | 130 | KEY `phrase_key` (`phrase_key`(191)), |
| 179 | 131 | UNIQUE KEY lng_and_key_uniq (`langid`, `phrase_key`(191)) |
| 180 | 132 | ) ENGINE=MyISAM $charset_collate;", |
| 181 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->likes."`( | |
| 133 | + "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_likes`( | |
| 182 | 134 | `likeid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 183 | 135 | `userid` INT UNSIGNED NOT NULL, |
| 184 | 136 | `postid` INT UNSIGNED NOT NULL, |
| 185 | 137 | `post_userid` INT UNSIGNED NOT NULL, |
| @@ -184,18 +136,17 @@ | ||
| 184 | 136 | `postid` INT UNSIGNED NOT NULL, |
| 185 | 137 | `post_userid` INT UNSIGNED NOT NULL, |
| 186 | 138 | PRIMARY KEY (`likeid`), |
| 187 | 139 | UNIQUE KEY `userid` (`userid`,`postid`) |
| 188 | - ) ENGINE=INNODB $charset_collate;", | |
| 189 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->views."`( | |
| 140 | + ) ENGINE=$engine $charset_collate;", | |
| 141 | + "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_views`( | |
| 190 | 142 | `vid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 191 | 143 | `userid` INT UNSIGNED NOT NULL, |
| 192 | 144 | `topicid` INT UNSIGNED NOT NULL, |
| 193 | - `created` INT UNSIGNED NOT NULL, | |
| 194 | - PRIMARY KEY (`vid`), | |
| 195 | - KEY `user_topic` (`userid`,`topicid`) | |
| 196 | - ) ENGINE=INNODB $charset_collate;", | |
| 197 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->votes."`( | |
| 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`( | |
| 198 | 149 | `voteid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 199 | 150 | `userid` INT UNSIGNED NOT NULL, |
| 200 | 151 | `postid` INT UNSIGNED NOT NULL, |
| 201 | 152 | `reaction` TINYINT NOT NULL DEFAULT 1, |
| @@ -201,10 +152,10 @@ | ||
| 201 | 152 | `reaction` TINYINT NOT NULL DEFAULT 1, |
| 202 | 153 | `post_userid` INT UNSIGNED NOT NULL, |
| 203 | 154 | PRIMARY KEY (`voteid`), |
| 204 | 155 | UNIQUE KEY `userid` (`userid`,`postid`) |
| 205 | - ) ENGINE=INNODB $charset_collate;", | |
| 206 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->accesses."`( | |
| 156 | + ) ENGINE=$engine $charset_collate;", | |
| 157 | + "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_accesses`( | |
| 207 | 158 | `accessid` INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 208 | 159 | `access` VARCHAR(255) NOT NULL, |
| 209 | 160 | `title` VARCHAR(255) NOT NULL, |
| 210 | 161 | `cans` LONGTEXT NOT NULL COMMENT 'forum permissions', |
| @@ -210,35 +161,20 @@ | ||
| 210 | 161 | `cans` LONGTEXT NOT NULL COMMENT 'forum permissions', |
| 211 | 162 | PRIMARY KEY (`accessid`), |
| 212 | 163 | UNIQUE KEY ( `access`(191) ) |
| 213 | 164 | ) ENGINE=MyISAM $charset_collate;", |
| 214 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->subscribes."` ( | |
| 165 | + "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_subscribes` ( | |
| 215 | 166 | `subid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 216 | 167 | `itemid` BIGINT UNSIGNED NOT NULL, |
| 217 | - `type` VARCHAR(5) NOT NULL, | |
| 168 | + `type` varchar(5) NOT NULL, | |
| 218 | 169 | `confirmkey` varchar(32) NOT NULL, |
| 219 | 170 | `userid` BIGINT UNSIGNED NOT NULL, |
| 220 | - `active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, | |
| 221 | - `user_name` VARCHAR(60) NOT NULL, | |
| 222 | - `user_email` VARCHAR(60) NOT NULL, | |
| 171 | + `active` tinyint(1) UNSIGNED NOT NULL DEFAULT 0, | |
| 223 | 172 | PRIMARY KEY (`subid`), |
| 224 | - UNIQUE KEY `fld_group_unq` (`itemid`,`type`,`userid`,`user_email`(60)), | |
| 173 | + UNIQUE KEY `itemid` (`itemid`,`type`,`userid`), | |
| 225 | 174 | UNIQUE KEY `confirmkey` (`confirmkey`), |
| 226 | 175 | KEY `itemid_2` (`itemid`), |
| 227 | 176 | KEY `userid` (`userid`) |
| 228 | - ) ENGINE=INNODB $charset_collate;", | |
| 229 | - "CREATE TABLE IF NOT EXISTS `".WPF()->tables->visits."` ( | |
| 230 | - `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, | |
| 231 | - `userid` BIGINT UNSIGNED NOT NULL, | |
| 232 | - `name` VARCHAR(60) NOT NULL, | |
| 233 | - `ip` VARCHAR(60) NOT NULL, | |
| 234 | - `time` INT UNSIGNED NOT NULL, | |
| 235 | - `forumid` INT UNSIGNED NOT NULL, | |
| 236 | - `topicid` BIGINT UNSIGNED NOT NULL, | |
| 237 | - PRIMARY KEY (`id`), | |
| 238 | - KEY `userid` (`userid`), | |
| 239 | - KEY `forumid` (`forumid`), | |
| 240 | - KEY `topicid` (`topicid`), | |
| 241 | - KEY `time` (`time`), | |
| 242 | - KEY `ip` (`ip`) | |
| 243 | - ) ENGINE=INNODB $charset_collate;" | |
| 244 | - ); | |
| 177 | + ) ENGINE=$engine $charset_collate;" | |
| 178 | + ); | |
| 179 | + | |
| 180 | +?> | |