index.php
来自「极限网络智能办公系统 Office Automation V3.0官方100%源」· PHP 代码 · 共 350 行
PHP
350 行
<?php
$ID_OR_NAME = 1; // 1 用户名,2 真实姓名, 3 别名(如果使用别名,要求所有用户必须设置别名,需谨慎使用)
/*
[Discuz!] (C)2001-2006 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$RCSfile: index.php,v $
$Revision: 1.44.2.2 $
$Date: 2007/02/12 16:37:28 $
*/
define('CURSCRIPT', 'index');
require_once './include/common.inc.php';
require_once DISCUZ_ROOT.'./include/forum.func.php';
///------- oa ------------
require_once 'inc/oa_config.php';
session_start();
ob_start();
if($ID_OR_NAME==1)
$bbs_user = $LOGIN_USER_ID;
else if($ID_OR_NAME==2)
{
if($LOGIN_USER_NAME!="")
$bbs_user = $LOGIN_USER_NAME;
else
{
$query = $db->query("select * from $MYSQL_DB.USER where USER_ID='$LOGIN_USER_ID'");
$ROW = $db->fetch_array($query);
$bbs_user = $ROW["USER_NAME"];
}
}
else if($ID_OR_NAME==3)
{
if($LOGIN_BYNAME!="")
$bbs_user = $LOGIN_BYNAME;
else
{
$query = $db->query("select * from $MYSQL_DB.USER where USER_ID='$LOGIN_USER_ID'");
$ROW = $db->fetch_array($query);
$bbs_user = $ROW["BYNAME"];
}
}
else
exit;
if($bbs_user!="" && (empty($discuz_user)||$discuz_user!=$bbs_user))
{
$query = $db->query("select * from {$tablepre}members where username='$bbs_user'");
if($db->num_rows($query) <= 0)
{
$query = $db->query("select * from $MYSQL_DB.USER where USER_ID='$LOGIN_USER_ID'");
$ROW = $db->fetch_array($query);
if($ROW["USER_ID"])
{
$db->query("INSERT INTO {$tablepre}members (username, password, secques, gender, adminid, groupid, groupexpiry, extgroupids, regip, regdate, lastip, lastvisit, lastactivity, lastpost, posts, digestposts, oltime, pageviews, credits, extcredits1, extcredits2, extcredits3, extcredits4, extcredits5, extcredits6, extcredits7, extcredits8, email, bday, sigstatus, tpp, ppp, styleid, dateformat, timeformat, pmsound, showemail, newsletter, invisible, timeoffset, newpm, accessmasks) VALUES ('$bbs_user', '".md5($bbs_user)."', '', 0, 0, 10, 0, '', '".$REMOTE_ADDR."', ".time().", '', ".strtotime($ROW["LAST_VISIT_TIME"]).", ".time().", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '".$ROW["EMAIL"]."', '".$ROW["BIRTHDAY"]."', 0, 0, 0, 0, '', 0, 1, 0, 1, 0, '9999', 0, 0);");
$db->query("INSERT INTO {$tablepre}memberfields (uid) VALUES (".mysql_insert_id().");");
require_once DISCUZ_ROOT.'./include/cache.func.php';
$_DCACHE['settings']['totalmembers']++;
$_DCACHE['settings']['lastmember'] = $bbs_user;
updatesettings();
}
}
$field="username";
$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.styleid AS styleidmem, m.lastvisit, m.lastpost, u.allowinvisible
FROM {$tablepre}members m LEFT JOIN {$tablepre}usergroups u USING (groupid)
WHERE m.$field='$bbs_user'");
//echo $query;exit;
$member = $db->fetch_array($query);
if($member['discuz_uid'])
{
if($member['discuz_secques'] == $secques)
{
extract($member);
$discuz_userss = $discuz_user;
$discuz_user = addslashes($discuz_user);
if(($allowinvisible && $loginmode == 'invisible') || $loginmode == 'normal') {
$db->query("UPDATE {$tablepre}members SET invisible='".($loginmode == 'invisible' ? 1 : 0)."' WHERE uid='$member[discuz_uid]'", 'UNBUFFERED');
}
$styleid = intval(empty($_POST['styleid']) ? ($styleidmem ? $styleidmem :
$_DCACHE['settings']['styleid']) : $_POST['styleid']);
$cookietime = intval(isset($_POST['cookietime']) ? $_POST['cookietime'] :
($_DCOOKIE['cookietime'] ? $_DCOOKIE['cookietime'] : 0));
dsetcookie('cookietime', $cookietime, 31536000);
dsetcookie('auth', authcode("$discuz_pw\t$discuz_secques\t$discuz_uid", 'ENCODE'), $cookietime);
$sessionexists = 0;
}
showmessage('login_succeed', "index.php");
}
else//INSERT INTO cdb_members (username, password, secques, gender, adminid, groupid, groupexpiry, extgroupids, regip, regdate, lastip, lastvisit, lastactivity, lastpost, posts, digestposts, oltime, pageviews, credits, extcredits1, extcredits2, extcredits3, extcredits4, extcredits5, extcredits6, extcredits7, extcredits8, avatarshowid, email, bday, sigstatus, tpp, ppp, styleid, dateformat, timeformat, pmsound, showemail, newsletter, invisible, timeoffset, newpm, accessmasks) VALUES ('$USER_NAME', '$PWD', '', 0, 0, 10, 0, '', '', strtotime($REG_DATE), '', strtotime($LAST_VISIT_DATE), time(), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '$EMAIL', '0000-00-00', 0, 0, 0, 0, '', 0, 1, 0, 1, 0, '9999', 0, 0);
echo "用户名或密码错误,登录失败!";
exit;
}
///------- oa ------------
$discuz_action = 1;
if($cacheindexlife && !$discuz_uid && $showoldetails != 'yes' && (!$_DCACHE['settings']['frameon'] || $_DCACHE['settings']['frameon'] && $_GET['frameon'] != 'yes')) {
$indexcache = getcacheinfo(0);
if($timestamp - $indexcache['filemtime'] > $cacheindexlife) {
@unlink($indexcache['filename']);
define('CACHE_FILE', $indexcache['filename']);
} elseif($indexcache['filename']) {
@readfile($indexcache['filename']);
die('<script type="text/javascript">document.getElementById("debuginfo").innerHTML = " '.($debug ? 'Update at '.gmdate("H:i:s", $indexcache['filemtime'] + 3600 * 8).', Processed in '.$debuginfo['time'].' second(s), '.$debuginfo['queries'].' Queries'.($gzipcompress ? ', Gzip enabled' : '') : '').'";</script>');
}
}
$validdays = $discuz_uid && !empty($groupexpiry) && $groupexpiry >= $timestamp ? ceil(($groupexpiry - $timestamp) / 86400) : 0;
if(isset($showoldetails)) {
switch($showoldetails) {
case 'no': dsetcookie('onlineindex', 0, 86400 * 365); break;
case 'yes': dsetcookie('onlineindex', 1, 86400 * 365); break;
}
} else {
$showoldetails = false;
}
$currenttime = gmdate($timeformat, $timestamp + $timeoffset * 3600);
$lastvisittime = gmdate("$dateformat $timeformat", $lastvisit + $timeoffset * 3600);
$memberenc = rawurlencode($lastmember);
$newthreads = round(($timestamp - $lastvisit + 600) / 1000) * 1000;
$navigation = $navtitle = '';
$rssstatus && $rsshead = '<link rel="alternate" type="application/rss+xml" title="'.$bbname.'" href="'.$boardurl.'rss.php?auth='.$rssauth.'">';
$searchboxstatus = substr(sprintf('%03b', $qihoo_searchbox), -1, 1);
$keywordlist = isset($qihoo_links['keywords']) ? $qihoo_links['keywords'] : '';
$topiclist = isset($qihoo_links['topics']) ? $qihoo_links['topics'] : '';
if($qihoo_maxtopics) {
$customtopics = '';
foreach(explode("\t", isset($_DCOOKIE['customkw']) ? $_DCOOKIE['customkw'] : '') as $topic) {
$topic = dhtmlspecialchars(trim(stripslashes($topic)));
$customtopics .= '<a href="topic.php?keyword='.rawurlencode($topic).'" target="_blank">'.$topic.'</a> ';
}
}
$catlist = $forumlist = $sublist = $pmlist = array();
$threads = $posts = $todayposts = $fids = $announcepm = 0;
$gid = !empty($gid) ? intval($gid) : 0;
if(!$gid) {
$announcements = $space = '';
if($_DCACHE['announcements']) {
$readapmids = !empty($_DCOOKIE['readapmid']) ? explode('D', $_DCOOKIE['readapmid']) : array();
foreach($_DCACHE['announcements'] as $announcement) {
if(empty($announcement['groups']) || in_array($groupid, $announcement['groups'])) {
if(empty($announcement['type'])) {
$announcements .= $space.'<a href="announcement.php?id='.$announcement['id'].'#'.$announcement['id'].'"><span class="bold">'.$announcement['subject'].'</span> '.
'('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</a>';
} elseif($announcement['type'] == 1) {
$announcements .= $space.'<a href="'.$announcement['message'].'" target="_blank"><span class="bold">'.$announcement['subject'].'</span> '.
'('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</a>';
} elseif($discuz_uid && $announcement['type'] == 2 && !in_array($announcement['id'], $readapmids)) {
$announcement['announce'] = TRUE;
$pmlist[] = $announcement;
$announcepm++;
}
$space = ' ';
}
}
}
unset($_DCACHE['announcements']);
$threads = $posts = $todayposts = 0;
$sql = !empty($accessmasks) ?
"SELECT f.fid, f.fup, f.type, f.name, f.threads, f.posts, f.todayposts, f.lastpost, f.inheritedmod, f.forumcolumns, ff.description, ff.moderators, ff.icon, ff.viewperm, a.allowview FROM {$tablepre}forums f
LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid
LEFT JOIN {$tablepre}access a ON a.uid='$discuz_uid' AND a.fid=f.fid
WHERE f.status>0 ORDER BY f.type, f.displayorder"
: "SELECT f.fid, f.fup, f.type, f.name, f.threads, f.posts, f.todayposts, f.lastpost, f.inheritedmod, f.forumcolumns, ff.description, ff.moderators, ff.icon, ff.viewperm FROM {$tablepre}forums f
LEFT JOIN {$tablepre}forumfields ff USING(fid)
WHERE f.status>0 ORDER BY f.type, f.displayorder";
$query = $db->query($sql);
while($forum = $db->fetch_array($query)) {
$forumname[$forum['fid']] = strip_tags($forum['name']);
if($forum['type'] != 'group') {
$threads += $forum['threads'];
$posts += $forum['posts'];
$todayposts += $forum['todayposts'];
if($forum['type'] == 'forum') {
if(forum($forum)) {
$catlist[$forum['fup']]['forums'][] = $forum['fid'];
$forum['orderid'] = $catlist[$forum['fup']]['forumscount']++;
$forum['subforums'] = '';
$forumlist[$forum['fid']] = $forum;
}
} elseif(isset($forumlist[$forum['fup']])) {
$forumlist[$forum['fup']]['threads'] += $forum['threads'];
$forumlist[$forum['fup']]['posts'] += $forum['posts'];
$forumlist[$forum['fup']]['todayposts'] += $forum['todayposts'];
if($subforumsindex && $forumlist[$forum['fup']]['permission'] == 2) {
$forumlist[$forum['fup']]['subforums'] .= '<a href="forumdisplay.php?fid='.$forum['fid'].'"><u>'.$forum['name'].'</u></a> ';
}
}
} else {
if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], 'category_'.$forum['fid'].' ') === FALSE) {
$forum['collapseimg'] = 'collapsed_no.gif';
$collapse['category_'.$forum['fid']] = '';
} else {
$forum['collapseimg'] = 'collapsed_yes.gif';
$collapse['category_'.$forum['fid']] = 'display: none';
}
if($forum['moderators']) {
$forum['moderators'] = moddisplay($forum['moderators'], 'flat');
}
$forum['forumscount'] = 0;
$catlist[$forum['fid']] = $forum;
}
}
foreach($catlist as $catid => $category) {
if($catlist[$catid]['forumscount'] && $category['forumcolumns']) {
$catlist[$catid]['forumcolwidth'] = floor(100 / $category['forumcolumns']).'%';
$catlist[$catid]['endrows'] = '';
if($colspan = $category['forumscount'] % $category['forumcolumns']) {
while(($category['forumcolumns'] - $colspan) > 0) {
$catlist[$catid]['endrows'] .= '<td class="altbg2"></td>';
$colspan ++;
}
$catlist[$catid]['endrows'] .= '</tr>';
}
} elseif(empty($category['forumscount'])) {
unset($catlist[$catid]);
}
}
if(isset($catlist[0]) && $catlist[0]['forumscount']) {
$catlist[0]['fid'] = 0;
$catlist[0]['type'] = 'group';
$catlist[0]['name'] = $bbname;
$catlist[0]['collapseimg'] = 'collapsed_no.gif';
} else {
unset($catlist[0]);
}
foreach(array('forumlinks', 'birthdays', 'supe_updateusers') as $key) {
if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], $key.' ') === FALSE) {
$collapseimg[$key] = 'collapsed_no.gif';
$collapse[$key] = '';
} else {
$collapseimg[$key] = 'collapsed_yes.gif';
$collapse[$key] = 'display: none';
}
}
if($whosonlinestatus == 1 || $whosonlinestatus == 3) {
$whosonlinestatus = 1;
$onlineinfo = explode("\t", $onlinerecord);
if(empty($_DCOOKIE['onlineusernum'])) {
$onlinenum = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions"), 0);
if($onlinenum > $onlineinfo[0]) {
$_DCACHE['settings']['onlinerecord'] = $onlinerecord = "$onlinenum\t$timestamp";
$db->query("UPDATE {$tablepre}settings SET value='$onlinerecord' WHERE variable='onlinerecord'");
require_once DISCUZ_ROOT.'./include/cache.func.php';
updatesettings();
$onlineinfo = array($onlinenum, $timestamp);
}
dsetcookie('onlineusernum', intval($onlinenum), 300);
} else {
$onlinenum = intval($_DCOOKIE['onlineusernum']);
}
$onlineinfo[1] = gmdate($dateformat, $onlineinfo[1] + ($timeoffset * 3600));
$detailstatus = $showoldetails == 'yes' || (((!isset($_DCOOKIE['onlineindex']) && !$whosonline_contract) || $_DCOOKIE['onlineindex']) && $onlinenum < 500 && !$showoldetails);
if($detailstatus) {
@include language('actions');
$discuz_uid && updatesession();
$membercount = $invisiblecount = 0;
$whosonline = array();
$maxonlinelist = $maxonlinelist ? $maxonlinelist : 500;
$query = $db->query("SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM {$tablepre}sessions ".(isset($_DCACHE['onlinelist'][7]) ? '' : 'WHERE uid <> 0')." ORDER BY uid DESC LIMIT ".$maxonlinelist);
while($online = $db->fetch_array($query)) {
if($online['uid']) {
$membercount ++;
if($online['invisible']) {
$invisiblecount++;
continue;
} else {
$online['icon'] = isset($_DCACHE['onlinelist'][$online['groupid']]) ? $_DCACHE['onlinelist'][$online['groupid']] : $_DCACHE['onlinelist'][0];
}
} else {
$online['icon'] = $_DCACHE['onlinelist'][7];
$online['username'] = 'Guest';
}
$online['fid'] = $online['fid'] ? $forumname[$online['fid']] : 0;
$online['action'] = $actioncode[$online['action']];
$online['lastactivity'] = gmdate($timeformat, $online['lastactivity'] + ($timeoffset * 3600));
$whosonline[] = $online;
}
if($onlinenum > $maxonlinelist) {
$membercount = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions WHERE uid <> '0'"), 0);
$invisiblecount = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions WHERE invisible = '1'"), 0);
}
$guestcount = $onlinenum - $membercount;
$db->free_result($query);
unset($online);
}
} else {
$whosonlinestatus = 0;
}
if($discuz_uid && $newpm) {
require_once DISCUZ_ROOT.'./include/pmprompt.inc.php';
}
} else {
require_once DISCUZ_ROOT.'./include/category.inc.php';
}
include template('discuz');
?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?