📄 marker.asp
字号:
<%
Class ImplMocomWAPmoWAPMarker
Private strHandle
Private blnError
Private strError
Private strURL
Private Sub Class_Initialize()
Set MyXML = MyKernel.XMLParser
blnError = True
End Sub
Private Sub Class_Terminate()
End Sub
Public Sub main()
strHandle = Request.QueryString("Handle")
strURL = Request.QueryString("URL")
MyXML.Align = "center"
MyXML.Println MyKernel.Config("MarkerTitle")
MyXML.Align = "left"
If MyKernel.Config("IsMarker") <> "1" Then
MyXML.Println "该功能已被站长关闭"
ElseIf IsGuest() Then
Call RegisterHint("只有注册用户才能使用书签功能")
ElseIf Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Call doPost
Else
Call doGet
End If
If strURL <> "" Then
MyXML.Println CreateA(strURL, "快速返回", getImagePrefix("back.gif"))
End If
If strHandle <> "" And MyKernel.Config("IsMarker") = "1" Then
MyXML.Println CreateA("marker.asp", MyKernel.Config("MarkerTitle"), getImagePrefix("back.gif"))
End If
MyXML.Println CreateA("console.asp", "返回控制台", getImagePrefix("back.gif"))
Call BackHome
Call setLog("marker", 0)
MyXML.Transform Response
End Sub
Private Sub doGet()
Select Case LCase(strHandle)
Case "add"
Call doGetAdd
Case "delete"
Call doGetDelete
Case Else
Call doGetMain
End Select
End Sub
Private Sub doGetMain()
Dim clsPage
Dim rs
Dim i
Set clsPage = MyKernel.Page()
clsPage.PageNum = MyIO.QueryString("Page")
clsPage.PageSize = 20
clsPage.DataType = WM_DataType
clsPage.Increment = "SeqId"
clsPage.Table = T_MARKER
clsPage.Where = "UserId=" & MyKernel.Memory("UserId")
clsPage.Sort = "SeqId DESC"
clsPage.SortType = True
Set rs = clsPage.Execute()
If clsPage.TotalRow > 0 Then
Dim objMarker
Set objMarker = MyKernel.Table(T_MARKER)
i = 0
Do While rs.EOF = False And i < clsPage.PageSize
objMarker.Source = rs
MyXML.Printf CreateA(objMarker("Content"), ((clsPage.PageNum - 1) * clsPage.PageSize + i + 1) & "." & objMarker("Title"), "")
MyXML.Printf "["
MyXML.Printf CreateA("marker.asp?Handle=Delete&SeqId=" & objMarker("SeqId"), "删除", "")
MyXML.Println "]"
rs.MoveNext
i = i + 1
Loop
Set objMarker = Nothing
If clsPage.PageNum < clsPage.TotalPage Then
MyXML.Printf CreateA("marker.asp?Page=" & (clsPage.PageNum + 1), "下一页", "")
MyXML.Printf "|"
MyXML.Println CreateA("marker.asp?Page=" & (clsPage.TotalPage), "最末页", "")
End If
If clsPage.PageNum > 1 Then
MyXML.Printf CreateA("marker.asp?Page=" & (clsPage.PageNum - 1), "上一页", "")
MyXML.Printf "|"
MyXML.Println CreateA("marker.asp", "第一页", "")
End If
If clsPage.TotalPage > 2 Then
MyXML.SetF "marker.asp", "get", "", True
Call setQuery
MyXML.SetN "Page", "text", "", clsPage.PageNum & "/" & clsPage.TotalPage & "页>>跳到", "页", False, 5, 5, "N*"
MyXML.SetN "", "submit", "GO", "", "", True
End If
Else
MyXML.Println "您尚未添加书签"
End If
If Not rs Is Nothing Then rs.Close
Set rs = Nothing
Set clsPage = Nothing
MyXML.Println CreateA("marker.asp?Handle=Add", "新建书签", "")
End Sub
Private Sub doGetAdd()
MyXML.Println "[添加书签]"
MyXML.SetF getURL("marker.asp?Handle=Add", "URL", strURL), "post", "", True
MyXML.SetN "Title", "text", "", "书签标题:", " 中英文或数字,不能超过200个字节(即100个汉字)", True
If strURL = "" Then
MyXML.SetN "Content", "text", "http://", "连接地址:", " 站外连接必须带http://前缀", True
End If
MyXML.SetN "", "submit", "确定", "", "", True
End Sub
Private Sub doGetDelete()
Dim strAccept
Dim objMarker
Dim lngId
Dim strSQL
Set objMarker = MyKernel.Table(T_MARKER)
strAccept = Request.QueryString("Accept")
lngId = atol(Request.QueryString("SeqId"))
strSQL = "USERID=$(UserId) AND SEQID=$(SeqId)"
strSQL = Replace(strSQL, "$(UserId)", MyKernel.Memory("UserId"))
strSQL = Replace(strSQL, "$(SeqId)", lngId)
If lngId <= 0 Then
MyXML.Println "请选择您要删除的书签"
ElseIf Not objMarker.Execute("*", strSQL) Then
MyXML.Println "找不到您要删除的书签"
ElseIf strAccept = "YES" Then
MyXML.Println "书签[" & objMarker("Title") & "]已成功删除"
strSQL = "DELETE FROM $(Table) WHERE SEQID=$(SeqId)"
strSQL = Replace(strSQL, "$(Table)", T_MARKER)
strSQL = Replace(strSQL, "$(SeqId)", objMarker("SeqId"))
MyKernel.DB.Exec strSQL
MyKernel.Memory("MarkerTotal") = atoi(MyKernel.Memory("MarkerTotal")) - 1
If atoi(MyKernel.Memory("MarkerTotal")) < 0 Then
MyKernel.Memory("MarkerTotal") = 0
End If
strSQL = "UPDATE $(Table) SET MARKERTOTAL=$(MarkerTotal) WHERE SEQID=$(SeqId)"
strSQL = Replace(strSQL, "$(Table)", T_USER)
strSQL = Replace(strSQL, "$(MarkerTotal)", MyKernel.Memory("MarkerTotal"))
strSQL = Replace(strSQL, "$(SeqId)", MyKernel.Memory("SeqId"))
MyKernel.DB.Exec strSQL
Else
MyXML.Println "您确定要删除书签[" & objMarker("Title") & "]么?"
MyXML.Println CreateA("marker.asp?Handle=Delete&SeqId=" & objMarker("SeqId") & "&Accept=YES", "确定", "")
End If
Set objMarker = Nothing
End Sub
Private Sub doPost()
Select Case LCase(strHandle)
Case "add"
Call doPostAdd
Case Else
End Select
End Sub
Private Sub doPostAdd()
If MyIO.Parse(KBYTE) <> 0 Then
MyXML.Println "超过最大数据请求长度:" & KBYTE
Else
Dim strTitle, strContent
Dim rs, strSQL
strTitle = Trim(MyIO.Form("Title"))
strContent = strURL
If strContent = "" Then
strContent = MyIO.Form("Content")
End If
If strTitle = "" Then
strError = "请输入书签标题"
ElseIf strContent = "" Then
strError = "请输入连接地址"
ElseIf atoi(MyKernel.Memory("MarkerTotal")) > atoi(MyKernel.Config("MarkerTotal")) Then
strError = "最多只能添加" & MyKernel.Config("MarkerTotal") & "个书签" & vbCrLf & _
"您现在已有" & MyKernel.Memory("MarkerTotal") & "个书签了"
Else
strSQL = getLimitSQL(1, "*", T_MARKER, "USERID=$(UserId) AND (TITLE='$(Title)' OR CONTENT='$(Content)')", "", "")
strSQL = Replace(strSQL, "$(UserId)", MyKernel.Memory("UserId"))
strSQL = Replace(strSQL, "$(Title)", SafeString(strTitle))
strSQL = Replace(strSQL, "$(Content)", SafeString(strContent))
Set rs = MyKernel.DB.Query(strSQL, adOpenKeyset, adLockOptimistic, adCmdText)
If Not rs.EOF Then
strError = "该书签已经添加过了"
Else
blnError = False
strError = "书签添加成功"
rs.AddNew
rs("UserId") = MyKernel.Memory("UserId")
rs("UserName") = MyKernel.Memory("Nick")
rs("Title") = strTitle
rs("Content") = strContent
rs("Intime") = getTime(Now())
rs("Outime") = 0
rs.Update
strSQL = "UPDATE $(Table) SET MARKERTOTAL=MARKERTOTAL+1 WHERE SEQID=$(SeqId)"
strSQL = Replace(strSQL, "$(Table)", T_USER)
strSQL = Replace(strSQL, "$(SeqId)", MyKernel.Memory("SeqId"))
MyKernel.DB.Exec strSQL
MyKernel.Memory("MarkerTotal") = atoi(MyKernel.Memory("MarkerTotal")) + 1
End If
rs.Close
Set rs = Nothing
End If
End If
MyXML.Println strError
If blnError Then
Call doGetAdd
End If
End Sub
Public Function newInstance()
Set newInstance = New ImplMocomWAPmoWAPMarker
End Function
End Class
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -