upgrade.php
4.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<?php
/**
* [Discuz!] (C)2001-2099 Comsenz Inc.
* This is NOT a freeware, use is subject to license terms
*
* $Id: upgrade.php 33545 2013-07-04 07:06:27Z nemohou $
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
$sql = '';
$sql .= <<<EOF
CREATE TABLE IF NOT EXISTS pre_connect_postfeedlog (
flid mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
pid int(10) unsigned NOT NULL DEFAULT '0',
uid mediumint(8) unsigned NOT NULL DEFAULT '0',
publishtimes mediumint(8) unsigned NOT NULL DEFAULT '0',
lastpublished int(10) unsigned NOT NULL DEFAULT '0',
dateline int(10) unsigned NOT NULL DEFAULT '0',
`status` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (flid),
UNIQUE KEY pid (pid)
) ENGINE=MyISAM;
CREATE TABLE IF NOT EXISTS pre_connect_tthreadlog (
twid char(16) NOT NULL,
tid mediumint(8) unsigned NOT NULL DEFAULT '0',
conopenid char(32) NOT NULL,
pagetime int(10) unsigned DEFAULT '0',
lasttwid char(16) DEFAULT NULL,
nexttime int(10) unsigned DEFAULT '0',
updatetime int(10) unsigned DEFAULT '0',
dateline int(10) unsigned DEFAULT '0',
PRIMARY KEY (twid),
KEY nexttime (tid,nexttime),
KEY updatetime (tid,updatetime)
) TYPE=MyISAM;
CREATE TABLE IF NOT EXISTS pre_common_connect_guest (
`conopenid` char(32) NOT NULL default '',
`conuin` char(40) NOT NULL default '',
`conuinsecret` char(16) NOT NULL default '',
`conqqnick` char(100) NOT NULL default '',
`conuintoken` char(32) NOT NULL DEFAULT '',
PRIMARY KEY (conopenid)
) TYPE=MyISAM;
CREATE TABLE IF NOT EXISTS `pre_connect_disktask` (
`taskid` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '任务ID',
`aid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '附件ID',
`uid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
`openid` char(32) NOT NULL DEFAULT '' COMMENT 'openId',
`filename` varchar(255) NOT NULL DEFAULT '' COMMENT '附件名称',
`verifycode` char(32) NOT NULL DEFAULT '' COMMENT '下载验证码',
`status` smallint(6) unsigned NOT NULL DEFAULT '0' COMMENT '下载状态',
`dateline` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '添加任务的时间',
`downloadtime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '下载完成时间',
`extra` text COMMENT '保留字段',
PRIMARY KEY (`taskid`),
KEY `openid` (`openid`),
KEY `status` (`status`)
) TYPE=MyISAM COMMENT='网盘下载任务表';
EOF;
runquery($sql);
$sql = '';
$columnexisted = false;
$query = DB::query("SHOW COLUMNS FROM ".DB::table('common_member_connect'));
while($temp = DB::fetch($query)) {
if($temp['Field'] == 'conisqqshow') {
$columnexisted = true;
continue;
}
if($temp['Field'] == 'conuintoken') {
$uintokenexisted = true;
continue;
}
}
$sql .= !$columnexisted ? "ALTER TABLE ".DB::table('common_member_connect')." ADD COLUMN conisqqshow tinyint(1) unsigned NOT NULL default '0';\n" : '';
$sql .= !$uintokenexisted ? "ALTER TABLE ".DB::table('common_member_connect')." ADD COLUMN conuintoken char(32) NOT NULL DEFAULT '';\n" : '';
$query = DB::query("SHOW COLUMNS FROM ".DB::table('common_connect_guest'));
while($row = DB::fetch($query)) {
if($row['Field'] == 'conqqnick') {
$qqnickexisted = true;
continue;
}
if($row['Field'] == 'conuintoken') {
$guintokenexisted = true;
continue;
}
}
$sql .= !$qqnickexisted ? "ALTER TABLE ".DB::table('common_connect_guest')." ADD COLUMN conqqnick char(100) NOT NULL default '';\n" : '';
$sql .= !$guintokenexisted ? "ALTER TABLE ".DB::table('common_connect_guest')." ADD COLUMN conuintoken char(32) NOT NULL DEFAULT '';\n" : '';
if($sql) {
runquery($sql);
}
$connect = C::t('common_setting')->fetch('connect', true);
if (!array_key_exists('reply', $connect['t'])) {
$connect['t']['reply'] = 1;
}
if (!array_key_exists('reply_showauthor', $connect['t'])) {
$connect['t']['reply_showauthor'] = 1;
}
$needCreateGroup = false;
if ($connect['guest_groupid']) {
$group = C::t('common_usergroup')->fetch($connect['guest_groupid']);
if (!$group) {
$needCreateGroup = true;
}
} else {
$needCreateGroup = true;
}
$newConnect = array();
include DISCUZ_ROOT . 'source/language/lang_admincp_cloud.php';
$name = $extend_lang['connect_guest_group_name'];
if ($needCreateGroup) {
$userGroupData = array(
'type' => 'special',
'grouptitle' => $name,
'allowvisit' => 1,
'color' => '',
'stars' => '',
);
$newGroupId = C::t('common_usergroup')->insert($userGroupData, true);
$dataField = array(
'groupid' => $newGroupId,
'allowsearch' => 2,
'readaccess' => 1,
'allowgetattach' => 1,
'allowgetimage' => 1,
);
C::t('common_usergroup_field')->insert($dataField);
$newConnect['guest_groupid'] = $newGroupId;
}
$https = json_decode(dfsockopen('https://graph.qq.com/user/get_user_info'));
$newConnect['oauth2'] = $https->ret == -1 ? 1 : 0;
$updateData = array_merge($connect, $newConnect);
C::t('common_setting')->update('connect', serialize($updateData));
updatecache('setting');
$finish = true;