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

📄 logic_forum.asp

📁 学习管理 校友录有关的系统 本人学习的结果 与大家共享
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<%
''===================================================================
'= ASP FILENAME	: /inc/logic/logic_forum.asp
'= CREATED TIME : 2006-5-1
'= LAST MODIFIED: 2006-5-1
'= VERSION INFO : CCASP Framework Ver 2.0.1 ALL RIGHTS RESERVED BY www.cclinux.com
'= DESCRIPTION  : 论坛处理逻辑
'= Change Log:
'==================================================================='
%>

<%
'== 常量定义
Const CONST_FORUM_ICO = "forum_csu.gif"
Const CONST_TOPIC_HOT_ICO = "forum_hot.gif"
Const CONST_TOPIC_COMM_ICO = "forum_comm.gif"
Const CONST_TOPIC_FORBID_ICO = "forum_forbid.gif"
Const CONST_TOPIC_TOP_ICO = "forum_top.gif"
Const CONST_TOPIC_ALLTOP_ICO = "forum_alltop.gif"

''===================================================================
'= Function    : GetForumsLogic()
'= Time		   : Created At 2006-5-5
'= Input	   : strWhere : 符合条件
'= Return      : boolean
'= Description : 取论坛板块记录集
'==================================================================='
Function GetForumsLogic(strWhere)
	GBL_objPubDB.Clear()
	GBL_objPubDB.AllSQL = "SELECT FORUM_NAME,FORUM_MASTER_NAME,CATE_NAME,FORUM_CATE_ID,FORUM_HOME_SHOW,FORUM_READ_ONLY,FORUM_ADMIN_ONLY,FORUM_ICO,FORUM_LAST_TOPICS,FORUM_LAST_REPLY,FORUM_LAST_POST,FORUM_DES,FORUM_ORDER,FORUM_TOPICS,FORUM_REPLIES,FORUM_ID FROM CLASS_FORUM,CLASS_CATE WHERE FORUM_CATE_ID=CATE_ID " & strWhere  & " ORDER BY FORUM_CATE_ID ASC,FORUM_ORDER DESC,FORUM_ID ASC"
	If Not GBL_objPubDB.SQLRSExecute() Then
		GetForumsLogic = False
		Exit Function
	End If
	GetForumsLogic = True
End Function

''===================================================================
'= Function    : GetTopicsLogic()
'= Time		   : Created At 2006-5-5
'= Input	   : strWhere : 符合条件
'= Return      : boolean
'= Description : 取论坛主题帖子记录集
'==================================================================='
Function GetTopicsLogic(strWhere)
	GBL_objPubDB.Clear()
	If Instr(strWhere,"ORDER BY") > 0 Then
		GBL_objPubDB.AllSQL = "SELECT TOPICS_LAST_POSTER,TOPICS_LAST_POST,TOPICS_REPLY_FORBID,FORUM_NAME,TOPICS_FORUM_ID,TOPICS_CONTENT,TOPICS_OWNER,TOPICS_TITLE,TOPICS_ID,TOPICS_STATUS,TOPICS_HITS,TOPICS_REPLIES FROM CLASS_TOPICS,CLASS_FORUM WHERE TOPICS_FORUM_ID=FORUM_ID " & strWhere  
	Else
	GBL_objPubDB.AllSQL = "SELECT TOPICS_LAST_POSTER,TOPICS_LAST_POST,TOPICS_REPLY_FORBID,FORUM_NAME,TOPICS_FORUM_ID,TOPICS_CONTENT,TOPICS_OWNER,TOPICS_TITLE,TOPICS_ID,TOPICS_STATUS,TOPICS_HITS,TOPICS_REPLIES FROM CLASS_TOPICS,CLASS_FORUM WHERE TOPICS_FORUM_ID=FORUM_ID " & strWhere & " ORDER BY TOPICS_STATUS DESC,TOPICS_FORUM_ID DESC,TOPICS_LAST_POST DESC"
	End If
	If Not GBL_objPubDB.SQLRSExecute() Then
		GetTopicsLogic = False
		Exit Function
	End If
	GetTopicsLogic = True
End Function

''===================================================================
'= Function    : GetReplysLogic()
'= Time		   : Created At 2006-5-5
'= Input	   : strWhere : 符合条件
'= Return      : boolean
'= Description : 取论坛回帖记录集
'==================================================================='
Function GetReplysLogic(strWhere)
	GBL_objPubDB.Clear()
	GBL_objPubDB.AllSQL = "SELECT TOPICS_LAST_POSTER,TOPICS_LAST_POST,TOPICS_REPLY_FORBID,FORUM_NAME,TOPICS_FORUM_ID,TOPICS_CONTENT,TOPICS_OWNER,TOPICS_TITLE,TOPICS_ID,TOPICS_STATUS,TOPICS_HITS,TOPICS_REPLIES FROM CLASS_TOPICS,CLASS_FORUM WHERE TOPICS_ID IN (SELECT TOPICS_ID FROM CLASS_TOPICS,CLASS_REPLY WHERE REPLY_TOPICS_ID=TOPICS_ID " & strWhere & " ) AND TOPICS_FORUM_ID=FORUM_ID ORDER BY TOPICS_STATUS DESC,TOPICS_FORUM_ID DESC,TOPICS_LAST_POST DESC"
	If Not GBL_objPubDB.SQLRSExecute() Then
		GetReplysLogic = False
		Exit Function
	End If
	GetReplysLogic = True
End Function

''===================================================================
'= Function    : GetForumLogic()
'= Time		   : Created At 2006-5-5
'= Input	   : intForumId : 论坛板块ID
'= Return      : boolean
'= Description : 取论坛板块
'==================================================================='
Function GetForumLogic(intForumId)
	GBL_objPubDB.Clear()
	GBL_objPubDB.AllSQL = "SELECT FORUM_NAME,FORUM_MASTER_NAME,FORUM_MASTER,FORUM_HOME_SHOW,FORUM_READ_ONLY,FORUM_ICO,FORUM_CATE_ID,FORUM_DES,FORUM_ORDER,FORUM_TOPICS,FORUM_REPLIES,FORUM_ID FROM CLASS_FORUM WHERE FORUM_ID=" & intForumId
	If Not GBL_objPubDB.SQLRSExecute() Then
		GetForumLogic = False
		Exit Function
	End If
	GetForumLogic = True
End Function

''===================================================================
'= Function    : GetTopicLeftIcoLogic()
'= Time		   : Created At 2006-5-5
'= Input	   : intStatus : 论坛板块状态
'= Input	   : blnIsReplyForbid : 是否允许回复
'= Input	   : intTopicReplies : 回复数
'= Input	   : intTopicsHits : 点击数
'= Return      : 小图标名
'= Description : 根据板块状态取得左侧小图标名
'==================================================================='
Function GetTopicLeftIcoLogic(intStatus,blnIsReplyForbid,intTopicReplies,intTopicsHits)
	Dim strTmp
	Select Case intStatus 
		Case	 0	:	
			strTmp = "forum_comm.gif"
			If blnIsReplyForbid = 1 Then
				strTmp = CONST_TOPIC_FORBID_ICO
			ElseIf intTopicReplies > 10 Or intTopicsHits > 30 Then
				strTmp = CONST_TOPIC_HOT_ICO
			End If
		Case	 9  :	
			strTmp = CONST_TOPIC_TOP_ICO
		Case	10	:	
			strTmp = CONST_TOPIC_ALLTOP_ICO
		Case else	:	s
			trTmp = CONST_TOPIC_COMM_ICO
	End Select
	GetTopicLeftIcoLogic = strTmp
End Function

''===================================================================
'= Function    : GetForumCatesArrayLogic()
'= Time		   : Created At 2006-5-5
'= Input	   : arrValues : 论坛分类ID
'= Input	   : arrOutputs : 论坛分类value
'= Output	   : arrValues : 论坛分类ID
'= Output	   : arrOutputs : 论坛分类value
'= Return      : boolean
'= Description : 取论坛分类
'==================================================================='
Function  GetForumCatesArrayLogic(ByRef arrValues,ByRef arrOutputs)
	Dim i
	
	If Not GetCatesLogic("") Then
		GetForumCatesArrayLogic = False
		Exit Function
	End If
 

	If GBL_objPubDB.intRSNum > 0 Then
		i = 0			
		ReDim arrValues(GBL_objPubDB.intRSNum - 1)
		ReDim arrOutputs(GBL_objPubDB.intRSNum -1 )
		While Not GBL_objPubDB.objPubRS.Eof
			arrValues(i) = GBL_objPubDB.objPubRS("CATE_ID")
			arrOutputs(i) = GBL_objPubDB.objPubRS("CATE_NAME")
			i = i + 1
			GBL_objPubDB.objPubRS.MoveNext
		Wend
	Else
		Call GBL_objException.catchErr(E_USER_PUB,"请先添加论坛分类")
		GetForumCatesArrayLogic = False
		Exit Function
		arrValues = Null
		arrOutputs = Null
	End If
	GetForumCatesArrayLogic = True
End Function

''===================================================================
'= Function    : GetCatesLogic()
'= Time		   : Created At 2006-5-5
'= Input	   : strWhere : 符合条件
'= Return      : boolean
'= Description : 取分类集
'==================================================================='
Function GetCatesLogic(strWhere)
	GBL_objPubDB.Clear()
	GBL_objPubDB.AllSQL = "SELECT CATE_NAME,CATE_ORDER,CATE_ID,CATE_ADD_TIME,CATE_LAST_TIME FROM CLASS_CATE WHERE 1=1 " & strWhere & " ORDER BY CATE_ORDER DESC"
	If Not GBL_objPubDB.SQLRSExecute() Then
		GetCatesLogic = False
		Exit Function
	End If
	GetCatesLogic = True
