m_comments.asp

来自「是个不错的文件代码,希望大家好好用,」· ASP 代码 · 共 300 行

ASP
300
字号
<!--#include file="inc/inc_sys.asp"-->
<!--#include file="../inc/class_blog.asp"-->
<%
Dim rs, sql
Dim id, cmd, Keyword, sField
Keyword = Trim(Request("keyword"))
If Keyword <> "" Then Keyword = oblog.filt_badstr(Keyword)
sField = Trim(Request("Field"))
cmd = Trim(Request("cmd"))
Action = Trim(Request("Action"))
id = Trim(Request("id"))
If cmd = "" Then
    cmd = 0
Else
    cmd = CLng(cmd)
End If
G_P_FileName = "m_comments.asp?cmd=" & cmd

%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>oBlog--后台管理</title>
<link rel="stylesheet" href="images/style.css" type="text/css" />
<script src="images/menu.js" type="text/javascript"></script>
</head>
<body>
<div id="main_body">
	<ul class="main_top">
		<li class="main_top_left left">评 论 管 理</li>
		<li class="main_top_right right"> </li>
	</ul>
	<div class="main_content_rightbg">
		<div class="main_content_leftbg">
<table width="98%" border="0" align="center" cellpadding="2" cellspacing="1" Class="border">
  <form name="form1" action="m_comments.asp" method="get">
    <tr class="tdbg">
      <td width="100" height="30"><strong>快速查找:</strong></td>
      <td width="687" height="30">
        <select name="Field" id="Field">
            <option value="author">评论人名称</option>
            <option value="ip">评论人ip</option>
            <option value="userid">用户ID</option>
            <option value="topic">评论标题</option>
            <option value="content">评论内容</option>
        </select>
      <input type="hidden" name="cmd" value="2">
      <input name="Keyword" type="text" id="Keyword" size="20" maxlength="30">
      <input type="submit"  value=" 搜索 ">&nbsp;&nbsp;&nbsp;&nbsp;<a href="m_comments.asp">最新评论</a>|&nbsp;&nbsp;&nbsp;&nbsp;<a href="m_comments.asp?cmd=1">待审核评论</a></td>
    </tr>
  </form>
  <form action="m_comments.asp" name="form2" method="get">
  <tr class="tdbg">
      <td width="100"><strong>数据清理:</strong></td>
    <td>
            按IP清理评论&nbsp;
            <input name="ip" type="text" size="20" maxlength="30">
            <input type="checkbox"  name="chkIp" value="1" checked>是否将该IP加入到黑名单
            <input type="hidden" name="action" value="clearip">
          <input type="submit"  value="清理" />
        </td>
  </tr>
</form>
</table>
		</div>
	</div>
	<ul class="main_end">
		<li class="main_end_left left"></li>
		<li class="main_end_right right"></li>
	</ul>
</div>
<%
Select Case Action
	Case "batchopt"
	    Call Optcomment("1")
	Case "clearip"
		Call Optcomment("2")
	Case Else
	    Call main
End Select
If ErrMsg<>"" Then
    Call WriteErrMsg
End If

Sub Main()
    sql = "Select top 500 userid,commenttopic,addtime,commentid,comment_user,addip,comment,iState,mainid From oblog_comment "
    Select Case cmd
        Case 0,""
        	sql= Sql & " Order By commentid desc"
            sGuide = sGuide & "所有评论"
        Case 1
        	sql= Sql & " Where iState=0 Order By commentid desc"
        	sGuide = sGuide & "待审核评论"
        Case 2
            If Keyword = "" Then
            	ErrMsg="错误:关键字不能为空!"
                Exit Sub
            Else
                Select Case sField
	                Case "author"
	                    sql= Sql & " Where comment_user like '%" & Keyword&"%' order by commentid desc"
	                    sGuide = sGuide & "评论者名称中还有含有<font color=red> " & Keyword & " </font>的评论"
	                Case "userid"
	                    sql= Sql & " Where userid =" & Int(Keyword)&" order by commentid desc"
	                    sGuide = sGuide & "被评论者ID为<font color=red> " & Keyword & " </font>接受到的评论"
	                Case "topic"
	                    sql= Sql & " Where commenttopic like '%" & Keyword & "%' order by commentid desc"
	                    sGuide = sGuide & "标题中含有“ <font color=red>" & Keyword & "</font> ”的评论"
	                Case "ip"
	                    Sql= Sql & " Where addip='" & Keyword&"' order by commentid desc"
	                    sGuide = sGuide & "作者ip为<font color=red> " & Keyword & " </font>的评论"
	                Case "content"
	                    sql= Sql & " Where comment like '%" & Keyword&"%' order by commentid desc"
	                    sGuide = sGuide & "评论内容中包含<font color=red> " & Keyword & " </font>的评论"
                End Select
            End If
        Case Else
        	Exit sub
    End Select
    'Response.Write Sql
    Set rs = Server.CreateObject("Adodb.RecordSet")
    rs.Open sql, conn, 1, 1
    Call oblog.MakePageBar(rs, "篇评论")
    rs.Close
    Set rs = Nothing
End Sub
Sub showContent()
    Dim i
    i = 0
%>
<div id="main_body">
	<ul class="main_top">
		<li class="main_top_left left"><%=sGuide%></li>
		<li class="main_top_right right"> </li>
	</ul>
	<div class="main_content_rightbg">
		<div class="main_content_leftbg">
  <form name="myform" id="myform" method="post" action="m_comments.asp" onSubmit="return confirm('确定要执行选定的操作吗?');">
<style type="text/css">
<!--
td {padding:3px 0!important;}
-->
</style>
<table width="100%"  border="0" align="center" cellpadding="3" cellspacing="0" style="word-wrap: break-word; word-break: break-all;">
          <%do while not rs.EOF %>
  <tr>
    <td align="center" style="background:#B3D1EA;border-bottom:1px #000 dotted;" width="30"><input type="checkbox" name="chkOne" id="id" value='<%=rs("commentid")%>'></td>
    <td style="background:#D6EBFF;border-bottom:1px #000 dotted;"><a href="../go.asp?logid=<%=rs("mainid")%>#<%=rs("commentid")%>" target="_blank" style="margin:0 0 0 10px;color:#333;"><%=oblog.filt_html(RemoveHtml(Left(rs("commenttopic"),20)))%></a></td>
    <td style="background:#D6EBFF;border-bottom:1px #000 dotted;color:#666;" width="300">评论时间:<span style="font-family:Century Gothic,verdana,tahoma,Arial,Helvetica,sans-serif;font-size:10px;"><%=rs("addtime")%></span> 评论者IP:<span style="font-family:Century Gothic,verdana,tahoma,Arial,Helvetica,sans-serif;font-size:10px;"><%=rs("addip")%></span></td>
    <td style="background:#D6EBFF;border-bottom:1px #000 dotted;" width="110">目标用户ID:<a href="../go.asp?userid=<%=rs("userid")%>" target="_blank" style="font-family:Century Gothic,verdana,tahoma,Arial,Helvetica,sans-serif;font-size:10px;font-weight:600;"><%=rs("userid")%></a></td>
    <td style="background:#D6EBFF;border-bottom:1px #000 dotted;" width="40">&nbsp;
<%If rs("iState")="1" Then %><span style="font-weight:600;color:#090;">已审</span><%Else%><span style="font-weight:600;color:#f30;">待审</span><%End If%>
</td>
  </tr>
  <tr>
    <td align="center" valign="top"><span style="font-family:Century Gothic,verdana,tahoma,Arial,Helvetica,sans-serif;font-size:10px;font-weight:600;"><%=rs("commentid")%></span></td>
    <td colspan="4" valign="top" style="word-wrap: break-word; word-break: break-all;"><%=Left(RemoveUBB(RemoveHtml(rs("comment"))),100) & "..."%></td>
  </tr>
  <tr>
    <td height="8"></td>
    <td colspan="4"></td>
  </tr>
          <%
            i = i + 1
            If i >= G_P_PerMax Then Exit Do
            rs.MoveNext
        Loop
%>
</table>
 <table width="100%" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#FFFFFF" class="border">
          <tr class="title">
            <td colspan=2 height=25>
                <input type="checkbox" name="chkAll" id="chkAll" onClick="javascript:CheckAll(this.form);">全选
                &nbsp;&nbsp;&nbsp;&nbsp;
                操作方式:
                <input type="radio" name="opt" value="1">通过审核
                <input type="radio" name="opt" value="2">取消审核
                <input type="radio" name="opt" value="3">删除&nbsp;&nbsp;
				<input type="hidden" value="batchopt" name="action">
                <input type="submit" value="开始操作" name="submit">
            </td>
          </tr>
        </table>
</form>
		</div>
	</div>
	<ul class="main_end">
		<li class="main_end_left left"></li>
		<li class="main_end_right right"></li>
	</ul>
</div>
<%
End Sub

Sub Optcomment(sMod)
    Dim rstUser,rstCache,rstBlog
    '删除/待审/审核
    Dim sOpt,sIds,sChkIp,sIP
    sIP=Request("ip")
	sChkIp=Request("chkip")
    sIds = FilterIds(Request("chkOne"))
    sOpt = Request("opt")
    '按ID批量删除
    If sMod="1" Then
	    If sOpt = "" Or sIds = "" Then Exit Sub	
	    Set rstUser = oblog.Execute("Select userid,count(commentid)  From oblog_comment Where commentId In (" & sIds & ") Group By userid")
	    Set rstBlog = oblog.Execute("Select mainid From oblog_comment Where commentid In (" & sIds & ") Group By mainid")	    
	    Select Case sOpt
	        Case "1"
	            sql = "Update oblog_comment Set iState=1 Where commentId In (" & sIds & ")"
				PassScore sIds,1
	        Case "2"
	            sql = "Update oblog_comment Set iState=0 Where commentId In (" & sIds & ")"
				PassScore sIds,0
	        Case "3"
	            sql = "Delete From oblog_comment Where commentId In (" & sIds & ")"
	        Case Else
	            rstUser.Close
	            Set rstUser = Nothing
	            Exit Sub
	    End Select
	    oblog.Execute sql
	Else
		sIp=oblog.filt_badstr(sIp)
		'OB_Debug Request("ip"),1
		If sIp="" Then Exit Sub	
		Set rstUser = oblog.Execute("Select userid,count(commentid)  From oblog_comment Where addip='" & sIP & "' Group By userid")
		Set rstBlog = oblog.Execute("Select mainid From oblog_comment Where addip='" & sIP & "' Group By mainid")
		oblog.Execute ("Delete From oblog_comment Where addIp='" & sIp & "'")
		If sChkIp = "1" Then
	        Set rstCache = Server.CreateObject("Adodb.RecordSet")       	        
	        rstCache.Open "Select * From  oblog_config Where id=5",conn,1,3
			rstCache("ob_value")=rstCache("ob_value")& vbCrLf & sIP
			rstCache.Update
			rstCache.Close
			oblog.ReloadSetup
			Set rstCache=Nothing	
	    End If
	End If
    Dim blog,userid,blogcomments
    '对日志评论重新进行计数
    Do While Not rstUser.EOF
        '更新用户积分及评论数目
        If sOpt = "3" Then
            sql = "update oblog_user set comment_count=comment_count-" & rstUser(1) & ",scores=scores-" & oblog.CacheScores(6)*rstUser(1) & " where userid=" & rstUser(0)
        Else
            sql = "update oblog_user set comment_count=comment_count-" & rstUser(1) & " where userid=" & rstUser(0)
        End If
        oblog.Execute Sql
        rstUser.MoveNext
    Loop    
    rstUser.Close
    '更新静态页面
    Set blog = New class_blog
    Do While Not rstBlog.Eof
    	Set rstUser=oblog.Execute("Select top 1 userid From oblog_log Where logid=" & rstBlog(0))
    	UserId=rstUser(0)
    	Set rstUser=oblog.Execute("Select count(commentid) From oblog_comment Where mainid=" & rstBlog(0))
    	If rstUser.Eof Then
    		blogcomments=0
    	Else
    		blogcomments=rstUser(0)
    	End If
    	blog.userid = UserId
        '重新计算评论数目
        oblog.Execute ("update [oblog_log] set commentnum=" & blogcomments  & " Where logid=" & rstBlog(0))
        blog.Update_log rstBlog(0), 0
        rstBlog.MoveNext
    Loop
    rstBlog.Close
    Set rstUser = Nothing
    Set rstBlog = Nothing
    Set blog = Nothing
    oblog.showok "评论管理操作成功!", ""
End Sub

Sub PassScore(id,iState)
	Dim rs,i
	Dim tid,sScore
	tid=id
	If iState= 1 Then 
		sScore=oblog.CacheScores(6)
	Else 
		sScore=-1*Abs(oblog.CacheScores(6))
	End if
	If InStr(tid,",")<0 Then 
		Set rs = oblog.Execute ("SELECT userid FROM oblog_comment WHERE commentid = " &tid)
		oblog.GiveScore "",sScore,rs(0)
		rs.close
	Else 
		tid = Split (tid ,",")
		For i = 0 To UBound(tid)
			Set rs = oblog.Execute ("SELECT userid FROM oblog_comment WHERE commentid = " &tid(i))
			oblog.GiveScore "",sScore,rs(0)
			rs.close
		Next
	End if
End Sub
%>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?