?? logic_forum.asp
字號:
<%
''===================================================================
'= 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 : 論壇板塊狀態(tài)
'= Input : blnIsReplyForbid : 是否允許回復(fù)
'= Input : intTopicReplies : 回復(fù)數(shù)
'= Input : intTopicsHits : 點擊數(shù)
'= Return : 小圖標名
'= Description : 根據(jù)板塊狀態(tài)取得左側(cè)小圖標名
'==================================================================='
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 : 表單數(shù)據(jù)
'= 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
'== 重復(fù)性校驗
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
'== 重復(fù)性校驗
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 : 表單數(shù)據(jù)
'= 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")
'== 判斷重復(fù)
strSql = " AND FORUM_NAME='" & strName & "' AND FORUM_ID <> " & intForumId
If Not GetForumsLogic(strSql) Then
SaveForumLogic = False
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -