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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249 |
class discuz_core { // 数据库存储引擎 var
$db = null; // 内存缓冲object var
$mem = null; // 会话 object var
$session = null; // 程序配置 var
$config = array (); // $_G 数组的映射 var
$var = array (); // 加载缓存的数组 var
$cachelist = array (); // 是否初始化 var
$init_setting = true; var
$init_user = true; var
$init_session = true; var
$init_cron = true; var
$init_misc = true; var
$init_memory = true; var
$init_mobile = true; // 是否已经初始化 var
$initated = false; // 列举全局变量,为清理做准备 var
$superglobal = array ( ‘GLOBALS‘
=> 1, ‘_GET‘
=> 1, ‘_POST‘
=> 1, ‘_REQUEST‘
=> 1, ‘_COOKIE‘
=> 1, ‘_SERVER‘
=> 1, ‘_ENV‘
=> 1, ‘_FILES‘
=> 1, ); /** * 建立唯一进程 * @staticvar discuz_core $object * @return discuz_core */ function
&instance() { ...... } /** * 预处理的调用 */ function
discuz_core() { $this ->_init_env(); $this ->_init_config(); $this ->_init_input(); $this ->_init_output(); } /** * 核心初始化 */ function
init() { if (! $this ->initated) { $this ->_init_db(); $this ->_init_memory(); $this ->_init_user(); $this ->_init_session(); $this ->_init_setting(); $this ->_init_mobile(); $this ->_init_cron(); $this ->_init_misc(); } $this ->initated = true; } /** * 定义PHP环境信息常量和全局变量 $_G * */ function
_init_env() { ...... } /** * 禁止对全局变量注入 * slashes 处理 * cookie 处理(去掉cookie前缀) * 将 $_GET 与 $_POST 合并 * */ function
_init_input() { ...... } /** * 加载配置文件 * */ function
_init_config() { ...... } /** * 输出处理 * GET 参数跨站检测 * 防页面刷新 * gzip处理 * 字符集处理 * */ function
_init_output() { ...... } /** * 禁止机器人访问 * */ function
reject_robot() { ...... } /** * GET 参数跨站检测 * * 2011-3-8 增加对 CONTENT-TRANSFER-ENCODING 代码的检测 (IE MHTML 漏洞) */ function
_xss_check() { ...... } /** * 获取客户端IP * */ function
_get_client_ip() { ...... } /** * 初始化数据库类,同时选择主从数据库 * */ function
_init_db() { ...... } /** * 初始化session * */ function
_init_session() { ...... } /** * 处理当前用户信息 * */ function
_init_user() { ...... } /** * 设置当前用户为游客 * */ function
_init_guest() { ...... } /** * 处理计划任务 * */ function
_init_cron() { ...... } /** * 杂项 * 调入核心语言包 * 处理全局时区设置 * 处理被封禁用户 * 站点开关检查 * 手机端控制每页显示主题数和回帖数 * 判断并执行每日登录奖励积分 * */ function
_init_misc() { ...... } /** * 加载全局设置 setting,风格 style,下一个任务 cronnextrun * */ function
_init_setting() { ...... } /** * 处理当前界面风格 * 定义风格常量 * */ function
_init_style() { ...... } /** * 初始化Discuz 内存读写引擎 * */ function
_init_memory() { ...... } /** * 手机访问时的开关判断,浏览器判断和相关特性 * */ function
_init_mobile() { ...... } /** * 设置时区 * @param $timeoffset - 时区数值 * @return 无 */ function
timezone_set( $timeoffset
= 0) { ...... } /** * 手机转码的$_POST多层数组递归转码 * @param $value - 字符串 * @return 返回转义好的字符串 */ function
mobile_iconv_recurrence( $value ) { ...... } } |
discuz核心类库class_core的函数注释,布布扣,bubuko.com
原文:http://www.cnblogs.com/coolid/p/3624110.html