📄 logic_forum.asp
字号:
Exit Function
End If
If GBL_objPubDB.intRSNum > 0 Then
Call GBL_objException.catchErr(E_USER_PUB,"该板块名已存在")
SaveForumLogic = False
Exit Function
End If
'== check master format
strMaster = objFormData.Item("Master")
If strMaster <> "" Then
arrTmp = split(strMaster,"|")
For i = Lbound(arrTmp) To Ubound(arrTmp)
If arrTmp(i) = "" Then
Call GBL_objException.catchErr(E_USER_PUB,"版主填写错误")
SaveForumLogic = False
Exit Function
End If
Next
End If
'== get old forum master and clear user's master field
GBL_objPubDB.Clear()
GBL_objPubDB.AllSQL = "SELECT FORUM_MASTER FROM CLASS_FORUM WHERE FORUM_ID=" & intForumId
If Not GBL_objPubDB.SQLRSExecute() Then
SaveForumLogic = False
Exit Function
End If
Dim n,strNowUserOldMaster
strOldMaster = Trim(GBL_objPubDB.objPubRS("FORUM_MASTER"))
If strOldMaster <> "" Then
arrOldMaster = split(strOldMaster,"|")
For n = Lbound(arrOldMaster) To Ubound(arrOldMaster)
GBL_objPubDB.Clear()
GBL_objPubDB.AllSQL = "SELECT USER_IS_MASTER FROM CLASS_USER WHERE USER_ACCOUNT='" & arrOldMaster(n) & "'"
If Not GBL_objPubDB.SQLRSExecute() Then
SaveForumLogic = False
Exit Function
End If
strNowUserOldMaster = GBL_objPubDB.objPubRS("USER_IS_MASTER")
strNowUserOldMaster = Replace(strNowUserOldMaster,"|" & intForumId,"")
GBL_objPubDB.Clear()
GBL_objPubDB.AllSQL = "UPDATE CLASS_USER SET USER_IS_MASTER='" & strNowUserOldMaster & "' WHERE USER_ACCOUNT='" & arrOldMaster(n) & "'"
If Not GBL_objPubDB.SQLExecute() Then
SaveForumLogic = False
Exit Function
End If
Next
End If
strTmp = ""
'== 校验斑竹是否存在
If strMaster <> "" Then
arrTmp = split(strMaster,"|")
For i = Lbound(arrTmp) To Ubound(arrTmp)
GBL_objPubDB.Clear()
GBL_objPubDB.AllSQL = "SELECT USER_REALNAME,USER_IS_MASTER FROM CLASS_USER WHERE USER_ACCOUNT='" & Trim(arrTmp(i)) & "' AND USER_AUTHEN<>9"
If Not GBL_objPubDB.SQLRSExecute() Then
SaveForumLogic = False
Exit Function
End If
If GBL_objPubDB.intRSNum <= 0 Then
Call GBL_objException.catchErr(E_USER_PUB,"您所设定的版主" & arrTmp(i) & "不存在")
SaveForumLogic = False
Exit Function
End If
strTmp = strTmp & "|" & GBL_objPubDB.objPubRS(0)
'== check user master is set
strNowUserMaster = Trim(GBL_objPubDB.objPubRS("USER_IS_MASTER"))
arrNowUserMaster = split(strNowUserMaster,"|")
Flag = true
For k = Lbound(arrNowUserMaster) To Ubound(arrNowUserMaster)
If Cint(arrNowUserMaster(k)) = Cint(GetRSId) Then
Flag = false
Exit For
End If
Next
strNowUserMaster = strNowUserMaster & "|" & GetRSId
'== update user field:USER_IS_MASTER
'== format:forumid1|formid2|...
If Flag Then
GBL_objPubDB.Clear()
GBL_objPubDB.AllSQL = "UPDATE CLASS_USER SET USER_IS_MASTER='" & strNowUserMaster & "' WHERE USER_ACCOUNT='" & Trim(arrTmp(i)) & "' AND USER_AUTHEN<>9"
If Not GBL_objPubDB.SQLExecute() Then
SaveForumLogic = False
Exit Function
End If
End If
Next
End If
strMasterName = strTmp
If Left(strMasterName,1) = "|" Then
strMasterName = Right(strMasterName,Len(strMasterName) - 1)
End If
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_FORUM"
GBL_objPubDB.SQLType = "UPDATE"
GBL_objPubDB.Where = "FORUM_ID=" & intForumId
GBL_objPubDB.AddField "FORUM_NAME",strName
GBL_objPubDB.AddField "FORUM_DES",strDes
GBL_objPubDB.AddField "FORUM_CATE_ID",intCate
GBL_objPubDB.AddField "FORUM_ICO",strIco
GBL_objPubDB.AddField "FORUM_ORDER",intOrder
GBL_objPubDB.AddField "FORUM_READ_ONLY",intReadOnly
GBL_objPubDB.AddField "FORUM_REG_ONLY",intRegOnly
GBL_objPubDB.AddField "FORUM_VIP_ONLY",intVipOnly
GBL_objPubDB.AddField "FORUM_ADMIN_ONLY",intAdminOnly
GBL_objPubDB.AddField "FORUM_MASTER",strMaster
GBL_objPubDB.AddField "FORUM_MASTER_NAME",strMasterName
GBL_objPubDB.AddField "FORUM_LAST_TIME",Now()
GBL_objPubDB.AddField "FORUM_LAST_ADMIN_ID",GBL_intAdminId
GBL_objPubDB.AddField "FORUM_HOME_SHOW",intHomeShow
If Not GBL_objPubDB.SQLExecute() Then
SaveForumLogic = False
Exit Function
End If
SaveForumLogic = True
End Function
''===================================================================
'= Function : RemoveForumsLogic()
'= Time : Created At 2006-5-5
'= Input : strWhere : 符合条件
'= Return : boolean
'= Description : 删除论坛板块
'==================================================================='
Function RemoveForumsLogic(strWhere)
'== 清空版主身份???
'== 删除回帖
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_REPLY"
GBL_objPubDB.SQLType = "DELETE"
GBL_objPubDB.Where = "REPLY_FORUM_ID IN (SELECT FORUM_ID FROM CLASS_FORUM WHERE 1=1 " & strWhere & ")"
If Not GBL_objPubDB.SQLExecute() Then
RemoveForumsLogic = False
Exit Function
End If
'== 删除帖子
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_TOPICS"
GBL_objPubDB.SQLType = "DELETE"
GBL_objPubDB.Where = "TOPICS_FORUM_ID IN (SELECT FORUM_ID FROM CLASS_FORUM WHERE 1=1 " & strWhere & ")"
If Not GBL_objPubDB.SQLExecute() Then
RemoveForumsLogic = False
Exit Function
End If
'== 删除板块记录
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_FORUM"
GBL_objPubDB.SQLType = "DELETE"
GBL_objPubDB.Where = " 1=1 " & strWhere
If Not GBL_objPubDB.SQLExecute() Then
RemoveForumsLogic = False
Exit Function
End If
RemoveForumsLogic = True
End Function
''===================================================================
'= Function : RemoveCatesLogic()
'= Time : Created At 2006-5-5
'= Input : strWhere : 符合条件
'= Return : boolean
'= Description : 删除论坛分类
'==================================================================='
Function RemoveCatesLogic(strWhere)
'== 清空版主身份???
'== 删除回帖
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_REPLY"
GBL_objPubDB.SQLType = "DELETE"
GBL_objPubDB.Where = "REPLY_CATE_ID IN (SELECT CATE_ID FROM CLASS_CATE WHERE 1=1 " & strWhere & ")"
If Not GBL_objPubDB.SQLExecute() Then
RemoveCatesLogic = False
Exit Function
End If
'== 删除主贴
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_TOPICS"
GBL_objPubDB.SQLType = "DELETE"
GBL_objPubDB.Where = "TOPICS_CATE_ID IN (SELECT CATE_ID FROM CLASS_CATE WHERE 1=1 " & strWhere & ")"
If Not GBL_objPubDB.SQLExecute() Then
RemoveCatesLogic = False
Exit Function
End If
'== 删除板块
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_FORUM"
GBL_objPubDB.SQLType = "DELETE"
GBL_objPubDB.Where = "FORUM_CATE_ID IN (SELECT CATE_ID FROM CLASS_CATE WHERE 1=1 " & strWhere & ")"
If Not GBL_objPubDB.SQLExecute() Then
RemoveCatesLogic = False
Exit Function
End If
'== 删除分类
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_CATE"
GBL_objPubDB.SQLType = "DELETE"
GBL_objPubDB.Where = "1=1 " & strWhere
If Not GBL_objPubDB.SQLExecute() Then
RemoveCatesLogic = False
Exit Function
End If
RemoveCatesLogic = True
End Function
''===================================================================
'= Function : CreateForumLogic()
'= Time : Created At 2006-5-5
'= Input : intAdminId : 操作管理员ID
'= Input : objFormData : 表单数据
'= Return : boolean
'= Description : 创建新的论坛板块
'==================================================================='
Function CreateForumLogic(intAdminId,objFormData)
Dim strName,strDes,intCateId
Dim strSql
strName = objFormData.Item("Name")
strDes = objFormData.Item("Des")
intCateId = objFormData.Item("CateId")
'== 判断重复
strSql = " AND FORUM_NAME='" & strName & "'"
If Not GetForumsLogic(strSql) Then
CreateForumLogic = False
Exit Function
End If
If GBL_objPubDB.intRSNum > 0 Then
Call GBL_objException.catchErr(E_USER_PUB,"该板块名已存在")
CreateForumLogic = False
Exit Function
End If
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_FORUM"
GBL_objPubDB.SQLType = "INSERT"
GBL_objPubDB.AddField "FORUM_NAME",strName
GBL_objPubDB.AddField "FORUM_DES",strDes
GBL_objPubDB.AddField "FORUM_CATE_ID",intCateId
GBL_objPubDB.AddField "FORUM_ORDER",1
GBL_objPubDB.AddField "FORUM_ICO",CONST_FORUM_ICO
GBL_objPubDB.AddField "FORUM_ADD_ADMIN_ID",intAdminId
GBL_objPubDB.AddField "FORUM_LAST_ADMIN_ID",intAdminId
GBL_objPubDB.AddField "FORUM_ADD_TIME",Now()
GBL_objPubDB.AddField "FORUM_LAST_TIME",Now()
If Not GBL_objPubDB.SQLExecute() Then
CreateForumLogic = False
Exit Function
End If
CreateForumLogic = True
End Function
''===================================================================
'= Function : GetMaxForumLogic()
'= Time : Created At 2006-5-5
'= Input : strWhere : 符合条件
'= Input : intForumId : 表单数据
'= Return : boolean
'= Description : 获得最新一条板块记录ID
'==================================================================='
Function GetMaxForumLogic(strWhere,ByRef intForumId)
GBL_objPubDB.Clear()
GBL_objPubDB.AllSQL = "SELECT MAX(FORUM_ID) FROM CLASS_FORUM WHERE 1=1 " & strWhere
If Not GBL_objPubDB.SQLRSExecute() Then
GetMaxForumLogic = False
Exit Function
End If
intForumId = GBL_objPubDB.objPubRS(0)
GetMaxForumLogic = True
End Function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -