?? forum_add_save.asp
字號:
<%
'===================================================================
'= ASP FILENAME : /forum/form_add_save.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 = "user/form_add_save.asp"
'== 頁面標題/功能
Const CONST_PAGE_TITLE = "發表新貼"
'== 功能函數名字空間
Const CONST_ACTION_FUNC = "FormSaveAddTopicsCtl"
'== 相對根目錄路徑
GBL_strHomeURL = "../"
'== 頁面構造
Call ActionBuild()
'== 請求校驗與過濾
Call ActionFilter(CONST_PAGE_FILE,CONST_ACTION_FUNC)
'== 頁面析構
Call ActionOver()
%>
<%
'===================================================================
'= Sub : FormSaveAddTopicsCtl()
'= Time : Created At 2006-6-24
'= Input : Non
'= Table : INSERT INTO CLASS_TOPICS
'= Description : 發表新貼
'===================================================================
Sub FormSaveAddTopicsCtl()
Dim strTitle,strContent,strFace,strUserIp '== Get form data
Dim strAddInfo '== checked data's clew
Dim intErrId
Dim strHtmlCode,strSuccUrl
intErrId = 0
If Trim(Request.QueryString("action")) = "FormSaveAddReply" Then
Call FormSaveAddReply()
Exit Sub
End If
Dim strActFlag : strActFlag = Trim(Request.QueryString("pstActFlag"))
If strActFlag <> "" And strActFlag <> "FORUM_EDIT_MODE" Then
Call ResultExecute(E_USER_PUB,"貼子編輯模式不正確","ES_ERR")
Exit Sub
End If
Dim ForumId : ForumId = Trim(Request.Form("hidForumId"))
strAddInfo = "論壇欄目"
intErrId = DataCheck("DT_ID",ForumId,strAddInfo,"ES_ERR")
Call ResultExecute(intErrId,strAddInfo,"ES_ERR")
Dim intForumSubject : intForumSubject = Trim(Request.Form("selForumSubject"))
If Not IsNumeric(intForumSubject) Then
intForumSubject = 0
End If
Call CheckMasterForum(ForumId)
'== edit mode
If strActFlag = "FORUM_EDIT_MODE" Then
Dim GetRSId : GetRSId = Trim(Request.QueryString("TopicsId"))
strAddInfo = "該要編輯的帖子"
intErrId = DataCheck("DT_ID",GetRSId,strAddInfo,"")
Call ResultExecute(intErrId,strAddInfo,"ES_ERR")
End If
'== Check title of forum
strTitle = Trim(Request.Form("iptTitle"))
strAddInfo = "帖子主題"
intErrId = DataCheck("DT_FIX_LENGTH",strTitle,strAddInfo,"1|DTC_LESS_MORE_LEN|100|")
Call ResultExecute(intErrId,strAddInfo,"ES_ERR")
'== Check smile face
strFace = Trim(Request.Form("rdoFace"))
strAddInfo = "發貼心情圖標文件名"
intErrId = DataCheck("DT_FIX_LENGTH",strFace,strAddInfo,"1|DTC_LESS_MORE_LEN|15|")
Call ResultExecute(intErrId,strAddInfo,"ES_ERR")
If Ucase(Right(strFace,4)) <> ".GIF" Then
Call ResultExecute(E_USER_PUB,"發貼心情圖標文件名","ES_ERR")
End If
'== Check contents
strContent = Trim(Request.Form("txtContent"))
strAddInfo = "帖子內容"
intErrId = DataCheck("DT_FIX_LENGTH",strContent,strAddInfo,"5|DTC_LESS_MORE_LEN|10000|")
Call ResultExecute(intErrId,strAddInfo,"ES_ERR")
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_TOPICS"
If strActFlag = "FORUM_EDIT_MODE" Then
GBL_objPubDB.SQLType = "UPDATE"
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
Else
GBL_objPubDB.SQLType = "INSERT"
End If
GBL_objPubDB.AddField "TOPICS_TITLE",strTitle
GBL_objPubDB.AddField "TOPICS_CONTENT",htmlencode2(strContent)
GBL_objPubDB.AddField "TOPICS_FACE",strFace
If strActFlag <> "FORUM_EDIT_MODE" Then
GBL_objPubDB.AddField "TOPICS_FORUM_ID",ForumId
GBL_objPubDB.AddField "TOPICS_DATE",NOW()
GBL_objPubDB.AddField "TOPICS_LAST_POST",NOW()
End If
If strActFlag <> "FORUM_EDIT_MODE" Then
GBL_objPubDB.AddField "TOPICS_OWNER",GBL_strUserRealName
GBL_objPubDB.AddField "TOPICS_OWNER_ID",GBL_intUserId
GBL_objPubDB.AddField "TOPICS_LAST_POSTER","--------"
End If
GBL_objPubDB.AddField "TOPICS_LAST_EDIT",Now()
GBL_objPubDB.AddField "TOPICS_SUBJECT",intForumSubject
'== insert class_topics a new topics record
GBL_objPubDB.SQLRSExecute()
Call ResultExecute(GBL_objPubDB.intErrNum,"","ES_ERR")
'== update the forum's topics
Call RecordCounter("CLASS_FORUM","FORUM_TOPICS",1,"AND FORUM_ID=" & ForumId)
If strActFlag <> "FORUM_EDIT_MODE" Then
'== update _FORUM
GBL_objPubDB.Clear()
GBL_objPubDB.ALlSQL = "UPDATE CLASS_FORUM SET FORUM_LAST_TOPICS='" & strTitle & "',FORUM_LAST_POST='" & Now() & "' WHERE FORUM_ID=" & ForumId
GBL_objPubDB.SQLExecute()
Call ResultExecute(GBL_objPubDB.intErrNum,"up forum after add topics","ES_ERR")
'== Update user topics number
Call RecordCounter("CLASS_USER","USER_TOPICS",1,"AND USER_ID=" & GBL_intUserId)
'== Update user level
Call UpdateLevel(GBL_intTopicsLevel)
strHtmlCode = "發表帖子成功"
strSuccUrl = "forum/forum_list.asp?action=ShowForumList&ForumId=" & ForumId
Call SuccExecute(strHtmlCode,strSuccUrl)
Call ResultExecute(1101,ForumId,"ES_SUCC")
Else
strHtmlCode = "修改帖子成功"
strSuccUrl = "forum/forum_show.asp?action=ShowForumContent&TopicsId=" & GetRSId & "&ForumId=" & ForumId
Call SuccExecute(strHtmlCode,strSuccUrl)
End If
End Sub
'===================================================================
'= Sub : FormSaveAddReply()
'= Time : Created At 2006-6-24
'= Input : None
'= Table : INSERT INTO CLASS_REPLY
'= Description : Save forum reply
'===================================================================
Sub FormSaveAddReply()
Dim strTitle,strContent,strFace,strUserIp '== Get form data
Dim strAddInfo '== checked data's clew
Dim intErrId
Dim GetRS
Dim strHtmlCode,strSuccUrl
intErrId = 0
'== check edit mode
Dim strActFlag
strActFlag = Trim(Request.QueryString("pstActFlag"))
If strActFlag <> "" And strActFlag <> "FORUM_EDIT_MODE" Then
Call ResultExecute(E_USER_PUB,"貼子回復編輯模式不正確","ES_ERR")
Exit Sub
End If
'== check forum id
Dim ForumId : ForumId = Trim(Request.Form("hidForumId"))
If Not IsNumeric(ForumId) Then
Call ResultExecute(E_USER_PUB,"論壇forum id錯誤" & ForumId,"ES_ERR")
Exit Sub
End If
Call CheckMasterForum(ForumId)
'== edit mode
If strActFlag = "FORUM_EDIT_MODE" Then
Dim GetRSId1
GetRSId1 = Trim(Request.QueryString("ReplyId"))
strAddInfo = "該要編輯的帖子"
intErrId = DataCheck("DT_ID",GetRSId1,strAddInfo,"")
Call ResultExecute(intErrId,strAddInfo,"ES_ERR")
End If
'== check topics id
Dim GetRSId : GetRSId = Trim(Request.QueryString("TopicsId"))
strAddInfo = "需回復帖子"
intErrId = DataCheck("DT_ID",GetRSId,strAddInfo,"")
Call ResultExecute(intErrId,strAddInfo,"ES_ERR")
'== Check smile face
strFace = Trim(Request.Form("rdoFace"))
strAddInfo = "發貼心情圖標文件名"
intErrId = DataCheck("DT_FIX_LENGTH",strFace,strAddInfo,"1|DTC_LESS_MORE_LEN|15|")
Call ResultExecute(intErrId,strAddInfo,"ES_ERR")
If Ucase(Right(strFace,4)) <> ".GIF" Then
Call ResultExecute(E_USER_PUB,"發貼心情圖標文件名","ES_ERR")
End If
'== Check re title
strTitle = Trim(Request.Form("iptReTitle"))
strAddInfo = "回復貼主題"
intErrId = DataCheck("DT_FIX_LENGTH",strTitle,strAddInfo,"1|DTC_LESS_MORE_LEN|100|")
Call ResultExecute(intErrId,strAddInfo,"ES_ERR")
'== Check contents
strContent = Trim(Request.Form("txtContent"))
strAddInfo = "回復內容"
intErrId = DataCheck("DT_FIX_LENGTH",strContent,strAddInfo,"5|DTC_LESS_MORE_LEN|10000|")
Call ResultExecute(intErrId,strAddInfo,"ES_ERR")
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_REPLY"
If strActFlag = "FORUM_EDIT_MODE" Then
GBL_objPubDB.SQLType = "UPDATE"
If GBL_strUserAuthen = 1 Or GetMaster(ForumId) Then
GBL_objPubDB.Where = "REPLY_ID=" & GetRSId1
Else
GBL_objPubDB.Where = "REPLY_ID=" & GetRSId1 & " AND REPLY_OWNER_ID=" & GBL_intUserId
End If
Else
GBL_objPubDB.SQLType = "INSERT"
End If
GBL_objPubDB.AddField "REPLY_CONTENT",htmlencode(strContent)
If strActFlag <> "FORUM_EDIT_MODE" Then
GBL_objPubDB.AddField "REPLY_OWNER",GBL_strUserRealName
GBL_objPubDB.AddField "REPLY_OWNER_ID",GBL_intUserId
GBL_objPubDB.AddField "REPLY_FORUM_ID",ForumId
GBL_objPubDB.AddField "REPLY_DATE",NOW()
End If
GBL_objPubDB.AddField "REPLY_TOPICS_ID",GetRSId
GBL_objPubDB.AddField "REPLY_LAST_POST",Now()
GBL_objPubDB.AddField "REPLY_FACE",strFace
GBL_objPubDB.AddField "REPLY_TITLE",strTitle
'== insert class_reply a new reply record
GBL_objPubDB.SQLExecute()
Call ResultExecute(GBL_objPubDB.intErrNum,"","ES_ERR")
If strActFlag = "FORUM_EDIT_MODE" Then
strHtmlCode = "修改回復成功"
strSuccUrl = "forum/forum_show.asp?action=ShowForumContent&TopicsId=" & GetRSId & "&ForumId=" & ForumId
Call SuccExecute(strHtmlCode,strSuccUrl)
Else
'== update replies
Call RecordCounter("CLASS_TOPICS","TOPICS_REPLIES",1,"AND TOPICS_ID=" & GetRSId)
'== update _TOPICS
GBL_objPubDB.Clear()
GBL_objPubDB.AllSQL = "UPDATE CLASS_TOPICS SET TOPICS_LAST_POSTER='" & GBL_strUserRealName & "',TOPICS_LAST_POSTER_ID='" & GBL_intUserId & "',TOPICS_LAST_POST='" & Now() & "' WHERE TOPICS_ID=" & GetRSId
GBL_objPubDB.SQLExecute()
Call ResultExecute(GBL_objPubDB.intErrNum,"up topics after add reply","ES_ERR")
'== update _FORUM
GBL_objPubDB.Clear()
GBL_objPubDB.ALlSQL = "UPDATE CLASS_FORUM SET FORUM_LAST_REPLY='" & strTitle & "',FORUM_LAST_POST='" & Now() & "' WHERE FORUM_ID=" & ForumId
GBL_objPubDB.SQLExecute()
Call ResultExecute(GBL_objPubDB.intErrNum,"up forum after add reply","ES_ERR")
'== Update user reply number
Call RecordCounter("CLASS_USER","USER_REPLY",1,"AND USER_ID=" & GBL_intUserId)
'== Update user level
Call UpdateLevel(GBL_intReplyLevel)
'== 成功處理
strHtmlCode = "回復成功"
strSuccUrl = "forum/forum_show.asp?action=ShowForumContent&TopicsId=" & GetRSId & "&ForumId=" & ForumId
Call SuccExecute(strHtmlCode,strSuccUrl)
End If
End Sub
'===================================================================
'= Function : GetMaster(intForumId)
'= Time : Created At 2006-6-24
'= Input :
'= Table : Qurey CLASS_FORUM,CLASS_USER
'= Description : get user master of forum
'===================================================================
Function GetMaster(intForumId)
Dim strTmp,i
strTmp = Trim(GetConfig(Application(GBL_strCookieURL & "FORUM_MASTER"),"Forum" & intForumId))
If strTmp <> "" Then
strTmp = Split(strTmp,"|")
For i = Lbound(strTmp) To Ubound(strTmp)
If Trim(strTmp(i)) = GBL_strUserAccount Then
GetMaster = True
Exit Function
End If
Next
End If
GetMaster = False
End Function
%>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -