PluginProbe
wpForo Forum / 1.4.2
wpForo Forum v1.4.2
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.2, at wpf-includes/install-sql.php

228 lines 9.4 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($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 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 `{$wpforo->db->prefix}wpforo_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 `UNIQUE 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 ) ENGINE=$engine $charset_collate;",
75 "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_posts`(
76 `postid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
77 `parentid` BIGINT UNSIGNED NOT NULL DEFAULT 0,
78 `forumid` INT UNSIGNED NOT NULL,
79 `topicid` BIGINT UNSIGNED NOT NULL,
80 `userid` INT UNSIGNED NOT NULL,
81 `title` varchar(255),
82 `body` LONGTEXT,
83 `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
84 `modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
85 `likes` INT UNSIGNED NOT NULL DEFAULT 0,
86 `votes` INT NOT NULL DEFAULT 0,
87 `is_answer` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
88 `is_first_post` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
89 `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
90 `name` VARCHAR(50) NOT NULL DEFAULT '',
91 `email` VARCHAR(50) NOT NULL DEFAULT '',
92 `private` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
93 PRIMARY KEY (`postid`),
94 FULLTEXT KEY `title`(`title`(191)),
95 FULLTEXT KEY `body` (`body`),
96 FULLTEXT KEY `title_plus_body` (`title`,`body`),
97 KEY `topicid` (`topicid`),
98 KEY `forumid` (`forumid`),
99 KEY `userid` (`userid`),
100 KEY `parentid` (`parentid`),
101 KEY `is_answer` (`is_answer`),
102 KEY `is_first_post` (`is_first_post`),
103 KEY `status` (`status`),
104 KEY `email` (`email`),
105 KEY `is_private` (`private`)
106 ) ENGINE=$engine $charset_collate;",
107 "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_profiles` (
108 `userid` INT UNSIGNED NOT NULL,
109 `title` VARCHAR(255) NOT NULL DEFAULT 'member',
110 `username` VARCHAR(255) NOT NULL,
111 `groupid` INT UNSIGNED NOT NULL,
112 `posts` INT NOT NULL DEFAULT 0,
113 `questions` INT NOT NULL DEFAULT 0,
114 `answers` INT NOT NULL DEFAULT 0,
115 `comments` INT NOT NULL DEFAULT 0,
116 `site` VARCHAR(255) DEFAULT NULL,
117 `icq` VARCHAR(255) DEFAULT NULL,
118 `aim` VARCHAR(255) DEFAULT NULL,
119 `yahoo` VARCHAR(255) DEFAULT NULL,
120 `msn` VARCHAR(255) DEFAULT NULL,
121 `facebook` VARCHAR(255) DEFAULT NULL,
122 `twitter` VARCHAR(255) DEFAULT NULL,
123 `gtalk` VARCHAR(255) DEFAULT NULL,
124 `skype` VARCHAR(255) DEFAULT NULL,
125 `avatar` VARCHAR(255) DEFAULT NULL,
126 `signature` TEXT,
127 `about` TEXT,
128 `occupation` TEXT,
129 `location` VARCHAR(255) DEFAULT NULL,
130 `last_login` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
131 `rank` INT UNSIGNED NOT NULL DEFAULT 0,
132 `like` INT UNSIGNED NOT NULL DEFAULT 0,
133 `status` VARCHAR(8) DEFAULT 'active' COMMENT 'active, blocked, trashed, spamer',
134 `timezone` VARCHAR(255),
135 PRIMARY KEY (`userid`),
136 UNIQUE KEY `UNIQUE ID` (`userid`),
137 UNIQUE KEY `UNIQUE USERNAME` (`username`(191)),
138 KEY `groupid` (`groupid`),
139 KEY `posts` (`posts`),
140 KEY `status` (`status`)
141 ) ENGINE=MyISAM $charset_collate;",
142 "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_usergroups`(
143 `groupid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
144 `name` VARCHAR(255) NOT NULL,
145 `cans` LONGTEXT NOT NULL COMMENT 'board permissions',
146 `description` TEXT,
147 PRIMARY KEY (`groupid`),
148 UNIQUE KEY `UNIQUE_GROUP_NAME` (`name`(191))
149 ) ENGINE=MyISAM $charset_collate;",
150 "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_languages`(
151 `langid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
152 `name` VARCHAR(255) NOT NULL,
153 PRIMARY KEY (`langid`),
154 UNIQUE KEY `UNIQUE language name` (`name`(191))
155 ) ENGINE=MyISAM $charset_collate;",
156 "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_phrases` (
157 `phraseid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
158 `langid` INT UNSIGNED NOT NULL,
159 `phrase_key` VARCHAR(255) NOT NULL,
160 `phrase_value` text NOT NULL,
161 `package` VARCHAR(255) NOT NULL DEFAULT 'wpforo',
162 PRIMARY KEY (`phraseid`),
163 KEY `langid` (`langid`),
164 KEY `phrase_key` (`phrase_key`(191)),
165 UNIQUE KEY lng_and_key_uniq (`langid`, `phrase_key`(191))
166 ) ENGINE=MyISAM $charset_collate;",
167 "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_likes`(
168 `likeid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
169 `userid` INT UNSIGNED NOT NULL,
170 `postid` INT UNSIGNED NOT NULL,
171 `post_userid` INT UNSIGNED NOT NULL,
172 PRIMARY KEY (`likeid`),
173 UNIQUE KEY `userid` (`userid`,`postid`)
174 ) ENGINE=$engine $charset_collate;",
175 "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_views`(
176 `vid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
177 `userid` INT UNSIGNED NOT NULL,
178 `topicid` INT UNSIGNED NOT NULL,
179 `created` INT UNSIGNED NOT NULL,
180 PRIMARY KEY (`vid`),
181 KEY `user_topic` (`userid`,`topicid`)
182 ) ENGINE=$engine $charset_collate;",
183 "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_votes`(
184 `voteid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
185 `userid` INT UNSIGNED NOT NULL,
186 `postid` INT UNSIGNED NOT NULL,
187 `reaction` TINYINT NOT NULL DEFAULT 1,
188 `post_userid` INT UNSIGNED NOT NULL,
189 PRIMARY KEY (`voteid`),
190 UNIQUE KEY `userid` (`userid`,`postid`)
191 ) ENGINE=$engine $charset_collate;",
192 "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_accesses`(
193 `accessid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
194 `access` VARCHAR(255) NOT NULL,
195 `title` VARCHAR(255) NOT NULL,
196 `cans` LONGTEXT NOT NULL COMMENT 'forum permissions',
197 PRIMARY KEY (`accessid`),
198 UNIQUE KEY ( `access`(191) )
199 ) ENGINE=MyISAM $charset_collate;",
200 "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_subscribes` (
201 `subid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
202 `itemid` BIGINT UNSIGNED NOT NULL,
203 `type` VARCHAR(5) NOT NULL,
204 `confirmkey` varchar(32) NOT NULL,
205 `userid` BIGINT UNSIGNED NOT NULL,
206 `active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
207 PRIMARY KEY (`subid`),
208 UNIQUE KEY `itemid` (`itemid`,`type`,`userid`),
209 UNIQUE KEY `confirmkey` (`confirmkey`),
210 KEY `itemid_2` (`itemid`),
211 KEY `userid` (`userid`)
212 ) ENGINE=$engine $charset_collate;",
213 "CREATE TABLE IF NOT EXISTS `{$wpforo->db->prefix}wpforo_visits` (
214 `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
215 `userid` BIGINT UNSIGNED NOT NULL,
216 `name` VARCHAR(60) NOT NULL,
217 `ip` VARCHAR(60) NOT NULL,
218 `time` INT UNSIGNED NOT NULL,
219 `forumid` INT UNSIGNED NOT NULL,
220 `topicid` BIGINT UNSIGNED NOT NULL,
221 PRIMARY KEY (`id`),
222 KEY `userid` (`userid`),
223 KEY `forumid` (`forumid`),
224 KEY `topicid` (`topicid`),
225 KEY `time` (`time`),
226 KEY `ip` (`ip`)
227 ) ENGINE=$engine $charset_collate;"
228 );