class_mobile.asp
来自「现在好了」· ASP 代码 · 共 538 行 · 第 1/2 页
ASP
538 行
<%
'=========================================================
' Copyright (C) 2003,2004 AspSky.Net. All rights reserved.
' Web: http://www.aspsky.net,http://www.dvbbs.net
' Email: info@aspsky.net,eway@aspsky.net
' File: Class_Mobile.asp
' Date: 2004-8-3
' Author: Dv Dever ,www.aspsky.net
' 文件用途,手机移动论坛访问
'=========================================================
Class Mobile_Forum
Rem ====================声明部分开始==============
Public Path,StartID,Number,Mobile,Stype,OP,Child,Self
Public PathCount
Public OtherContent
Private ViewIpLimited
Dim Re
Rem ====================声明部分结束==============
Rem ======================过程部分================
'Class加载时自动执行的代码
Private Sub Class_Initialize()
Dvbbs.UserID = 0
OtherContent = ""
Path = Trim(Checkstr(Request("Path")))
StartID = ChkNumeric(Trim(Request("StartID")))
Number = ChkNumeric(Trim(Request("Number")))
Mobile = ChkNumeric(Trim(Request("Mobile")))
Stype = ChkNumeric(Trim(Request("Stype")))
OP = ChkNumeric(Trim(Request("OP")))
Child = ChkNumeric(Trim(Request("Child")))
Self = Child
Path = Split(Path,"/")
PathCount = Ubound(Path)
ViewIpLimited = ",219.238.232.59,219.153.18.230,219.153.18.162,,"
'ViewIpLimited = ",61.132.138.120,"
'ChkIpLimited
ChkWapUser
End Sub
Private Sub ChkIpLimited()
Dim ReServerIp
ReServerIp = Trim(Request.ServerVariables("REMOTE_ADDR"))
If ReServerIp = "" Or Instr(ViewIpLimited,ReServerIp) = 0 Then
ShowMobileErr("您的IP:"& ReServerIp &" 来至于受限制的地址!")
End If
End Sub
'验证用户
Private Sub ChkWapUser
Mobile = Ccur(Mobile)
If Mobile=0 or Len(Mobile)<11 Then
If InStr(Dvbbs.ScriptName,"wap_userlogin.asp")=0 Then
ShowMobileErr("您的手机号码:"& Mobile &" 不能访问本论坛!")
End If
End If
If Mobile=0 Then
Dvbbs.UserID = 0
Dvbbs.UserGroupID = 7
Else
'Session(CacheName & "UserID")用户资料=0dvbbs+1刷新时间+2发帖时间+3所在版面ID+4用户ID+5用户名+6用户密码+7用户邮箱+8用户文章数+9用户主题数+10用户性别+11用户头像+12用户头像宽+13用户头像高+14用户注册时间+15用户最后登陆时间+16用户登陆次数+17用户状态+18用户等级+19用户组ID+20用户组名+21用户金钱+22用户积分UserEp+23用户魅力UserCp+24用户威望+25用户生日+26最后登陆IP+27用户被删除数+28用户精华数+29用户隐身状态+30用户短信情况+31用户阳光会员+32用户手机+33用户组图标+34用户头衔+35验证密码+36用户今日信息+37用户金币+38用户点券+ 39跟踪用户ID+40VIP登记时间+41VIP截止时间+42是否存在全局自定义权限IsUserPermissionAll+43是否有多属性用户组IsUserPermissionOnly+44临时数据+45Dvbbs
Dim Rs,SQL,MyUserInfo
Sql="Select UserID,UserName,UserPassword,UserEmail,UserPost,UserTopic,UserSex,UserFace,UserWidth,UserHeight,JoinDate,LastLogin,UserLogins,Lockuser,Userclass,UserGroupID,UserGroup,userWealth,userEP,userCP,UserPower,UserBirthday,UserLastIP,UserDel,UserIsBest,UserHidden,UserMsg,IsChallenge,UserMobile,TitlePic,UserTitle,TruePassWord,UserToday,UserMoney,UserTicket,FollowMsgID,Vip_StarTime,Vip_EndTime"
Sql=Sql+" From [Dv_User] Where UserMobile = '" & Mobile &"'"
Set Rs = Dvbbs.Execute(Sql)
If Rs.Eof Then
Rs.Close:Set Rs = Nothing
Dvbbs.UserID = 0
Dvbbs.UserGroupID = 7
Else
MyUserInfo=Rs.GetString(,1, "|||","","")
Rs.Close:Set Rs = Nothing
MyUserInfo = "Dvbbs|||"& Now & "|||" & DateAdd("s",-3600,Now()) &"|||0|||"& MyUserInfo &"|||"&Dvbbs.FoundUserPermission_All()&"|||0||||||Dvbbs"
MyUserInfo = Split(MyUserInfo,"|||")
Dvbbs.UserID = Clng(MyUserInfo(4))
Dvbbs.MemberName = MyUserInfo(5)
Dvbbs.UserGroupID = Cint(MyUserInfo(19))
Dvbbs.MyUserInfo = MyUserInfo
End If
End If
GetGroupSetting
If Dvbbs.UserID>0 Then
Dvbbs.Lastlogin = MyUserInfo(15)
If Not IsDate(Dvbbs.LastLogin) Then Dvbbs.LastLogin = Now()
If Trim(MyUserInfo(36))="" Then
Dvbbs.Execute("Update [Dv_User] Set UserToday='0|0|0|0|0' Where UserID = " & Dvbbs.UserID)
Dvbbs.MyUserInfo(36) = "0|0|0|0|0"
Dvbbs.UserToday = Split(Dvbbs.MyUserInfo(36),"|")
Else
Dvbbs.UserToday = Split(Dvbbs.MyUserInfo(36),"|")
If Ubound(Dvbbs.UserToday) <> 4 Then
Dvbbs.Execute("Update [Dv_User] Set UserToday='0|0|0|0|0' Where UserID = " & Dvbbs.UserID)
Dvbbs.MyUserInfo(36) = "0|0|0|0|0"
Dvbbs.UserToday = Split(Dvbbs.MyUserInfo(36),"|")
End If
End If
Dvbbs.FoundIsChallenge = True
If DateDiff("d",Dvbbs.LastLogin,Now())<>0 Then
Dvbbs.Execute("Update [Dv_User] Set UserToday='0|0|0|0|0',LastLogin = " & SqlNowString & " Where UserID = " & Dvbbs.UserID)
Dvbbs.MyUserInfo(36) = "0|0|0|0|0"
Dvbbs.LastLogin = Now()
ElseIf DateDiff("s",Dvbbs.Lastlogin,Now())>Clng(Dvbbs.Forum_Setting(8))*60 Then
Dvbbs.Execute("Update [Dv_User] Set UserLastIP = '" & Dvbbs.UserTrueIP & "',LastLogin = " & SqlNowString & " Where UserID = " & Dvbbs.UserID)
Dvbbs.Lastlogin = Now()
End If
End If
End Sub
'更新该用户的权限
Private Sub GetGroupSetting()
Dvbbs.Name="GroupSetting_"& Dvbbs.UserGroupID
If Dvbbs.ObjIsEmpty() Then
Dim Rs,SQL
SQL = "Select GroupSetting From [Dv_UserGroups] where UserGroupID = " & Dvbbs.UserGroupID
Set Rs = Dvbbs.Execute(SQL)
If Rs.Eof Then
Set Rs=Nothing
SQL = "Select GroupSetting From [Dv_UserGroups] where UserGroupID = 4"
Set Rs = Dvbbs.Execute(SQL)
Dvbbs.value=Rs(0)
Else
Dvbbs.value=Rs(0)
End If
End If
Dvbbs.GroupSetting = Split(Dvbbs.value,",")
If Cint(Dvbbs.GroupSetting(0))=0 And Not Dvbbs.Page_Admin Then
ShowXMLStar
AddErrCode(8)
ShowXMLEnd
Response.End
End If
Select Case Dvbbs.UserGroupID
Case 4
Dvbbs.Vipuser = True
Case 3
Dvbbs.Boardmaster = True
Case 2
Dvbbs.Superboardmaster = True
Case 1
Dvbbs.Master = True
End Select
Dvbbs.IsUserPermissionAll = Dvbbs.MyUserInfo(Ubound(Dvbbs.MyUserInfo)-3)
If Dvbbs.UserID > 0 And Dvbbs.BoardID=0 Then
If Dvbbs.IsUserPermissionAll="1" Then Dvbbs.LoadUserPermission_All()
End If
End Sub
'输出XML开始的标记
Public Sub ShowXMLStar()
Response.Clear
Response.CharSet="gb2312"
Response.ContentType="text/xml"
Response.Write "<?xml version=""1.0"" encoding=""gb2312""?>"
Response.Write vbNewLine
Response.Write "<bbs_query>"
Response.Write vbNewLine
Response.Write "<forumname>"&ForMatHtmlTitle(Dvbbs.Forum_Info(0))&"</forumname>"
End Sub
Public Sub ShowErr(ErrCode,ErrMsg)
'Call ShowXMLStar
'If Dvbbs.ScriptName="wap_board.asp" Then
'ShowCodes "" ,4 ,0 ,4 ,ErrMsg ,"" ,Dvbbs.Forum_Info(0) ,Now ,Now
'Else
Response.Write "<errcode>"
Response.Write ErrCode
Response.Write "</errcode>"
Response.Write vbNewLine
Response.Write "<errmsg>"
Response.Write ForMatHtml(ErrMsg)
Response.Write "</errmsg>"
'End If
End Sub
'输出模板
Public Sub ShowCodes(S_Self ,S_Child ,S_Sid ,S_Stype ,S_Name ,S_Content ,S_OtherContent,S_Author ,S_Createtime ,S_Modifytime)
Dim CodesString
CodesString = "<query_result>" & vbNewLine
CodesString = CodesString & "<self>" & S_Self & "</self>" & vbNewLine
CodesString = CodesString & "<child>" & S_Child & "</child>" & vbNewLine
CodesString = CodesString & "<sid>" & S_Sid & "</sid>" & vbNewLine
CodesString = CodesString & "<stype>" & S_Stype & "</stype>" & vbNewLine
CodesString = CodesString & "<name><![CDATA[" & ForMatHtmlTitle(S_Name) & "]]></name>" & vbNewLine
CodesString = CodesString & S_Content
CodesString = CodesString & S_OtherContent & vbNewLine
CodesString = CodesString & "<author>" & S_Author & "</author>" & vbNewLine
CodesString = CodesString & "<createtime>" & S_Createtime & "</createtime>" & vbNewLine
CodesString = CodesString & "<modifytime>" & S_Modifytime & "</modifytime>" & vbNewLine
CodesString = CodesString & "</query_result>" & vbNewLine
Response.Write CodesString
End Sub
Public Function Format_Content(sType,sBody)
Dim CodesString
If sType = 1 Then
CodesString = "<content type=""other"" src="""&sBody&"""></content>" & vbNewLine
Else
CodesString = "<content type=""text""><![CDATA[" & sBody &"]]></content>" & vbNewLine
End if
Format_Content = CodesString
End Function
'输出XML结束的标记
Public Sub ShowXMLEnd()
Response.Write vbNewLine
Response.Write "</bbs_query>"
End Sub
Rem ====================过程部分结束==============
Rem ======================函数部分================
'通用参数过滤函数
Public Function Checkstr(Str)
If Isnull(Str) Then
CheckStr = ""
Exit Function
End If
Str = Replace(Str,Chr(0),"")
CheckStr = Replace(Str,"'","''")
End Function
'判断参数是否数字型并且不含豆号
Public Function IsTrueNumeric(Str)
Dim Numeric
Numeric=Str & ""
If IsNumeric(Numeric) And InStr(Numeric,",")=0 Then
IsTrueNumeric=True
Else
IsTrueNumeric=False
End If
End Function
'判断参数是否数字型并且不含豆号
Public Function ChkNumeric(Str)
ChkNumeric = 0
If Str = Null Then Exit Function
If IsNumeric(Str) And InStr(Str,",")=0 Then
ChkNumeric = cCur(Str)
End If
End Function
'过滤HTML标记,保留换行符等 内容
Function ForMatHtml(str)
OtherContent = ""
Dim Tempstr,RegFound
RegFound = False
If Str<>"" And Not IsNull(Str) Then
Set Re = new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern = "(<br>)"
Str = re.Replace(Str , CHR(13) & CHR(10))
re.Pattern="(</p><p>)"
Str=re.Replace(Str, CHR(13) & CHR(10))
re.Pattern="(<[|\/]p>)"
Str=re.Replace(Str, CHR(13) & CHR(10))
re.Pattern="<(.[^>]*)>"
Str=re.Replace(Str,"")
re.Pattern = "( )"
Str = re.Replace(Str,Chr(9))
're.Pattern = "\[(i|b|u|center)\]((.|\n)*)\[\/(\1)\]"
'Str = re.Replace(Str,"<$1>$2</$4>")
re.Pattern = "\[(fly|move)\]((.|\n)*)\[\/(\1)\]"
Str = re.Replace(Str,CHR(10)&"$2"&CHR(10))
re.Pattern = "\[(size|color|face|glow|shadow)=(.[^\[]*)\]((.|\n)*)\[\/(\1)\]"
Str = re.Replace(Str,"$3")
re.Pattern = "\[align=(center|left|right)\]((.|\n)*)\[\/align\]"
Str = re.Replace(Str,"[$1]$2[/$1]")
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?