📄 logs.php
字号:
<?php
session_start();
include "include/query.php";
include "include/functions.php";
timer();
if(!verifyMember(session_id(),$_SESSION["username"]))
{
header("location:notice.php?id=".not_login);
exit;
}
$db = new db_query;
$db->connect();
$totalRecords = $db->result($db->query("select count(*) from `logs` where `type`='{$_GET["type"]}'"),0,"count(*)");
$pagesize = getConfig("log_pagesize");
$totalPages = ceil($totalRecords/$pagesize);
$page = $_GET["page"];
$recordNumber = $totalRecords - (($page-1)*$pagesize);
$startRecord = ($page-1)*$pagesize;
$logResult = $db->query("select * from `logs` where `type`='{$_GET["type"]}' order by `id` desc limit {$startRecord},{$pagesize}");
switch($type)
{
case logtype_manage:
$logStr = "日常管理日志";
if($_SESSION["userrank"]<getConfig("enable_viewlog_manage"))
{
header("location:notice.php?str={$logStr}&id=".viewlog_error);
exit;
}
break;
case logtype_error:
$logStr = "程序出错日志";
if($_SESSION["userrank"]<getConfig("enable_viewlog_error"))
{
header("location:notice.php?str={$logStr}&id=".viewlog_error);
exit;
}
break;
case logtype_grade:
$logStr = "升降级别日志";
if($_SESSION["userrank"]<getConfig("enable_viewlog_grade"))
{
header("location:notice.php?str={$logStr}&id=".viewlog_error);
exit;
}
break;
case logtype_names:
$logStr = "名字属性日志";
if($_SESSION["userrank"]<getConfig("enable_viewlog_name"))
{
header("location:notice.php?str={$logStr}&id=".viewlog_error);
exit;
}
break;
case logtype_login:
$logStr = "登录日志";
if($_SESSION["userrank"]<getConfig("enable_viewlog_login"))
{
header("location:notice.php?str={$logStr}&id=".viewlog_error);
exit;
}
break;
}
?>
<html>
<head>
<title>
<?=getConfig("chatroom_name")?> -- <?=$logStr?>
</title>
<META http-equiv="Content-Type" content="text/html;charset=gb2312">
<style>
body,td
{
font-size:14px;
background-color:#CCCCFF;
}
a
{
color:blue;
text-decoration:none;
font-size:14px;
}
a:hover
{
color:red;
text-decoration:underline;
font-size:14px;
}
</style>
<script language=javascript>
var gradeForm = "";
var gradeTo = "";
var kickStr = "<?=addslashes(getConfig("message_kick"))?>";
var bombStr = "<?=addslashes(getConfig("message_bomb"))?>";
var lockStr = "<?=addslashes(getConfig("message_lock"))?>";
var unlockStr = "<?=addslashes(getConfig("message_unlock"))?>";
var warnStr = "<?=addslashes(getConfig("message_warn"))?>";
var warnoutStr = "<?=addslashes(getConfig("message_warning_out"))?>";
var forbidStr = "{##}禁用 用户名{%%}...";
var unforbidStr = "{##}启用 用户名{%%}...";
var upgradeStr = "{##}启用 用户名{%%}的自动升级权限...";
var unupgradeStr = "{##}禁止 用户名{%%}的自动升级权限...";
var protecStr = "{##}设置 {%%}为系统保护用户名...";
var unprotecStr = "{##}解除 {%%}的系统保护权限...";
var syslockStr = "{##}封锁IP{%%}...";
function replaceConfig(you,me,str)
{
var me_str = /{##}/g;
var you_str = /{%%}/g;
str = str.replace(you_str," <font color=blue>"+you+"</font> ");
str = str.replace(me_str," <font color=blue>"+me+"</font> ");
return str;
}
function w(id,type,action,user,manager,time,why,tags)
{
var msg = "";
if(action==2)
{
msg = kickStr;
}
if(action==3)
{
msg = bombStr;
}
if(action==4)
{
msg = lockStr;
}
if(action==1)
{
msg = warnStr;
}
if(action==5)
{
arrtags = tags.split(",");
gradeFrom = arrtags[0];
gradeTo = arrtags[1];
var gradeStr = "{##}调整{%%}的级别 <font color='blue'>"+gradeFrom+"</font>--><font color='blue'>"+gradeTo+"</font>级。";
msg = gradeStr;
}
if(action==15)
{
msg = warnoutStr;
}
var because = "<br><font color='green'>【原因:"+why+"】</font>";
if(action==15)
{
because = "";
}
if(action==11)
{
msg = unforbidStr;
}
if(action==12)
{
msg = forbidStr;
}
if(action==13)
{
msg = unlockStr;
}
if(action==17)
{
msg = unupgradeStr;
}
if(action==16)
{
msg = upgradeStr;
}
if(action==18)
{
msg = protecStr;
}
if(action==19)
{
msg = unprotecStr;
}
if(action==30)
{
msg = syslockStr;
}
var str = "<tr>";
str += "<td>第 <font color='blue'> "+id+" </font>条 "+time+"<br>"+replaceConfig(user,manager,msg)+because+"<br><br></td>";
str += "</tr>";
if(action==40)
{
msg = user.fontcolor("blue")+"<font color='gray' style='font-size:12px'>("+manager+")</font> 登录了聊天室";
because = "";
str = "<tr>";
str += "<td>第 <font color='blue'> "+id+" </font>条 "+time+"<br>"+msg+"<br><br></td>";
str += "</tr>";
}
if(action==31)
{
var theID = tags.split("\t")[1];
var subject = tags.split("\t")[0];
var str = "<tr>";
str += "<td>第 <font color='blue'> "+id+" </font>条 "+time+"<br>"+manager.fontcolor("blue")+" 删除ID为 "+theID.fontcolor("blue")+" 聊友 "+user.fontcolor("blue")+" 写给 "+why.fontcolor("blue")+" 主题为 "+subject.fontcolor("blue")+" 的留言。<br><br></td>";
str += "</tr>";
}
if(action==6)
{
//聊天室程序错误日志
var arrWhy = why.split("\t");
str = "<tr>";
str += "<td align='center'>";
str +="<table width=550 cellspacing=1 cellpadding=3 bgcolor='black'>";
str += "<tr>";
str += "<Td colspan=2 style=\"background-color:'#6699ff'\">第 <font color='blue'> "+id+" </font>条 "+time+"<br></td>";
str += "</tr><tr>";
str += "<td width=200 style=\"background-color:'buttonface'\" align='center'>名称(变量名)</td>";
str += "<td width=350 style=\"background-color:'buttonface'\" align='center'>数据值</td></tr>";
str += "<tr><td>用户名(username)</td><td>"+arrWhy[4]+"</td></tr>";
str += "<tr><td>行数(sLine)</td><td>"+arrWhy[1] + "</td></tr>";
str += "<tr><td>网址(sUrl)</td><td>"+arrWhy[2] +"</td></tr>";
str += "<tr><td>原因(sMsg)</td><td>" +arrWhy[0] +"</td></tr>";
str += "<tr><td>信息次数(getMessageNumber)</td><td>" +arrWhy[3] +"</td></tr>";
str += "<tr><td>用户级别(userrank)</td><td>" +arrWhy[5] +"</td></tr>";
str += "<tr><td>聊天室名(chatroom_name)</td><td>" + arrWhy[6] +"</td></tr>";
str += "<tr><td>房间名字(chatroom_roomname)</td><td>" + arrWhy[7] +"</td></tr>";
str += "<tr><td>最后信息(lastContent)</td><td>"+tags+"</td></tr>";
str += "</table>";
str += "</td></tr>";
str += "<tr><td> </td></tr>";
}
document.write(str);
}
</script>
</head>
<body bgcolor="<?=getConfig("page_bgcolor")?>">
<table width=550 align="center">
<caption><FONT size=5><b>查看<?=$logStr?></b></font><br>
<a href="logs.php?type=1&page=1">日常管理日志</a> <a href="logs.php?type=2&page=1">程序错误日志</a> <a href="logs.php?type=3&page=1">级别调整日志</a> <a href="logs.php?type=4&page=1">名字属性日志</a> <a href="logs.php?type=5&page=1">用户登录日志</a>
<hr></caption><br>
<tr>
<td>
此类记录共有<font color="blue"><?=$totalRecords?></font>条,分<font color="blue"><?=$totalPages?></font>页,每页<font color="blue"><?=$pagesize?></font>条,当前第<font color="blue"><?=$page?></font>页。<br>
<?php
for($i=1;$i<=$totalPages;$i++)
{
if($i!=$page)
echo "<a href='logs.php?type={$_GET["type"]}&page={$i}'>第{$i}页</a> ";
else
echo "第{$i}页 ";
}
?>
<hr>
</td>
</tr>
<Script language=javascript>
<?php
$enable_view_loginip = getConfig("enable_view_loginip");
while($logRow = $db->fetchArray($logResult))
{
if($logRow["action"]==40)
{
if(!($_SESSION["userrank"]>=$enable_view_loginip))
{
$logRow["manager"] = "IP无权查看";
}
}
echo "w('{$recordNumber}','{$logRow["type"]}','{$logRow["action"]}','{$logRow["user"]}','{$logRow["manager"]}','{$logRow["time"]}','".addslashes(htmlspecialchars($logRow["why"]))."','".addslashes(htmlspecialchars($logRow["tags"]))."');\n";
$recordNumber --;
}
?>
</script>
</table>
<hr>
<?php
include("include/copyrights.php");
?>
</body>
</html>
<?php
$db->close();
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -