📄 cl_clssystem.asp
字号:
<%
'===================================================
' CreateLive CMS Version 4.0
' Powered by Aspoo.CoM
'===================================================
' File: Cl_ClsSysTem.asp(动网先锋缓存类)
' Date: 2007-1-11
' Mail: Info@aspoo.cn
' Q Q: 3315263, 596197794
' Msn : support@aspoo.cn, Clw866@hotmail.com
' Web : http://www.aspoo.com, http://www.aspoo.net
' Bbs : http://bbs.aspoo.com, http://bbs.aspoo.net
' Copyright (C) 2005-2007 Aspoo.CoM All Rights Reserved.
'===================================================
Class Cls_CMSSysTem
Private LocalCacheName
Public TemplateID,TemplateName,ProjectID,ProjectName,CssID,CssName,CssPicUrl Rem 新模版变量
Public Language
Public Channel Rem 新变量XML对像
Public ErrMessage Rem 错误信息
Public Reloadtime, CacheName, CacheData, SqlQueryNum, SysTemUpDate
Public ScriptName, ServerName, Page_Admin
Public Web_Setting, Web_Version, BadWords, rBadWord
Public Upload_Setting, Product_Setting, Channel_Setting
Public Web_Info, Web_Pack
Public Admin_Info, Admin_Purview
Public User_Info, User_Group, User_Purview, SchoolUser_Info
Public UserID, UserGroupID, UserTrueIP, MemberName, MemberWord
Public ChannelName, ChannelItemName, ChannelReadMe, ChannelItemUnit, ChannelUrl, IsDisabled
Public IsCreateHtml, CreatePathType, CreateFileType, CreateFileExt, IsCreateList
Public Logo, Banner, ChannelOtherSetting,ChannelUpLoadSetting
Public WebDir, HtmlDir, ChannelDir, UpLoadDir, DownLoadDir '上传主目录,软件下载目录
Public SendMsgNum, SendMsgID, SendMsgUser
Public Path, Title, Keywords, DeScriptIon, Path_Info
Private Sub Class_Initialize()
Dim Tmpstr
Reloadtime = 28800
SysTemUpDate = 20080518
SqlQueryNum = 0
ProjectID = 0 : TemplateID = 0 : CssID = 0
SendMsgNum = 0 : SendMsgID = 0 : SendMsgUser = ""
CacheName = Server.MapPath("/") & InstallDir & "Aspoodddd" '安装目录不一样,缓存名不相同
CacheName = Replace(Replace(Replace(Replace(CacheName," ",""),":",""),"\",""),"/","")
CacheName = LCase(CacheName)
'Response.Cookies(Web_Cookies).DoMain = "aspoo.com"
MemberName = Trim(Request.Cookies(Web_Cookies)("UserName"))
If MemberName<>"" Then MemberName = ReplaceBadChar(MemberName)
MemberWord = Trim(Request.Cookies(Web_Cookies)("PassWord"))
UserID = GetClng(Request.Cookies(Web_Cookies)("UserID"))
UserGroupID = Trim(Request.Cookies(Web_Cookies)("UserGroupID"))
UserTrueIP = CheckStr(Request.ServerVariables("REMOTE_ADDR"))
Path_Info = Request.ServerVariables("PATH_INFO")
Tmpstr = Split(Path_Info,"/")
ScriptName = Lcase(Tmpstr(UBound(Tmpstr)))
ServerName = Lcase(request.ServerVariables("Server_Name"))
Page_Admin = False : WebDir = InstallDir
If Not IsNumeric(UserGroupID) Then UserGroupID=5 Else UserGroupID=CLng(UserGroupID) End If
If ScriptName="showerr.asp" Or ScriptName="count.asp" Or ScriptName="logout.asp" Or InStr(ScriptName,"login.asp")>0 Or InStr(ScriptName,"admin_")>0 Then Page_Admin=True
End Sub
Private Sub Class_Terminate()
'Erase User_Info
User_Info = Empty : Upload_Setting = Empty
Product_Setting = Empty : Channel_Setting = Empty
Web_Info = Empty : Web_Setting = Empty
CacheData = Empty : User_Purview = Empty
Set Language = Nothing : Set Channel = Nothing
If IsObject(User_Group) Then Set User_Group = Nothing
if IsObject(Conn) then Conn.Close : Set Conn = Nothing
if IsObject(Conn_U) then Conn_U.Close : Set Conn_U = Nothing
if IsObject(Conn_L) then Conn_L.Close : Set Conn_L = Nothing
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 & "_day_" & LocalCacheName & "_-time")=Now()
Application(CacheName & "_day_" & LocalCacheName) = vNewValue
Application.unLock
End If
End Property
Public Property Get Value()
If LocalCacheName<>"" Then
Value=Application(CacheName & "_day_" & LocalCacheName)
End If
End Property
Public Function ObjIsEmpty()
ObjIsEmpty=True
If Not IsDate(Application(CacheName & "_day_" & LocalCacheName &"_-time")) Then Exit Function
If DateDiff("s",CDate(Application(CacheName & "_day_" & LocalCacheName &"_-time")),Now()) < (60*Reloadtime) Then ObjIsEmpty=False
End Function
Public Sub DelCahe(MyCaheName)
Application.Lock
Application.Contents.Remove(CacheName&"_day_"&MyCaheName & "_-time")
Application.Contents.Remove(CacheName&"_day_"&MyCaheName)
Application.unLock
End Sub
Public Sub DelDayCache()
Dim Cachelist,i,Cacheobj
For Each Cacheobj in Application.Contents
If CStr(Left(Cacheobj,Len(CacheName)+5))=CStr(CacheName&"_day_") Then
Cachelist=Cachelist & Cacheobj & ","
End If
Next
Cachelist=split(Cachelist,",")
If UBound(cachelist)>1 Then
For i=0 to UBound(cachelist)-1
Application.Lock
Application.Contents.Remove(Cachelist(i))
Application.unLock
Next
End If
Application.Lock
Application(CacheName&"_day_date") = Date()
Application.UnLock
Cachelist = Empty
'Response.end
End Sub
'取得系统定义资源
Public Sub Get_WebSetting()
If Not Response.IsClientConnected Then
Session(CacheName & "UserID")=Empty
Response.End
End If
If Not IsDate(Application(CacheName&"_day_date")) Then
Application.Lock
Application(CacheName&"_day_date") = Date()
Application.UnLock
ElseIf Cstr(Application(CacheName&"_day_date")) <> Cstr(Date()) Then
Rem 更新每日要更新的缓存
Call DelDayCache()
End If
If Not IsArray(Application(CacheName&"_setup")) Then Load_Setup()
CacheData = Application(CacheName&"_setup")
CacheData(1,0) = Split(CacheData(1,0),"@@")
Web_Info = Split(CacheData(1,0)(0),"$$$")
Web_Setting = Split(CacheData(2,0),"$$$")
ProjectID = CLng(CacheData(3,0))
CssID = CLng(CacheData(4,0))
Title = Web_info(1) & " " & Web_Info(3)
DeScriptIon = Web_Info(3)
Keywords = Web_Info(2)
Logo = Web_Info(5)
Banner = Web_Info(6)
Web_Version = Split(CacheData(5,0),",")
CacheData(6,0) = Split(CacheData(6,0),"@@")
Web_Pack = Split(CacheData(6,0)(0),"|||")
BadWords = Split(CacheData(7,0),"|")
rBadWord = Split(CacheData(8,0),"|")
Upload_Setting = Split(CacheData(11,0),"$$$")
Product_Setting = Split(CacheData(12,0),"|||")
HtmlDir = Replace(Web_Info(16),"/","") & "/"
UpLoadDir = Replace(WebDir&"/"&Upload_Setting(0)&"/","//","/")
If Trim(Request.Cookies(Web_Cookies & "Kill")("kill")) <> "No" Then
If Trim(Request.Cookies(Web_Cookies & "Kill")("kill")) = "Yes" Then
If Not Page_Admin Then Response.Redirect WebDir & "Showerr.asp?action=iplock"
Else
If Not Page_Admin Then
Call ChecKIPlock()
If Trim(Request.Cookies(Web_Cookies & "Kill")("kill")) = "Yes" Then Response.Redirect WebDir & "Showerr.asp?action=iplock"
end if
End If
end if
'Call OutErr(0,CacheData(6,0)(1))
if Trim(Web_Info(11))="Close" And Not Page_Admin Then response.Redirect WebDir & "Showerr.asp?action=Close"
if Trim(Web_Setting(8))="Yes" and Not NoChkSqlInFiles then ChkSQLInWord
Call Load_Language("GB2312")
If Not IsObject(Application(CacheName & "_channellist")) Then Call Load_ChannelList()
If Not IsObject(Application(CacheName & "_classlist")) Then Call Load_ClassList()
If Not IsObject(Application(CacheName & "_speciallist")) Then Call Load_SpecialList()
If Not IsObject(Application(CacheName & "_usergrouplist")) Then Call Load_UserGroupList()
'If Not IsObject(Application(CacheName & "_serverlist")) Then Call Load_ServerList() '下载站可开启
End Sub
Public Sub Load_Setup()
Dim SQL,Rs
SQL = "Select ID,Web_Info,Web_Setting,DefaultProjectID,DefaultCssID,Web_Version,Web_Pack,Badwords,rBadword,LockIP,Regword,UpLoad_Setting,Product_Setting,SqlInword,NoChkSqlInFiles from [Cl_Setup]"
Set Rs = Execute(SQL)
Application.Lock
Application(CacheName&"_setup") = Rs.GetRows(1)
Application.UnLock
Set Rs = Nothing
End Sub
Public Sub Get_ChannelSetting(Byval sChannelID)
Load_ChannelSetting(sChannelID)
ChannelName = Trim(Channel.selectSingleNode("@channelname").text)
ChannelItemName = Trim(Channel.selectSingleNode("@channelitemname").text)
ChannelItemUnit = Trim(Channel.selectSingleNode("@channelitemunit").text)
ChannelDir = Trim(Channel.selectSingleNode("@channeldir").text)
ChannelUrl = Trim(Channel.selectSingleNode("@linkurl").text)
IsDisabled = Clng(Channel.selectSingleNode("@isdisabled").text)
IsCreateHtml = Clng(Channel.selectSingleNode("@iscreatehtml").text)
CreatePathType = Cint(Channel.selectSingleNode("@createpathtype").text)
CreateFileType = Cint(Channel.selectSingleNode("@createfiletype").text)
CreateFileExt = Trim(Channel.selectSingleNode("@createfileext").text)
ChannelReadMe = Channel.selectSingleNode("@readme").text
DeScriptIon = Channel.selectSingleNode("@readme").text
ChannelOtherSetting = Split(Channel.selectSingleNode("@othersetting").text,",")
ChannelUpLoadSetting = Split(Channel.selectSingleNode("@uploadsetting").text,"@")
if Channel.selectSingleNode("@logo").text<>"" then Logo = Channel.selectSingleNode("@logo").text
if Channel.selectSingleNode("@banner").text<>"" then Banner = Channel.selectSingleNode("@banner").text
if IsDisabled <> 0 then
Response.write "对不起,本频道暂时已禁用!请<a href='"&InstallDir&"Index.asp'>返回网站首页</a>!"
Response.end
End if
End Sub
Rem 加载XML下载服务器列表
Public Sub Load_ServerList()
Dim Rs, Node
Set Rs = Execute("select * From Cl_Server Order by OrderID Asc")
Application.Lock
Set Application(CacheName&"_serverlist") = RecordsetToxml(Rs,"server","serverlist")
Application.unLock
Set Rs = Nothing
'Application(CacheName&"_serverlist").Save(Server.MapPath("/Server.xml"))
End Sub
Rem 加载XML频道设置
Public Sub Load_ChannelSetting(Byval sChannelID)
Set Channel = Application(CacheName&"_channellist").documentElement.selectSingleNode("channel[@channelid="&sChannelID&"]")
If Channel Is Nothing Then
Response.write "系统找不到指定频道“"&sChannelID&"”,请<a href='"&WebDir&"User/Login.asp'>登录后台</a>,查看模版中是否存在着调用ID为“"&sChannelID&"”频道的标签,请删除!"
Response.End
End if
End Sub
Rem 加载XML网站频道列表
Public Sub Load_ChannelList()
Dim Rs, Node, TempArr, TempXml
Set Rs = Execute("select * From Cl_Channel Order by OrderID Asc,ChannelID Asc")
Set TempXml = RecordsetToxml(Rs,"channel","channellist")
Set Rs = Nothing
For Each Node In TempXml.documentElement.SelectNodes("channel")
If Clng(Node.selectSingleNode("@channeltype").text)<2 And Clng(Node.selectSingleNode("@channelid").text)<>10 then
If Node.selectSingleNode("@channelid").text =0 then
Node.selectSingleNode("@linkurl").text = WebDir & "Index.asp"
Else
Node.selectSingleNode("@linkurl").text = WebDir & Node.selectSingleNode("@channeldir").text & "/Index.asp"
End If
Else
Node.selectSingleNode("@linkurl").text = Replace(Node.selectSingleNode("@linkurl").text,"{$webdir}",InstallDir)
End If
TempArr = Split(Node.selectSingleNode("@defaultproject").text,",")
Node.attributes.setNamedItem(TempXml.createNode(2,"index_projectid","")).text= TempArr(0)
Node.attributes.setNamedItem(TempXml.createNode(2,"class_projectid","")).text= TempArr(1)
Node.attributes.setNamedItem(TempXml.createNode(2,"elite_projectid","")).text= TempArr(2)
Node.attributes.setNamedItem(TempXml.createNode(2,"hot_projectid","")).text= TempArr(3)
Node.attributes.setNamedItem(TempXml.createNode(2,"update_projectid","")).text= TempArr(4)
Node.attributes.setNamedItem(TempXml.createNode(2,"search_projectid","")).text= TempArr(5)
Node.attributes.setNamedItem(TempXml.createNode(2,"special_projectid","")).text= TempArr(6)
Node.attributes.setNamedItem(TempXml.createNode(2,"info_projectid","")).text= TempArr(7)
TempArr = Split(Node.selectSingleNode("@defaulttemplate").text,",")
Node.attributes.setNamedItem(TempXml.createNode(2,"index_templateid","")).text= TempArr(0)
Node.attributes.setNamedItem(TempXml.createNode(2,"class_templateid","")).text= TempArr(1)
Node.attributes.setNamedItem(TempXml.createNode(2,"elite_templateid","")).text= TempArr(2)
Node.attributes.setNamedItem(TempXml.createNode(2,"hot_templateid","")).text= TempArr(3)
Node.attributes.setNamedItem(TempXml.createNode(2,"update_templateid","")).text= TempArr(4)
Node.attributes.setNamedItem(TempXml.createNode(2,"search_templateid","")).text= TempArr(5)
Node.attributes.setNamedItem(TempXml.createNode(2,"special_templateid","")).text= TempArr(6)
Node.attributes.setNamedItem(TempXml.createNode(2,"info_templateid","")).text= TempArr(7)
TempArr = Split(Node.selectSingleNode("@defaultcss").text,",")
Node.attributes.setNamedItem(TempXml.createNode(2,"index_cssid","")).text= TempArr(0)
Node.attributes.setNamedItem(TempXml.createNode(2,"class_cssid","")).text= TempArr(1)
Node.attributes.setNamedItem(TempXml.createNode(2,"elite_cssid","")).text= TempArr(2)
Node.attributes.setNamedItem(TempXml.createNode(2,"hot_cssid","")).text= TempArr(3)
Node.attributes.setNamedItem(TempXml.createNode(2,"update_cssid","")).text= TempArr(4)
Node.attributes.setNamedItem(TempXml.createNode(2,"search_cssid","")).text= TempArr(5)
Node.attributes.setNamedItem(TempXml.createNode(2,"special_cssid","")).text= TempArr(6)
Node.attributes.setNamedItem(TempXml.createNode(2,"info_cssid","")).text= TempArr(7)
Node.attributes.setNamedItem(TempXml.createNode(2,"namelength","")).text= strLength(Node.selectSingleNode("@channelname").text)
Select Case Clng(Node.selectSingleNode("@moduleid").text)
Case 1
Node.attributes.setNamedItem(TempXml.createNode(2,"infotable","")).text= "Cl_Article"
Node.attributes.setNamedItem(TempXml.createNode(2,"infoname","")).text= "Title"
Case 2
Node.attributes.setNamedItem(TempXml.createNode(2,"infotable","")).text= "Cl_Soft"
Node.attributes.setNamedItem(TempXml.createNode(2,"infoname","")).text= "SoftName"
Case 3
Node.attributes.setNamedItem(TempXml.createNode(2,"infotable","")).text= "Cl_Photo"
Node.attributes.setNamedItem(TempXml.createNode(2,"infoname","")).text= "PhotoName"
Case 4
Node.attributes.setNamedItem(TempXml.createNode(2,"infotable","")).text= "Cl_Movie"
Node.attributes.setNamedItem(TempXml.createNode(2,"infoname","")).text= "MovieName"
Case 5
Node.attributes.setNamedItem(TempXml.createNode(2,"infotable","")).text= "Cl_Product"
Node.attributes.setNamedItem(TempXml.createNode(2,"infoname","")).text= "ProductName"
Case 6
Node.attributes.setNamedItem(TempXml.createNode(2,"infotable","")).text= "Cl_Supply"
Node.attributes.setNamedItem(TempXml.createNode(2,"infoname","")).text= "Title"
Case 8
Node.attributes.setNamedItem(TempXml.createNode(2,"infotable","")).text= "Cl_InfoAd"
Node.attributes.setNamedItem(TempXml.createNode(2,"infoname","")).text= "Title"
End Select
Next
Application.Lock
Set Application(CacheName&"_channellist") = TempXml
Application.unLock
Set Node = Nothing
Set TempXml = Nothing
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -