PHPCMS源码浅析 common.inc.php <二>
//以上是检测系统启用了那些模块,根据系统设置情况 进行加载.
if(!isset($forward)) $forward = $PHP_REFERER;//获得来路
$dosubmit = isset($dosubmit) ? 1 : 0;
//
$channelid = isset($channelid) ? intval($channelid) : 0;
//频道ID,如果有设置,就取设置的值,没有就初始化为0;
$skindir = PHPCMS_PATH.'templates/'.$CONFIG['defaulttemplate'].'/skins/'.$CONFIG['defaultskin'];
//获得皮肤目录
if($PHPCMS['enablegzip'] && function_exists('ob_gzhandler'))
{
($CONFIG['phpcache'] || defined('SHOWJS')) ? ob_start() : ob_start('ob_gzhandler');
}
else
{
$PHPCMS['enablegzip'] = 0;
ob_start();
}
//是否启用压缩传输,
$_userid = 0; //初始化用户ID
$_username = '';//初始化用户名
$_groupid = 3;//初始化用户组
$_arrgroupid = array();////初始化扩展用户组数组为空数组;
$phpcms_auth = getcookie('auth');
//取得索引为auth 的COOKIE值 失败返回FALSE;
if($phpcms_auth)
{
$phpcms_auth_key = md5($PHPCMS['authkey'].$_SERVER['HTTP_USER_AGENT']);
//phpcms认证码
list($_userid, $_password, $_answer) = $phpcms_auth ? explode("\t", phpcms_auth($phpcms_auth, 'DECODE')) : array(0, '', '');
//用解密后的phpcms_auth分别给userid pw answer 赋值,如果$phpcms_auth为 FALSE 则赋值为 0 空 空
$_userid = intval($_userid);
if($_userid < 0) $_userid = 0;
if($_userid) //如果userid TURE
{
$memberinfo = $db->get_one("SELECT username,password,groupid,arrgroupid,email,chargetype,begindate,enddate,money,point,credit,newmessages FROM ".TABLE_MEMBER." WHERE userid=$_userid LIMIT 0,1");
//根据$_userid 查询数据库 取得所属用户的一些基本信息
if($memberinfo && $memberinfo['password'] == $_password)
{
if($memberinfo['groupid'] == 2)//如果用户组为2,既是禁止用户
{
mkcookie('auth', '');
//设置COOKIE
showmessage($LANG['userid_banned_by_administrator']);
//显示错误信息,该用户被禁用
}
@extract($memberinfo, EXTR_PREFIX_ALL, '');
//展开会员信息数组,
unset($memberinfo, $_password, $_answer);
$_arrgroupid = $_arrgroupid ? array_filter(explode(',', $_arrgroupid)) : array();
//取得 扩展会员组ID
}
else
{
mkcookie('auth', '');
}
}
}
unset($db_class, $db_file, $phpcms_auth, $phpcms_auth_key, $memberinfo);
//注销不用的变量
0
顶一下0
踩一下