upgrade.php
3.59 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
<?php
/**
* [Discuz!] (C)2001-2099 Comsenz Inc.
* This is NOT a freeware, use is subject to license terms
*
* $Id: install.php 27070 2012-01-04 05:55:20Z songlixin $
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
$field = C::t('#security#security_failedlog')->fetch_all_field();
$table = DB::table('security_failedlog');
$sql = '';
if (!$field['scheduletime']) {
$sql .= "ALTER TABLE $table ADD `scheduletime` INT(10) NOT NULL DEFAULT '0';\n";
}
if (!$field['lastfailtime']) {
$sql .= "ALTER TABLE $table ADD `lastfailtime` INT(10) NOT NULL DEFAULT '0';\n";
}
if (!$field['posttime']) {
$sql .= "ALTER TABLE $table ADD `posttime` INT(10) unsigned NOT NULL DEFAULT '0';\n";
}
if (!$field['delreason']) {
$sql .= "ALTER TABLE $table ADD `delreason` char(255) NOT NULL;\n";
}
if (!$field['extra1']) {
$sql .= "ALTER TABLE $table ADD `extra1` INT(10) unsigned NOT NULL DEFAULT '0';\n";
}
if (!$field['extra2']) {
$sql .= "ALTER TABLE $table ADD `extra2` char(255) NOT NULL;\n";
}
if ($sql) {
runquery($sql);
}
$field = C::t('#security#security_evilpost')->fetch_all_field();
$table = DB::table('security_evilpost');
$sql = '';
if (!$field['censorword']) {
$sql .= "ALTER TABLE $table ADD `censorword` char(50) NOT NULL;\n";
}
if ($sql) {
runquery($sql);
}
$table = DB::table('common_plugin');
include DISCUZ_ROOT . 'source/language/lang_admincp_cloud.php';
$format = "UPDATE $table SET name = '%s' WHERE identifier = 'security'";
$name = $extend_lang['menu_cloud_security'];
$sql = sprintf($format, $name);
runquery($sql);
$cronId_security_daily = $cronId_security_lastpost = 0;
if(file_exists(DISCUZ_ROOT . './source/include/cron/cron_security_cleanup_lastpost.php') || file_exists(DISCUZ_ROOT . './source/include/cron/cron_security_daily.php')) {
$count = C::t('common_cron')->count();
$oldData = C::t('common_cron')->range(0, $count);
foreach ($oldData as $value) {
if ($value['filename'] == 'cron_security_daily.php') {
$cronId_security_daily = $value['cronid'];
}elseif ($value['filename'] == 'cron_security_cleanup_lastpost.php') {
$cronId_security_lastpost = $value['cronid'];
}
}
}
if(file_exists(DISCUZ_ROOT . './source/include/cron/cron_security_cleanup_lastpost.php') && empty($cronId_security_lastpost)) {
$data = array(
'available' => 0,
'type' => 'user',
'name' => $extend_lang['security_cron_lastpost'],
'filename' => 'cron_security_cleanup_lastpost.php',
'weekday' => -1,
'day' => -1,
'hour' => -1,
'minute' => 0,
);
C::t('common_cron')->insert($data, true, false, false);
}
if (file_exists(DISCUZ_ROOT . './source/include/cron/cron_security_daily.php')) {
if (empty($cronId_security_daily)) {
$data = array(
'available' => 1,
'type' => 'user',
'name' => $extend_lang['security_cron_daily'],
'filename' => 'cron_security_daily.php',
'weekday' => -1,
'day' => -1,
'hour' => 2,
'minute' => 0,
);
$cronId_security_daily = C::t('common_cron')->insert($data, true, false, false);
} else {
C::t('common_cron')->update($cronId_security_daily, array(
'name' => $extend_lang['security_cron_daily'],
'available' => 1,
'weekday' => -1,
'day' => -1,
'hour' => 2,
'minute' => 0,
));
}
updatecache('setting');
discuz_cron::run($cronId_security_daily);
}
if(!C::t('common_setting')->skey_exists('security_safelogin')) {
C::t('common_setting')->update('security_safelogin', 1);
updatecache('setting');
}
$cloudClient = & Cloud::loadClass('Service_Client_Cloud', array(true));
$cloudClient->sync();
$finish = true;