📄 job_clsmain.asp
字号:
<%
Dim IP_MAX
Dim tourl
Class Cls_HRcms
Rem Const
Public BoardID,SqlQueryNum,Forum_Info,Forum_Setting,Forum_user,Forum_Copyright,Forum_ads,Forum_ChanSetting,Forum_UploadSetting
Public Forum_sn,Forum_Version,Stats,StyleName,ErrCodes,NowUseBBS,Cookiepath,ScriptFolder,BoardInfoData,UserSession
Public lanstr,mainhtml,mainsetting,sysmenu,mainpic,UserToday,BoardJumpList,BoardList,CacheData,Maxonline
Public VipGroupUser,Vipuser,Boardmaster,Superboardmaster,Master,FoundIsChallenge,FoundUser
Public ScriptName,MemberName,MemberWord,MemberClass,UserHidden,UserID,UserTrueIP,UserPermission
Public sendmsgnum,sendmsgid,sendmsguser,Page_Admin
Public BadWords,rBadWord,Forum_emot,Forum_PostFace,Forum_UserFace,SkinID,Forum_PicUrl
Private Forum_CSS,Main_Sid,Nowstats,CssID
Public Reloadtime,CacheName,UserGroupID,Lastlogin,GroupSetting,FoundUserPer,UserGroupParent,UserGroupParentID
Private LocalCacheName,IsTopTable,ShowErrType
Public Board_Setting,LastPost,Board_user,BoardType,Board_Data,Sid,Boardreadme,BoardRootID,BoardParentID
Private Is_Isapi_Rewrite,iArchiverUrl
Public ModHtmlLinked,ArchiverUrl,ArchiverType
Public Browser,version ,platform,IsSearch,Cls_IsSearch
Public IsUserPermissionOnly,IsUserPermissionAll,ShowSQL,actforip
Rem Sub
Private Sub Class_Initialize()
Forum_sn="DvForum"'如果一个虚拟目录或站点开多个论坛,则每个要错开,不能定义同一个名称
CacheName="DvCache"'如果一个虚拟目录或站点开多个论坛,则每个要错开,不能定义同一个名称
If Not Response.IsClientConnected Then
Session(CacheName & "UserID")=empty
Set FRHRcms=Nothing
Response.End
End If
IsUserPermissionOnly = 0
IsUserPermissionAll = 0
ShowErrType = 0 '错误信息显示模式
SqlQueryNum = 0
Reloadtime=28800
IsTopTable = 0
VipGroupUser = False:IsSearch=False:Cls_IsSearch=False
Vipuser = False:Boardmaster = False
Superboardmaster = False:Master = False:FoundIsChallenge = False:FoundUser = False
BoardID = Request("BoardID")
If IsNumeric(BoardID) = 0 or BoardID = "" Then BoardID = 0
BoardID = Clng(BoardID)
MemberName = checkStr(Trim(Request.Cookies(Forum_sn)("username")))
MemberWord = checkStr(Trim(Request.Cookies(Forum_sn)("password")))
UserHidden = Trim(Request.Cookies(Forum_sn)("userhidden"))
UserID = Trim(Request.Cookies(Forum_sn)("UserID"))
If IsNumeric(UserHidden) = 0 or Userhidden = "" Then UserHidden = 2
If IsNumeric(UserID) = 0 Or UserID="" Then UserID=0
UserID = Clng(UserID)
UserTrueIP = getIP()
IP_MAX=0
Dim Tmpstr
Tmpstr = Request.ServerVariables("PATH_INFO")
Tmpstr = Split(Tmpstr,"/")
ScriptName = Lcase(Tmpstr(UBound(Tmpstr)))
ScriptFolder = Lcase(Tmpstr(UBound(Tmpstr)-1)) & "/"
MemberClass = checkStr(Request.Cookies(Forum_sn)("userclass"))
Page_Admin=False
If InStr(ScriptName,"showerr")>0 Or InStr(ScriptName,"login")>0 Or InStr(ScriptName,"admin_")>0 Then Page_Admin=True
sendmsgnum=0:sendmsgid=0:sendmsguser=""
'模拟HTML部分开始
Is_Isapi_Rewrite = 0
If Is_Isapi_Rewrite = 0 Then ModHtmlLinked = "?"
ArchiverType = 0
If InStr(ScriptName,"indexhtml.asp") > 0 Then
iArchiverUrl = Lcase(Request.ServerVariables("QUERY_STRING"))
If iArchiverUrl <> "" Then
ArchiverUrl = iArchiverUrl
iArchiverUrl = Split(iArchiverUrl,"_")
If iArchiverUrl(0) = "list" And Ubound(iArchiverUrl) = 5 Then
If IsNumeric(iArchiverUrl(1)) Then
ArchiverType = 1
BoardID = Clng(iArchiverUrl(1))
End If
End If
End If
End If
'模拟HTML部分结束
'Response.Write Server.MapPath("index.asp")
'response.end
End Sub
Private Function getIP()
Dim strIPAddr
If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then
strIPAddr = Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
actforip=Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
actforip=Request.ServerVariables("REMOTE_ADDR")
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
actforip=Request.ServerVariables("REMOTE_ADDR")
End If
getIP = CheckStr(Trim(Mid(strIPAddr, 1, 30)))
End Function
Private Sub class_terminate()
If EnabledSession Then
If Not UserSession Is Nothing Then Session(CacheName & "UserID")= UserSession.xml
End If
Set UserSession=Nothing
If IsObject(Conn) Then Conn.Close : Set Conn = Nothing
If IsObject(Plus_Conn) Then Plus_Conn.Close : Set Plus_Conn = Nothing
End Sub
Public Sub Sendmessanger(touserid,senduser,messangertext)
Dim Node
If Not IsObject( Application(FRHRcms.CacheName&"_messanger")) Then
Set Application(FRHRcms.CacheName&"_messanger")=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
Application(FRHRcms.CacheName&"_messanger").appendChild( Application(FRHRcms.CacheName&"_messanger").createElement("xml"))
End If
For Each Node in Application(FRHRcms.CacheName&"_messanger").documentElement.SelectNodes("messanger")
If datediff("s",Node.selectSingleNode("@sendtime").text,Now()) > 72000 Then
Application(FRHRcms.CacheName&"_messanger").documentElement.removeChild(Node)
End If
Next
Set Node=Application(FRHRcms.CacheName&"_messanger").documentElement.appendChild(Application(FRHRcms.CacheName&"_messanger").createNode(1,"messanger",""))
Node.attributes.setNamedItem(Application(FRHRcms.CacheName&"_messanger").createNode(2,"sendtime","")).text=Now()
Node.attributes.setNamedItem(Application(FRHRcms.CacheName&"_messanger").createNode(2,"touserid","")).text=touserid
Node.attributes.setNamedItem(Application(FRHRcms.CacheName&"_messanger").createNode(2,"senduser","")).text=senduser
Node.text=messangertext
End Sub
Public Property Let Name(ByVal vNewValue)
LocalCacheName = LCase(vNewValue)
End Property
Public Property Let Value(ByVal vNewValue)
If LocalCacheName<>"" Then
Application.Lock
Application(CacheName & "_" & LocalCacheName &"_-time")=Now()
Application(CacheName & "_" & LocalCacheName) = vNewValue
Application.unLock
End If
End Property
Public Property Get Value()
If LocalCacheName<>"" Then
Value=Application(CacheName & "_" & LocalCacheName)
End If
End Property
Public Function ObjIsEmpty()
ObjIsEmpty=True
If Not IsDate(Application(CacheName & "_" & LocalCacheName &"_-time")) Then Exit Function
If DateDiff("s",CDate(Application(CacheName & "_" & LocalCacheName &"_-time")),Now()) < (60*Reloadtime) Then ObjIsEmpty=False
End Function
'取得基本设置数据
Public Sub loadSetup()
Dim Rs,locklist,ip,ip1,XMLDom,Node,i
Application.Lock
Set XMLDom=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
XMLDom.Load Server.MapPath(MyDbPath &"inc\guest.xml")
Set Application(FRHRcms.CacheName&"_info_guest")=XMLDom.cloneNode(True)
Set XMLDom=Nothing
Application.UnLock
Name="setup"
Set Rs = FRHRcms.Execute("Select id, Forum_Setting, Forum_ads, Forum_Badwords, Forum_rBadword, Forum_Maxonline, Forum_MaxonlineDate, Forum_TopicNum, Forum_PostNum, Forum_TodayNum, Forum_UserNum, Forum_YesTerdayNum, Forum_MaxPostNum, Forum_MaxPostDate, Forum_lastUser, Forum_LastPost, Forum_BirthUser, Forum_Sid, Forum_Version, Forum_NowUseBBS, Forum_IsInstall, Forum_challengePassWord, Forum_Ad, Forum_ChanName, Forum_ChanSetting, Forum_LockIP, Forum_Cookiespath, Forum_Boards, Forum_alltopnum, Forum_pack, Forum_Cid, Forum_AvaSiteID, Forum_AvaSign, Forum_AdminFolder, Forum_BoardXML, Forum_Css From [Dv_Setup]")
Value = Rs.GetRows(1)
CacheData=value
Set XMLDom=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
XMLDom.appendChild(XMLDom.createElement("xml"))
locklist=Trim(CacheData(25,0))
locklist=Split(locklist,"|")
For Each Ip in locklist
Ip1=Split(Ip,".")
Set Node=XMLDom.documentElement.appendChild(XMLDom.createNode(1,"lockip",""))
For i=0 to UBound(ip1)
Node.attributes.setNamedItem(XMLDom.createNode(2,"number"& (i+1),"")).text=ip1(i)
Next
Next
Application.Lock
Set Application(CacheName & "_forum_lockip")=XMLDom.cloneNode(True)
Application.UnLock
Set XMLDom=Nothing
Dim stylesheet
Set stylesheet=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
stylesheet.load Server.MapPath(MyDbPath &"inc\GetBrowser.xslt")
Application.Lock
Set Application(CacheName & "_getbrowser")=Server.CreateObject("msxml2.XSLTemplate" & MsxmlVersion)
Application(CacheName & "_getbrowser").stylesheet=stylesheet
Set Application(CacheName & "_csslist")=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
Application(CacheName & "_csslist").Loadxml CacheData(35,0)
Set Application(CacheName & "_accesstopic")=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
Application(CacheName & "_accesstopic").Loadxml CacheData(34,0)
Application.unLock
End Sub
Public Sub LoadBoardList()
Application.Lock
Dim Rs,boardmaster,master,node,Board_setting
Set Rs=Execute("select boardid,boardtype,ParentID,depth,rootid,Child,indeximg,parentstr,cid as checkout,cid as hidden,cid as nopost,cid as checklock,cid as mode,cid as simplenesscount,readme From Dv_board Order by rootid,Orders")
Set Application(CacheName&"_boardlist")=RecordsetToxml(rs,"board","BoardList")
Rs.Close
Set Rs=Execute("select boardid From Dv_board Order by Orders")
Set Application(CacheName&"_boardmaster")=RecordsetToxml(rs,"boardmaster","masterlist")
Rs.Close
Set Rs=Execute("select boardmaster,boardid,Board_setting From Dv_board Order by Orders")
Do While Not Rs.EOF
boardmaster=split(Rs("boardmaster")&"","|")
Set Node=Application(CacheName&"_boardmaster").documentElement.selectSingleNode("boardmaster[@boardid='"& Rs(1)&"']")
For Each Master In boardmaster
Node.appendChild(Application(CacheName&"_boardmaster").createNode(1,"master","")).text=Master
Next
Board_setting=Split(Rs("Board_setting"),",")
Application(CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"& Rs("Boardid")&"']/@checkout").text=Board_setting(2)
Application(CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"& Rs("Boardid")&"']/@hidden").text=Board_setting(1)
Application(CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"& Rs("Boardid")&"']/@nopost").text=Board_setting(43)
Application(CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"& Rs("Boardid")&"']/@checklock").text=Board_setting(0)
Application(CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"& Rs("Boardid")&"']/@mode").text=Board_setting(39)
Application(CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"& Rs("Boardid")&"']/@simplenesscount").text=Board_setting(41)
Rs.MoveNext
Loop
Set Application(CacheName&"_sboardlist")=Application(CacheName&"_boardlist").cloneNode(True)
For each node in Application(CacheName&"_sboardlist").documentElement.selectNodes("board")
node.attributes.removeNamedItem("readme")
node.attributes.removeNamedItem("simplenesscount")
node.attributes.removeNamedItem("mode")
node.attributes.removeNamedItem("checklock")
node.attributes.removeNamedItem("checkout")
node.attributes.removeNamedItem("parentstr")
node.attributes.removeNamedItem("indeximg")
Next
MakBoardNav 0 ,""
Application.unLock
Rs.Close
Set Rs= Nothing
End Sub
Public Sub MakBoardNav(parentid,Node1)
Dim Node,Dom
If parentid=0 Then
Set Application(CacheName&"_ssboardlist")=Server.CreateObject("Msxml2.FreeThreadedDOMDocument" & MsxmlVersion )
Set Node1=Application(CacheName&"_ssboardlist").appendChild(Application(CacheName&"_ssboardlist").createElement("BoardList"))
End If
For Each Node in Application(CacheName&"_sboardlist").documentElement.selectNodes("board[@parentid="&parentid&"]")
MakBoardNav Node.selectSingleNode("@boardid").text,Node1.appendChild(Node.cloneNode(True))
Next
End Sub
Public Sub LoadPlusMenu()
Name = "ForumPlusMenu"
Dim Rs,XMLDom,Node,plus_setting,stylesheet,XMLStyle,proc
Set Rs=Execute("Select id,plus_type,plus_name,mainpage,plus_copyright,plus_setting,isshowmenu as width,isshowmenu as height From Dv_Plus Where Isuse=1 Order By ID")
Set XMLDom=RecordsetToxml(rs,"plus","")
Set Rs=Nothing
For Each Node In XMLDom.documentElement.selectNodes("plus")
plus_setting=Split(Split(node.selectSingleNode("@plus_setting").text,"|||")(0),"|")
node.selectSingleNode("@plus_setting").text=plus_setting(0)
node.selectSingleNode("@width").text=plus_setting(1)
node.selectSingleNode("@height").text=plus_setting(2)
Next
Set XMLStyle=Server.CreateObject("msxml2.XSLTemplate" & MsxmlVersion)
Set stylesheet=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
stylesheet.load Server.MapPath(MyDbPath &"inc\Templates\plusmenu.xslt")
XMLStyle.stylesheet=stylesheet
Set proc=XMLStyle.createProcessor()
proc.input = XMLDom
proc.transform()
value=proc.output
End Sub
Public Sub LoadBoardData(bid)
Dim Rs
Set Rs=Execute("select boardid,boarduser,board_ads,board_user,isgroupsetting,rootid,board_setting,sid,cid,Rules From Dv_board Where Boardid="&bid)
Set Application(CacheName &"_boarddata_" & bid)=RecordsetToxml(rs,"boarddata","")
Rs.Close
Set Rs= Nothing
End Sub
Public Sub LoadBoardinformation(bid)'加载动态板面信息数据
Dim Rs,lastpost,i
Set Rs=Execute("select boardid,boardtopstr,postnum,topicnum,todaynum,lastpost as lastpost_0,boardid as lastpost_1,boardid as lastpost_2,boardid as lastpost_3,boardid as lastpost_4,boardid as lastpost_5,boardid as lastpost_6,boardid as lastpost_7 From Dv_board Where Boardid="&bid)
Set Application(CacheName &"_information_" & bid)=RecordsetToxml(rs,"information","")
lastpost=Split(Application(CacheName &"_information_" & bid).documentElement.selectSingleNode("information/@lastpost_0").text,"$")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -