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核心函数库function_core的函数注释
中的类库文件,其中的 `class` 表示类,而 `cls_discuz` 可能是 "Discuz!" 的简写,用于组织和封装特定功能的代码。 在标签部分为空,这意味着没有提供额外的分类信息,所以我们需要依赖标题和描述来理解文件内容...
NT2.5数据库和类库说明文档》是针对Discuz!NT2.5这个开源社区软件的重要技术参考资料。Discuz!NT是一款基于.NET框架开发的论坛系统,深受许多网站管理员喜爱,用于搭建互动性强的社区平台。本文将深入探讨其数据库...
针对PHP初学者,在入口文件class_core.php后的核心文件discuz_application.php解析,
本文将从核心功能、系统架构、安全性和用户体验四个方面深入探讨Discuz! X3.3 SC_UTF8的核心知识点。 首先,核心功能方面,Discuz! X3.3 SC_UTF8强化了社区互动体验。它拥有强大的论坛模块,支持主题分类、帖子回复...
"Discuz_X3.5_SC_UTF8.zip" 是一个压缩包文件,其中包含了 Discuz! X3.5 版本的简体中文 UTF-8 编码版本。Discuz! 是一个非常流行的开源社区论坛软件,它允许用户创建和管理自己的在线论坛。此版本为 X3.5,意味着它...
《搭建Discuz X2.5 SC UTF8论坛的详尽指南》 Discuz! X2.5 SC UTF8是一款由Comsenz公司开发的社区论坛软件,它以其强大的功能、丰富的扩展性和良好的用户体验,深受广大网站管理员的喜爱。该版本是Discuz! X2系列的...
《深入解析Discuz! X3.4 SC_UTF8:20200818官方版本》 Discuz! X3.4 SC_UTF8【20200818】是一个深受用户喜爱的社区论坛系统,其核心在于提供稳定且功能丰富的交互平台。这个版本在2020年8月18日发布,基于UTF-8编码...
这个版本是 Discuz! 系列产品的一个重要里程碑,它提供了丰富的社区交流功能和优化的用户体验。 【描述】"Discuz论坛,大家可以下载玩玩,不过是要赋予在PHP环境里,慎用" 提示我们,Discuz! 是一个基于服务器端...
Discuz_X3.2_SC_UTF8.zip,安装包。
Discuz!_SC_UTF8是一款基于PHP和MySQL的开源、免费的动态论坛系统,它以其高效、稳定和功能丰富的特点,在国内互联网上广泛应用于各类网站,尤其在中小型企业及个人站点中占据了重要的地位。该系统支持UTF-8编码,...
《深入解析Discuz! X1.5 SC_GBK:打造高效社区论坛》 Discuz! X1.5 是一款基于PHP和MySQL构建的开源社区论坛软件,由Comsenz公司开发,广泛应用于各类网站,尤其是中文社区。"SC_GBK"则代表该版本支持GBK编码,适用...
《深入解析Discuz! X3.2 SC.UTF8:构建高效社区论坛的基石》 Discuz! 是一款深受广大网站管理员喜爱的开源社区论坛软件,它以其强大的功能、易用性和高度可定制性赢得了广大用户的青睐。本次我们将聚焦于Discuz! ...
《Discuz! X2 SC_UTF8:构建社区论坛的关键组件》 Discuz! X2 SC_UTF8 是一款基于PHP和MySQL的开源社区论坛软件,它以其强大的功能、易用性和可扩展性在中国互联网环境中广受欢迎。这个软件版本是针对简体中文用户...
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。...【项目质量】:所有源码都经过严格测试,可以直接...
《全面解析:基于LNMP架构搭建Discuz! X3.1论坛》 Discuz! X3.1是一款深受用户喜爱的社区论坛软件,以其强大的功能、丰富的插件和易用性,广泛应用于各类网站。本篇文章将深入探讨如何在Linux(Nginx+MySQL+PHP)...