文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>common.inc.php注释说明参考

common.inc.php注释说明参考

时间:2008-01-18  来源:alexru

$val) {
        if(substr($key, 0, $prelength) == $tablepre) {
                $_DCOOKIE[(substr($key, $prelength))] = daddslashes($val);
        }
}
unset($prelength);
$cachelost = (@include DISCUZ_ROOT.'./forumdata/cache/cache_settings.php') ? '' : 'settings';
@extract($_DCACHE['settings']);
if($gzipcompress && function_exists('ob_gzhandler') && CURSCRIPT != 'wap') {
        ob_start('ob_gzhandler');
} else {
        $gzipcompress = 0;
        ob_start();
}
$jsmenu = array();
$jsmenustatus = sprintf('%b', $jsmenustatus);
for($i = 1; $i  $loadctrl) {
                        header("HTTP/1.0 503 Service Unavailable");
                        include DISCUZ_ROOT.'./include/serverbusy.htm';
                        exit();
                }
        }
}
if(defined('CURSCRIPT') && in_array(CURSCRIPT, array('index', 'forumdisplay', 'viewthread', 'post', 'blog', 'pm'))) {
        $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/cache_'.CURSCRIPT.'.php') ? '' : ' '.CURSCRIPT;
}
$db = new dbstuff; //访问数据库操作类
$db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect); //连接数据库
unset($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
//设置SID号
$sid = daddslashes(($transsidstatus || (defined('CURSCRIPT') && CURSCRIPT == 'wap'))&& (isset($_GET['sid']) || isset($_POST['sid'])) ?
        (isset($_GET['sid']) ? $_GET['sid'] : $_POST['sid']) :
        (isset($_DCOOKIE['sid']) ? $_DCOOKIE['sid'] : ''));
$discuz_auth_key = md5($_DCACHE['settings']['authkey'].$_SERVER['HTTP_USER_AGENT']);//用户加密关键字
list($discuz_pw, $discuz_secques, $discuz_uid) = isset($_DCOOKIE['auth']) ? explode("\t", authcode($_DCOOKIE['auth'], 'DECODE')) : array('', '', 0);
$discuz_pw = addslashes($discuz_pw);
$discuz_secques = addslashes($discuz_secques);
$discuz_uid = intval($discuz_uid);
if(isset($_DCOOKIE['auth']) && !$discuz_uid) {
        clearcookies();
}
$newpm = $newpmexists = $sessionexists = $seccode = $bloguid = 0;
//用户检查,包括权限用户组,用户资料
if($sid) {
        if($discuz_uid) {
                $query = $db->query("SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, s.pageviews AS spageviews, s.lastolupdate, s.seccode, m.uid AS discuz_uid,
                        m.username AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques, m.adminid, m.groupid, m.groupexpiry,
                        m.extgroupids, m.email, m.timeoffset, m.tpp, m.ppp, m.posts, m.digestposts, m.oltime, m.pageviews, m.credits, m.extcredits1, m.extcredits2, m.extcredits3,
                        m.extcredits4, m.extcredits5, m.extcredits6, m.extcredits7, m.extcredits8, m.timeformat, m.dateformat, m.pmsound,
                        m.sigstatus, m.invisible, m.lastvisit, m.lastactivity, m.lastpost, m.newpm, m.accessmasks,m.xspacestatus, m.editormode, m.customshow
                        FROM {$tablepre}sessions s, {$tablepre}members m
                        WHERE m.uid=s.uid AND s.sid='$sid' AND CONCAT_WS('.',s.ip1,s.ip2,s.ip3,s.ip4)='$onlineip' AND m.uid='$discuz_uid'
                        AND m.password='$discuz_pw' AND m.secques='$discuz_secques'");
        } else {
                $query = $db->query("SELECT sid, uid AS sessionuid, groupid, groupid='6' AS ipbanned, pageviews AS spageviews, styleid, lastolupdate, seccode
                        FROM {$tablepre}sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'");
        }
        if($_DSESSION = $db->fetch_array($query)) {
                $sessionexists = 1;
                if(!empty($_DSESSION['sessionuid'])) {
                        $query = $db->query("SELECT m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw,
                                m.secques AS discuz_secques, m.adminid, m.groupid, m.groupexpiry, m.extgroupids, m.email, m.timeoffset,
                                m.tpp, m.ppp, m.posts, m.digestposts, m.oltime, m.pageviews, m.credits, m.extcredits1, m.extcredits2, m.extcredits3, m.extcredits4, m.extcredits5,
                                m.extcredits6, m.extcredits7, m.extcredits8, m.timeformat, m.dateformat, m.pmsound, m.sigstatus, m.invisible,
                                m.lastvisit, m.lastactivity, m.lastpost, m.newpm, m.accessmasks,m.xspacestatus, m.editormode, m.customshow
                                FROM {$tablepre}members m WHERE uid='$_DSESSION[sessionuid]'");
                        $_DSESSION = array_merge($_DSESSION, $db->fetch_array($query));
                }
        } else {
                $query = $db->query("SELECT sid, groupid, groupid='6' AS ipbanned, pageviews AS spageviews, styleid, lastolupdate, seccode
                        FROM {$tablepre}sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'");
                if($_DSESSION = $db->fetch_array($query)) {
                        clearcookies();
                        $sessionexists = 1;
                }
        }
}
if(!$sessionexists) {
        if($discuz_uid) {
                $query = $db->query("SELECT uid AS discuz_uid, username AS discuz_user, password AS discuz_pw, secques AS discuz_secques,
                        adminid, groupid, groupexpiry, extgroupids, email, timeoffset, styleid, tpp, ppp, posts, digestposts, oltime, pageviews, credits,
                        extcredits1, extcredits2, extcredits3, extcredits4, extcredits5, extcredits6, extcredits7, extcredits8, timeformat,
                        dateformat, pmsound, sigstatus, invisible, lastvisit, lastactivity, lastpost, newpm, accessmasks, xspacestatus, editormode, customshow
                        FROM {$tablepre}members WHERE uid='$discuz_uid' AND password='$discuz_pw' AND secques='$discuz_secques'");
                if(!($_DSESSION = $db->fetch_array($query))) {
                        clearcookies();
                }
        }
        if(ipbanned($onlineip)) {
                $_DSESSION['ipbanned'] = 1;
        }
        $_DSESSION['sid'] = random(6);
        $_DSESSION['seccode'] = random(4, 1);
}
$_DSESSION['dateformat'] = empty($_DSESSION['dateformat']) ? $_DCACHE['settings']['dateformat'] : $_DSESSION['dateformat'];
$_DSESSION['timeformat'] = empty($_DSESSION['timeformat']) ? $_DCACHE['settings']['timeformat'] : ($_DSESSION['timeformat'] == 1 ? 'h:i A' : 'H:i');
$_DSESSION['timeoffset'] = isset($_DSESSION['timeoffset']) && $_DSESSION['timeoffset'] != 9999 ? $_DSESSION['timeoffset'] : $_DCACHE['settings']['timeoffset'];
@extract($_DSESSION);
$lastvisit = empty($lastvisit) ? $timestamp - 86400 : $lastvisit;
$timenow = array('time' => gmdate("$dateformat $timeformat", $timestamp + 3600 * $timeoffset),
        'offset' => ($timeoffset >= 0 ? ($timeoffset == 0 ? '' : '+'.$timeoffset) : $timeoffset));
if(empty($discuz_uid) || empty($discuz_user)) {
        $discuz_user = $extgroupids = '';
        $discuz_uid = $adminid = $posts = $digestposts = $pageviews = $oltime = $invisible
                = $credits = $extcredits1 = $extcredits2 = $extcredits3 = $extcredits4
                = $extcredits5 = $extcredits6 = $extcredits7 = $extcredits8 = 0;
        $groupid = empty($groupid) || $groupid != 6 ? 7 : 6;
        $avatarshowid = 0;
} else {
        $discuz_userss = $discuz_user;
        $discuz_user = addslashes($discuz_user);
}
define('FORMHASH', formhash()); //设置FORMHASH常量,用于表单的hidde元素
$attachdir = substr($attachdir, 0, 2) == './' ? DISCUZ_ROOT.$attachdir : $attachdir;
$statstatus && require_once DISCUZ_ROOT.'./include/counter.inc.php';
$extra = isset($extra) && preg_match("/^[&=;a-z0-9]+$/i", $extra) ? $extra : '';
$tpp = intval(empty($_DSESSION['tpp']) ? $topicperpage : $_DSESSION['tpp']);
$ppp = intval(empty($_DSESSION['ppp']) ? $postperpage : $_DSESSION['ppp']);
$navtitle = $navigation = $accessadd1 = $accessadd2 = $modadd1 = $modadd2 = '';
// 用户权限
if($discuz_uid) {
        if ($accessmasks) {
                $accessadd1 = ', a.allowview, a.allowpost, a.allowreply, a.allowgetattach, a.allowpostattach';
                $accessadd2 = "LEFT JOIN {$tablepre}access a ON a.uid='$discuz_uid' AND a.fid=f.fid";
        }
        
        if($adminid == 3) {
                $modadd1 = ', m.uid AS ismoderator';
                $modadd2 = "LEFT JOIN {$tablepre}moderators m ON m.uid='$discuz_uid' AND m.fid=f.fid";
        }
}
//用户组
$_DSESSION['groupid'] = $groupid = empty($ipbanned) ? (empty($groupid) ? 7 : intval($groupid)) : 6;
if(!@include DISCUZ_ROOT.'./forumdata/cache/usergroup_'.$groupid.'.php') { //引用usergroup_.$groupid.php文件,该文件缓存了用户组的设置信息,注意不是系统用户组
        $query = $db->query("SELECT type FROM {$tablepre}usergroups WHERE groupid='$groupid'");
        $grouptype = $db->result($query, 0);
        if(!empty($grouptype)) {
                $cachelost .= ' usergroup_'.$groupid;
        } else {
                $grouptype = 'member';
        }
}
//通行证相关,用户登陆、退出、和注册相关
if($passport_status) {
        $passport_forward = rawurlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
        $link_login = $passport_url.$passport_login_url.(strpos($passport_login_url, '?') === FALSE ? '?' : '&').'forward='.$passport_forward;
        $link_logout = $passport_url.$passport_logout_url.(strpos($passport_logout_url, '?') === FALSE ? '?' : '&').'forward='.$passport_forward;
        $link_register = $passport_url.$passport_register_url.(strpos($passport_register_url, '?') === FALSE ? '?' : '&').'forward='.$passport_forward;
} else {
        $link_login = 'logging.php?action=login';
        $link_logout = 'logging.php?action=logout&formhash='.FORMHASH;
        $link_register = 'register.php';
}
if($discuz_uid && $_DSESSION) {
        if(!empty($groupexpiry) && $groupexpiry  $grouptype,
                'creditshigher' => $groupcreditshigher,
                'creditslower' => $groupcreditslower
                ), $_DSESSION)) {
                @extract($_DSESSION);
                $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/usergroup_'.intval($groupid).'.php') ? '' : ' usergroup_'.$groupid;
        }
}
//普通用户的操作权限
if(!in_array($adminid, array(1, 2, 3))) {
        if(!$errorreport) {
                error_reporting(0);
        }
        $alloweditpost = $alloweditpoll = $allowstickthread = $allowmodpost = $allowdelpost = $allowmassprune
                = $allowrefund = $allowcensorword = $allowviewip = $allowbanip = $allowedituser = $allowmoduser
                = $allowbanuser = $allowpostannounce = $allowviewlog = $disablepostctrl = $supe_allowpushthread = 0;
} elseif(isset($radminid) && $adminid != $radminid && $adminid != $groupid) {
        $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/admingroup_'.intval($adminid).'.php') ? '' : ' admingroup_'.$groupid;
}
$forum = array();
$auditstatuson = !empty($mod) && $mod == 'edit' && in_array($adminid, array(1, 2, 3)) && $allowmodpost ? true : false;
if(!empty($tid) || !empty($fid)) {
        if(empty($tid)) {
                $query = $db->query("SELECT f.fid, f.*, ff.* $accessadd1 $modadd1, f.fid AS fid
                        FROM {$tablepre}forums f
                        LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid $accessadd2 $modadd2
                        WHERE f.fid='$fid'");
                $forum = $db->fetch_array($query);
        } else {
                $query = $db->query("SELECT t.tid, t.closed, f.*, ff.* $accessadd1 $modadd1, f.fid AS fid
                        FROM {$tablepre}threads t
                        INNER JOIN {$tablepre}forums f ON f.fid=t.fid
                        LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid $accessadd2 $modadd2
                        WHERE t.tid='$tid'".($auditstatuson ? '' : " AND t.displayorder>='0'")." LIMIT 1");
                $forum = $db->fetch_array($query);
                $tid = $forum['tid'];
        }
        $fid = $forum['fid'];
        $typeid = isset($typeid) ? intval($typeid) : 0;
        $forum['ismoderator'] = !empty($forum['ismoderator']) || $adminid == 1 || $adminid == 2 ? 1 : 0;
        foreach(array('postcredits', 'replycredits', 'threadtypes', 'digestcredits', 'postattachcredits', 'getattachcredits', 'supe_pushsetting') as $key) {
                $forum[$key] = !empty($forum[$key]) ? unserialize($forum[$key]) : array();
        }
} else {
        $fid = $tid = 0;
}
//风格
$styleid = intval(!empty($_GET['styleid']) ? $_GET['styleid'] :
                (!empty($_POST['styleid']) ? $_POST['styleid'] :
                (!empty($_DSESSION['styleid']) ? $_DSESSION['styleid'] :
                $_DCACHE['settings']['styleid'])));
$styleid = intval(isset($stylejump[$styleid]) ? $styleid : $_DCACHE['settings']['styleid']);
if(@!include DISCUZ_ROOT.'./forumdata/cache/style_'.intval(!empty($forum['styleid']) ? $forum['styleid'] : $styleid).'.php') {
        $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/style_'.($styleid = $_DCACHE['settings']['styleid']).'.php') ? '' : ' style_'.$styleid;
}
//缓存文件不存在时
if($cachelost) {
        require_once DISCUZ_ROOT.'./include/cache.func.php';
        updatecache();
        dexit('Cache List: '.$cachelost.'
Caches successfully created, please refresh.');
}
if(!defined('CURSCRIPT') || CURSCRIPT != 'wap') {
        if($nocacheheaders) {
                @header("Expires: 0");
                @header("Cache-Control: private, post-check=0, pre-check=0, max-age=0", FALSE);
                @header("Pragma: no-cache");
        }
        if($headercharset) {
                @header('Content-Type: text/html; charset='.$charset);
        }
        if(empty($_DCOOKIE['sid']) || $sid != $_DCOOKIE['sid']) {
                dsetcookie('sid', $sid, 604800);
        }
}
//计划任务
if($cronnextrun && $cronnextrun = $adminid)) {
                        @include_once DISCUZ_ROOT.'./plugins/'.$include['script'].'.inc.php';
                }
        }
}
//访问控制
if(isset($allowvisit) && $allowvisit == 0 && !(defined('CURSCRIPT') && CURSCRIPT == 'member' && $action == 'groupexpiry')) {
        showmessage('user_banned', NULL, 'HALTED');
} elseif(!((defined('CURSCRIPT') && in_array(CURSCRIPT, array('logging', 'wap', 'seccode'))) || $adminid == 1)) {
        if($bbclosed) { //论坛关闭时
                clearcookies(); //清除cookies
                showmessage($closedreason ? $closedreason : 'board_closed', NULL, 'NOPERM');
        }
        periodscheck('visitbanperiods');
}
//广告
$advarray = $advlist = array();
if($advertisements) {
        require_once DISCUZ_ROOT.'./include/advertisements.inc.php';
}
if((!empty($advertisements['lateststarttime']) && $advertisements['lateststarttime']  //脚本结束













相关阅读 更多 +
排行榜 更多 +
XLM币最具爆发力的安全交易所币安binance下载

XLM币最具爆发力的安全交易所币安binance下载

金融理财 下载
XEM币最安全隐私链的全球交易所币安binance下载

XEM币最安全隐私链的全球交易所币安binance下载

金融理财 下载
WAVES币最新上线的优质交易所币安binance下载

WAVES币最新上线的优质交易所币安binance下载

金融理财 下载