PluginProbe
wpForo Forum / 1.4.13
wpForo Forum v1.4.13
3.1.5 3.1.4 3.1.2 3.1.1 3.1.0 3.0.9 3.0.8 3.0.7 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.10 1.4.11 1.4.12 1.4.13 1.4.2 All 137 releases
wpforo / wpf-includes / install-sql.php

install-sql.php in wpForo Forum 1.4.13, at wpf-includes/install-sql.php

244 lines 9.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // Exit if accessed directly
3 if( !defined( 'ABSPATH' ) ) exit;
4
5
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';
10
11 $wpforo_sql = array(
12 "CREATE TABLE IF NOT EXISTS `".WPF()->tables->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 KEY `order` (`order`),
35 KEY `status` (`status`),
36 KEY `parentid` (`parentid`),
37 KEY `is_cat` (`is_cat`)
38 ) ENGINE=MyISAM $charset_collate;",
39 "CREATE TABLE IF NOT EXISTS `".WPF()->tables->topics."`(
40 `topicid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
41 `forumid` INT UNSIGNED NOT NULL,
42 `first_postid` BIGINT UNSIGNED NOT NULL DEFAULT 0,
43 `userid` INT UNSIGNED NOT NULL,
44 `title` VARCHAR(255) NOT NULL,
45 `slug` VARCHAR(255) NOT NULL,
46 `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
47 `modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
48 `last_post` BIGINT UNSIGNED NOT NULL DEFAULT 0,
49 `posts` INT NOT NULL DEFAULT 0,
50 `votes` INT NOT NULL DEFAULT 0,
51 `answers` INT NOT NULL DEFAULT 0,
52 `views` INT UNSIGNED NOT NULL DEFAULT 0,
53 `meta_key` TEXT,
54 `meta_desc` TEXT,
55 `type` TINYINT NOT NULL DEFAULT 0,
56 `closed` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
57 `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 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`)
75 ) ENGINE=$engine $charset_collate;",
76 "CREATE TABLE IF NOT EXISTS `".WPF()->tables->posts."`(
77 `postid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
78 `parentid` BIGINT UNSIGNED NOT NULL DEFAULT 0,
79 `forumid` INT UNSIGNED NOT NULL,
80 `topicid` BIGINT UNSIGNED NOT NULL,
81 `userid` INT UNSIGNED NOT NULL,
82 `title` varchar(255),
83 `body` LONGTEXT,
84 `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
85 `modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
86 `likes` INT UNSIGNED NOT NULL DEFAULT 0,
87 `votes` INT NOT NULL DEFAULT 0,
88 `is_answer` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
89 `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 PRIMARY KEY (`postid`),
95 FULLTEXT KEY `title`(`title`(191)),
96 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`)
111 ) ENGINE=$engine $charset_collate;",
112 "CREATE TABLE IF NOT EXISTS `".WPF()->tables->profiles."` (
113 `userid` INT UNSIGNED NOT NULL,
114 `title` VARCHAR(255) NOT NULL DEFAULT 'member',
115 `username` VARCHAR(255) NOT NULL,
116 `groupid` INT UNSIGNED NOT NULL,
117 `posts` INT NOT NULL DEFAULT 0,
118 `questions` INT NOT NULL DEFAULT 0,
119 `answers` INT NOT NULL DEFAULT 0,
120 `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,
132 `about` TEXT,
133 `occupation` TEXT,
134 `location` VARCHAR(255),
135 `last_login` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
136 `online_time` INT UNSIGNED,
137 `rank` INT UNSIGNED NOT NULL DEFAULT 0,
138 `like` INT UNSIGNED NOT NULL DEFAULT 0,
139 `status` VARCHAR(8) DEFAULT 'active' COMMENT 'active, blocked, trashed, spamer',
140 `timezone` VARCHAR(255),
141 `is_email_confirmed` TINYINT(1) NOT NULL DEFAULT 0,
142 PRIMARY KEY (`userid`),
143 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`)
149 ) ENGINE=MyISAM $charset_collate;",
150 "CREATE TABLE IF NOT EXISTS `".WPF()->tables->usergroups."`(
151 `groupid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
152 `name` VARCHAR(255) NOT NULL,
153 `cans` LONGTEXT NOT NULL COMMENT 'board permissions',
154 `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 PRIMARY KEY (`groupid`),
161 KEY `visible` (`visible`),
162 UNIQUE KEY `UNIQUE_GROUP_NAME` (`name`(191))
163 ) ENGINE=MyISAM $charset_collate;",
164 "CREATE TABLE IF NOT EXISTS `".WPF()->tables->languages."`(
165 `langid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
166 `name` VARCHAR(255) NOT NULL,
167 PRIMARY KEY (`langid`),
168 UNIQUE KEY `UNIQUE language name` (`name`(191))
169 ) ENGINE=MyISAM $charset_collate;",
170 "CREATE TABLE IF NOT EXISTS `".WPF()->tables->phrases."` (
171 `phraseid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
172 `langid` INT UNSIGNED NOT NULL,
173 `phrase_key` VARCHAR(255) NOT NULL,
174 `phrase_value` text NOT NULL,
175 `package` VARCHAR(255) NOT NULL DEFAULT 'wpforo',
176 PRIMARY KEY (`phraseid`),
177 KEY `langid` (`langid`),
178 KEY `phrase_key` (`phrase_key`(191)),
179 UNIQUE KEY lng_and_key_uniq (`langid`, `phrase_key`(191))
180 ) ENGINE=MyISAM $charset_collate;",
181 "CREATE TABLE IF NOT EXISTS `".WPF()->tables->likes."`(
182 `likeid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
183 `userid` INT UNSIGNED NOT NULL,
184 `postid` INT UNSIGNED NOT NULL,
185 `post_userid` INT UNSIGNED NOT NULL,
186 PRIMARY KEY (`likeid`),
187 UNIQUE KEY `userid` (`userid`,`postid`)
188 ) ENGINE=INNODB $charset_collate;",
189 "CREATE TABLE IF NOT EXISTS `".WPF()->tables->views."`(
190 `vid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
191 `userid` INT UNSIGNED NOT NULL,
192 `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."`(
198 `voteid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
199 `userid` INT UNSIGNED NOT NULL,
200 `postid` INT UNSIGNED NOT NULL,
201 `reaction` TINYINT NOT NULL DEFAULT 1,
202 `post_userid` INT UNSIGNED NOT NULL,
203 PRIMARY KEY (`voteid`),
204 UNIQUE KEY `userid` (`userid`,`postid`)
205 ) ENGINE=INNODB $charset_collate;",
206 "CREATE TABLE IF NOT EXISTS `".WPF()->tables->accesses."`(
207 `accessid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
208 `access` VARCHAR(255) NOT NULL,
209 `title` VARCHAR(255) NOT NULL,
210 `cans` LONGTEXT NOT NULL COMMENT 'forum permissions',
211 PRIMARY KEY (`accessid`),
212 UNIQUE KEY ( `access`(191) )
213 ) ENGINE=MyISAM $charset_collate;",
214 "CREATE TABLE IF NOT EXISTS `".WPF()->tables->subscribes."` (
215 `subid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
216 `itemid` BIGINT UNSIGNED NOT NULL,
217 `type` VARCHAR(5) NOT NULL,
218 `confirmkey` varchar(32) NOT NULL,
219 `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,
223 PRIMARY KEY (`subid`),
224 UNIQUE KEY `fld_group_unq` (`itemid`,`type`,`userid`,`user_email`(60)),
225 UNIQUE KEY `confirmkey` (`confirmkey`),
226 KEY `itemid_2` (`itemid`),
227 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 );