End Function

''===================================================================
'= Function    : SaveCateLogic()
'= Time		   : Created At 2006-5-5
'= Input	   : intAdminId : 操作管理员ID
'= Input	   : intCateId : 分类ID, ""--add other--edit
'= Input	   : objFormData : 表单数据
'= Return      : boolean
'= Description : 保存分类
'==================================================================='
Function SaveCateLogic(intAdminId,intCateId,objFormData)
	Dim strName,strSql,intOrder
	
	strName = objFormData.Item("Name")
	intOrder = objFormData.Item("Order")
	strSql = " AND CATE_NAME='" & strName & "' "
	If intCateId <> "" Then
		'== 重复性校验
		strSql = strSql & " AND CATE_ID <> " & intCateId
		If Not GetCatesLogic(strSql) Then
			SaveCateLogic = False
			Exit Function
	  End If
	  If GBL_objPubDB.intRSNum > 0 Then
	  		Call GBL_objException.catchErr(E_USER_PUB,"该分类名(" & strName & ")已存在")
	  		SaveCateLogic = False
			Exit Function
		End If
		
		GBL_objPubDB.Clear()
		GBL_objPubDB.TableName = "CLASS_CATE"
		GBL_objPubDB.SQLType = "UPDATE"
		GBL_objPubDB.AddField "CATE_NAME",strName
		GBL_objPubDB.AddField "CATE_ORDER",intOrder
		GBL_objPubDB.AddField "CATE_LAST_ADMIN_ID",intAdminId
		GBL_objPubDB.AddField "CATE_LAST_TIME",Now()
		GBL_objPubDB.Where = " CATE_ID=" & intCateId
		If Not GBL_objPubDB.SQLExecute() Then
			SaveCateLogic = False
			Exit Function
		End If	
	Else
		'== 重复性校验
		If Not GetCatesLogic(strSql) Then
			SaveCateLogic = False
			Exit Function
		End If
		If GBL_objPubDB.intRSNum > 0 Then
			Call GBL_objException.catchErr(E_USER_PUB,"该分类名(" & strName & ")已存在")
			SaveCateLogic = False
			Exit Function
		End If
		
		GBL_objPubDB.Clear()
		GBL_objPubDB.TableName = "CLASS_CATE"
		GBL_objPubDB.SQLType = "INSERT"
		GBL_objPubDB.AddField "CATE_NAME",strName
		GBL_objPubDB.AddField "CATE_ORDER",intOrder
		GBL_objPubDB.AddField "CATE_ADD_ADMIN_ID",GBL_intAdminId
		GBL_objPubDB.AddField "CATE_ADD_TIME",Now()
		GBL_objPubDB.AddField "CATE_LAST_ADMIN_ID",GBL_intAdminId
		GBL_objPubDB.AddField "CATE_LAST_TIME",Now()
		If Not GBL_objPubDB.SQLExecute() Then
			SaveCateLogic = False
			Exit Function
		End If
	End If
	SaveCateLogic = True
End Function

''===================================================================
'= Function    : SaveForumLogic()
'= Time		   : Created At 2006-5-5
'= Input	   : intForumId : 论坛板块ID
'= Input	   : objFormData : 表单数据
'= Return      : boolean
'= Description : 保存论坛板块
'==================================================================='
Function SaveForumLogic(intForumId,objFormData)		
	Dim strName,strIco,strDes,intOrder,intRegOnly,intVipOnly,intAdminOnly,intReadOnly,strMaster,strMasterName,intCate,intHomeShow
	Dim strTmp
	Dim arrOldMaster,strOldMaster,arrTmp,i,strNowUserMaster,arrNowUserMaster,k,GetRSId
	Dim Flag
	Dim strSql
	
	intRegOnly = 0
	intVipOnly = 0
	intAdminOnly = 0
	intReadOnly = 0

	strName = objFormData.Item("Name")
	strDes = objFormData.Item("Des")
	intCate = objFormData.Item("Cate")
	strIco = objFormData.Item("Ico")
	intHomeShow = objFormData.Item("HomeShow")
	intReadOnly = objFormData.Item("ReadOnly")

	If strIco = "" Then
		strIco = CONST_FORUM_ICO
	End If
	intOrder = objFormData.Item("Order")

	'== 判断重复
	strSql = " AND FORUM_NAME='" & strName & "' AND FORUM_ID <> " & intForumId
	If Not GetForumsLogic(strSql) Then
		SaveForumLogic = False

⌨️ 快捷键说明

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