⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logs.php

📁 很不错的php聊天室源码,提供给大家学习
💻 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>&nbsp;</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>&nbsp;";
	else
		echo "第{$i}页&nbsp;";
}
?>
<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 + -