⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cl_clssystem.asp

📁 淘客网上商店网站程序 淘客网上商店网站程序 淘客网上商店网站程序
💻 ASP
📖 第 1 页 / 共 5 页
字号:
<%
'===================================================
' 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 + -