www.gusucode.com > CC校友录贴吧 CCBar源码程序asp编程 > forum/forum_del.asp

    <%
'===================================================================
'= ASP FILENAME	: /forum/forum_del.asp
'= CREATED TIME : 2006-6-24
'= LAST MODIFIED: 2006-6-24
'= VERSION INFO : CCASP Framework Ver 2.0.1 ALL RIGHTS RESERVED BY www.cclinux.com
'= DESCRIPTION  : 删除帖子
'= Change Log:
'===================================================================
%>

<!-- #include file = "../inc/customer/include_customer_action_execute.asp" -->
<!-- #include file = "../main_func.asp" -->
<!-- #include file = "./forum_inc.asp" -->
<!-- #include file = "./forum_func.asp" -->

<%
'========================================================
'==   Action参数设置
'========================================================
'== 页面名
Const CONST_PAGE_FILE	= "forum/forum_del.asp"

'== 页面标题/功能
Const CONST_PAGE_TITLE	= "删除帖子"

'== 功能函数名字空间
Const CONST_ACTION_FUNC	= "DelTopicsCtl"

'== 相对根目录路径 
GBL_strHomeURL			= "../"

'== 页面构造
Call ActionBuild()

'== 请求校验与过滤
Call ActionFilter(CONST_PAGE_FILE,CONST_ACTION_FUNC)

'== 页面析构
Call ActionOver()

%>

<%
'===================================================================
'= Sub         : DelTopicsCtl() 
'= Time	       : Created At 2006-6-25
'= Input       : None
'= Table       : Del CLASS_TOPICS,CLASS_REPLY
'= Description : del forum topics and its reply
'===================================================================
Sub DelTopicsCtl() 

	Dim strAddInfo								'== checked data's clew
	Dim intErrId,ForumId,GetRSId

	intErrId = 0

	If Request.QueryString("ReplyId") <> "" Then
		Call DelReply()
		Exit Sub
	End If

	ForumId = Trim(Request.QueryString("ForumId"))
	strAddInfo = "贴吧栏目"
	intErrId = DataCheck("DT_ID",ForumId,strAddInfo,"ES_ERR")
	Call ResultExecute(intErrId,strAddInfo,"ES_ERR")

	GetRSId = Trim(Request.QueryString("TopicsId"))
	strAddInfo = "所要删除的贴吧帖子"
	intErrId = DataCheck("DT_ID",GetRSId,strAddInfo,"ES_ERR")
	Call ResultExecute(intErrId,strAddInfo,"ES_ERR")

	'== del its reply
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_REPLY"
	GBL_objPubDB.SQLType = "DELETE"
	'== administrator del 
	If GBL_strUserAuthen = 1 Or GetMaster(ForumId) Then
		GBL_objPubDB.Where = "REPLY_TOPICS_ID=" & GetRSId
	Else
		'== owner del
		GBL_objPubDB.Where = "REPLY_TOPICS_ID=" & GetRSId  & " AND REPLY_OWNER_ID=" & GBL_intUserId
	End If
	GBL_objPubDB.SQLExecute()
	Call ResultExecute(GBL_objPubDB.intErrNum,"del reply before del topics","ES_ERR")

	'== del topics
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_TOPICS"
	GBL_objPubDB.SQLType = "DELETE"
	'== administrator del
	If GBL_strUserAuthen = 1 Or GetMaster(ForumId) Then
		GBL_objPubDB.Where = "TOPICS_ID=" & GetRSId
	Else
		GBL_objPubDB.Where = "TOPICS_ID=" & GetRSId & " AND TOPICS_OWNER_ID=" & GBL_intUserId
	End If
	GBL_objPubDB.SQLExecute()
	Call ResultExecute(GBL_objPubDB.intErrNum,"del topics","ES_ERR")
	
	'== update topics
	Call RecordCounter("CLASS_FORUM","FORUM_TOPICS",-1,"AND FORUM_ID=" & ForumId)

	Dim strHtmlCode,strSuccUrl
	strHtmlCode = "删除帖子成功"
	strSuccUrl = "forum/forum_list.asp?action=ShowForumList&ForumId=" & ForumId
	Call SuccExecute(strHtmlCode,strSuccUrl)
	
End Sub

'===================================================================
'= Sub         : DelReply() 
'= Time	       : Created At Feb,7,2004
'= Input       : None
'= Table       : Del CLASS_REPLY
'= Description : del reply
'===================================================================
Sub DelReply() 

	Dim strAddInfo								'== checked data's clew
	Dim intErrId,ForumId,GetRSId,TopicsId

	intErrId = 0


	ForumId = Trim(Request.QueryString("ForumId"))
	strAddInfo = "贴吧栏目"
	intErrId = DataCheck("DT_ID",ForumId,strAddInfo,"ES_ERR")
	Call ResultExecute(intErrId,strAddInfo,"ES_ERR")

	TopicsId = Trim(Request.QueryString("TopicsId"))
	strAddInfo = "贴吧帖子"
	intErrId = DataCheck("DT_ID",TopicsId,strAddInfo,"ES_ERR")
	Call ResultExecute(intErrId,strAddInfo,"ES_ERR")

	GetRSId = Trim(Request.QueryString("ReplyId"))
	strAddInfo = "所要删除的帖子回复"
	intErrId = DataCheck("DT_ID",GetRSId,strAddInfo,"ES_ERR")
	Call ResultExecute(intErrId,strAddInfo,"ES_ERR")

	'== del its reply
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_REPLY"
	GBL_objPubDB.SQLType = "DELETE"
	If GBL_strUserAuthen = 1 Or GetMaster(ForumId) Then
		GBL_objPubDB.Where = "REPLY_ID=" & GetRSId 
	Else
		GBL_objPubDB.Where = "REPLY_ID=" & GetRSId & " AND REPLY_OWNER_ID=" & GBL_intUserId
	End If
	GBL_objPubDB.SQLExecute()
	Call ResultExecute(GBL_objPubDB.intErrNum,"del reply","ES_ERR")

	'== update replies of _topics
	Call RecordCounter("CLASS_TOPICS","TOPICS_REPLIES",-1,"AND TOPICS_ID=" & TopicsId)
	'== update replies of _forum
	Call RecordCounter("CLASS_FORUM","FORUM_REPLIES",-1,"AND FORUM_ID=" & ForumId)

	'== 成功处理
	Dim strHtmlCode,strSuccUrl
	strHtmlCode = "删除回复成功"
	strSuccUrl = "forum/forum_show.asp?action=ShowForumContent&TopicsId=" & TopicsId & "&ForumId=" & ForumId
	Call SuccExecute(strHtmlCode,strSuccUrl)
	
End Sub
%>