📄 ixs_clsmain.asp
字号:
End If
Call SetCache(CacheName & "_" & LocalCacheName, CacheData)
Else
' 输出自定义错误 错误标题 错误信息
Err.Raise vbObjectError + 1, "iXuEr_CacheServer", " Please Change The CacheName."
End If
End Property
' ============================================
' 根据用户指派读取缓存数值
' ============================================
Public Property Get Value()
If IsDeBug = 2 Then Response.Write(" → <strong style=""color:#000000;"">Read</strong><br>")
If LocalCacheName <> "" Then
CacheData = Application(CacheName & "_" & LocalCacheName)
If IsArray(CacheData) Then
Value = CacheData(0)
Else
Err.Raise vbObjectError + 1, "iXuEr_CacheServer" , " The CacheData(" & LocalCacheName & ") Is Empty."
'Value = ""
End If
Else
Err.Raise vbObjectError + 1, "iXuEr_CacheServer", " Please Change The CacheName."
End If
End Property
' ============================================
' 判断当前缓存是否过期
' ============================================
Public Function ObjIsEmpty()
ObjIsEmpty = True
CacheData = Application(CacheName & "_" & LocalCacheName)
If Not IsArray(CacheData) Then Exit Function
If Not IsDate(CacheData(1)) Then Exit Function
If DateDiff("n", CDate(CacheData(1)), Now()) < ReloadTime Then ObjIsEmpty = False
End Function
' ============================================
' 删除缓存
' ============================================
Public Sub DelCache(MyCaheName, DelType)
MyCaheName = LCase(MyCaheName)
If IsDeBug = 2 Then Response.Write(" → <strong style=""color:#FF0000;"">Dellete</strong>")
If DelType = 1 Then
' 根据用户指派清除某个缓存的数值,但不删除该缓存
MakeEmpty(CacheName & "_" & MyCaheName)
ElseIf DelType = 0 Then
' 根据用户指派删除该缓存
Application.Contents.Remove(CacheName & "_" & MyCaheName)
End If
End Sub
' ============================================
' 检测缓存数量
' ============================================
Public Property Get Cache_Use()
Dim App, Item, Temp, i
i = 0
Set App = Application.Contents
On Error Resume Next
For Each Item In App
Temp = App(Item)
If CStr(Left(Item, Len(CacheName) + 1)) = CacheName & "_" And IsArray(Temp) Then ' 缓存变量应该是数组
If UBound(Temp) = 2 Then ' 缓存数组的最大下标为2
' 缓存数组的第二个元素是时间,第三个元素是创建信息
If IsDate(Temp(1)) And CStr(Temp(2)) = CStr(CachePowered) Then i = i + 1
End If
End If
Next
Cache_Use = i
End Property
' ============================================
' 类终结
' ============================================
Private Sub Class_Terminate
If IsObject(Conn) Then Call CloseDB()
End Sub
' ============================================
' 设置时区
' ============================================
Public Sub SetTimeZone()
Dim s_TimeZone
' 如果没有指定时区,则默认是当前系统时区
s_TimeZone = Session(CacheName & "-iXs_TimeZone")
If s_TimeZone = "" Or IsNull(s_TimeZone) Then
If TimeZone = "" Then TimeZone = Main_Setting(18)
End If
' 如果指定了时区则设置自定义
s_TimeZone = ReqNum("iXs_TimeZone", "")
If s_TimeZone <> "" Then TimeZone = s_TimeZone
Session(CacheName & "-iXs_TimeZone") = TimeZone
End Sub
' ============================================
' 设置/获取客户端信息
' ============================================
Private Property Let User_Agent(p_Value)
If p_Value = "" Then
p_User_Agent = Request.ServerVariables("HTTP_USER_AGENT")
Else
p_User_Agent = p_Value
End If
End Property
' ============================================
' 返回系统当前执行时间 单位:毫秒
' ============================================
Public Property Get RunTime()
RunTime = FormatNumber(((Timer() - StarTime) * 1000), 5, -1, -1, -1)
End Property
' ============================================
' 返回数据库查询次数
' ============================================
Public Property Get Sql_Use()
Sql_Use = p_Sql_Use
End Property
' ============================================
' 设置/返回用户操作前所浏览的页面
' ============================================
Public Property Let Referer(p_Referer)
If p_Referer = "" Or IsNull(p_Referer) Then p_Referer = Main_Setting(10)
If CheckSelfRefer(0) = False Then p_Referer = Main_Setting(10)
Session(CacheName & "-Referer") = p_Referer
End Property
Public Property Get Referer()
Referer = Session(CacheName & "-Referer")
If Referer = "" Or IsNull(Referer) Then Referer = Main_Setting(10)
If CheckSelfRefer(0) = False Then Referer = Main_Setting(10)
End Property
End Class
' --------------------------------------------------------------------------------------------
' 名称:iXuEr_CMSSkins
' 功能:系统皮肤管理类
' 时间:2006-01-09
' 作者:Guidy
' 版权:讯网 [iXuEr Studio]
' --------------------------------------------------------------------------------------------
' 备注:此模块将包含在核心类当中进行调用和处理
Class iXuEr_CMSSkins
Private p_Error, p_Charset
Public Style_Setting, Main_Style, Page_Style, Skin_Name, Style_Name, MainLang, Lang, Path
Public MainPic, Pic, MainSetting, UserFace, PicUrl, Delimiter, UpLoadInterface
Public PageTitle, PageNav, PageGuide
' ============================================
' 类模块版本
' ============================================
Public Property Get Version()
Version = "讯网网站皮肤管理类 Version 1.0.0"
End Property
' ============================================
' 获取错误信息
' ============================================
Public Property Get Description
Select Case p_Error
Case 1 : Description = "从磁盘文件加载数据失败,可能是因为系统不支持该组件:" & ServerObject_019 & ",也可能是因为您要加载的文档有问题。"
Case 2 : Description = "执行XSL变换失败,可能是因为系统不支持该组件:" & ServerObject_019 & ",也可能是因为您要加载的文档有问题。"
Case 3 : Description = ""
Case 4 : Description = ""
Case 5 : Description = ""
Case Else
Description = Empty
End Select
End Property
' ============================================
' 类模块初始化
' ============================================
Private Sub Class_Initialize()
p_Error = 0 : PageNav = "" : Path = "" : UpLoadInterface = ""
End Sub
' ============================================
' 函数名称:LoadFile
' 函数作用:从文件读取数据,用于读取模板文件
' ============================================
Public Sub Load(p_PageName)
Dim ASO, Temp
Set ASO = Server.CreateObject(ServerObject_003)
iXs.Name = "Templates_Html_" & iXs.SkinID
Call iXs.DelCache("Templates_Html_" & iXs.SkinID, 0)
If iXs.ObjIsEmpty Then
Call iXs.DelCache("Templates_Html_" & iXs.SkinID, 0)
' 入库之后需要改变文件夹命名格式
Select Case Cint(iXs.SkinID)
Case 1
Temp = ""
Case 2
Temp = ""
Case Else
Temp = "Default"
End Select
With ASO
.Mode = 3 : .Type = 2 : .Charset = "utf-8" : .Open
.LoadFromFile(Server.MapPath(MyRootPath & "Skins/" & Temp & "/Templates/" & Path & p_PageName & ".html"))
iXs.Value = .ReadText : .Cancel : .Close
End With
Set ASO = Nothing
End If
Temp = Split(iXs.Value, "@@@")
Select Case p_PageName
Case "Main_Style"
Style_Setting = Split(Temp(0), "|||")
Skin_Name = Style_Setting(0)
Style_Name = Split(Style_Setting(1), ",")(iXs.CssID)
PicUrl = MyRootPath & Style_Setting(2)
Delimiter = Split(Style_Setting(3), ",")
Main_Style = Split(Temp(1), "|||")
Case Else
Page_Style = Split(Temp(0), "|||")
End Select
End Sub
' ============================================
' 函数名称:XMLTransform
' 函数作用:执行XSL变换
' ============================================
Public Function XMLTransform(p_XML, p_XSL)
On Error Resume Next
Dim XMLDoc, XSLDoc, Temp
Set XMLDoc = Server.CreateObject(ServerObject_019)
Set XSLDoc = Server.CreateObject(ServerObject_019)
XMLDoc.Async = False
'XMLDoc.Load(Server.MapPath(p_XML))
XMLDoc.LoadXML(p_XML)
XSLDoc.Async = False
'XSLDoc.Load(Server.MapPath(p_XSL))
XSLDoc.LoadXML(p_XSL)
Temp = XMLDoc.transformNode(XSLDoc)
Set XMLDoc = Nothing
Set XSLDoc = Nothing
If Err Then
Err.Clear
p_Error = 2
XMLTransform = ""
Else
XMLTransform = Temp
End If
End Function
' ============================================
' 替换预置变量
' ============================================
Public Function Transform(p_Html)
' 增加头部、尾部信息
If iXs.CanNotMenu = False Then p_Html = Main_Style(1) & p_Html & Main_Style(2)
p_Html = Main_Style(0) & p_Html & Main_Style(3)
' 网站信息
p_Html = Replace(p_Html, "{$Web_CssID}", iXs.CssID)
p_Html = Replace(p_Html, "{$Web_StyleName}", Style_Name)
p_Html = Replace(p_Html, "{$Web_Name}", iXs.Main_Setting(6))
p_Html = Replace(p_Html, "{$Web_Title}", iXs.Main_Setting(11))
p_Html = Replace(p_Html, "{$Web_Keywords}", iXs.Main_Setting(15))
p_Html = Replace(p_Html, "{$Web_Description}", iXs.Main_Setting(16))
p_Html = Replace(p_Html, "{$Web_Logo}", iXs.Main_Setting(13))
p_Html = Replace(p_Html, "{$Web_ICPCode}", iXs.Main_Setting(19))
p_Html = Replace(p_Html, "{$Web_Copyright}", iXs.Main_Setting(17))
p_Html = Replace(p_Html, "{$Web_Email}", iXs.Main_Setting(12))
' 页面动作
If Not PageTitle = "" Then PageTitle = Delimiter(2) & PageTitle
If Not PageGuide = "" Then PageNav = PageNav & Delimiter(1)
p_Html = Replace(p_Html, "{$Page_Title}", PageTitle) ' 用于浏览器标题显示 无HTML
p_Html = Replace(p_Html, "{$Page_Nav}", PageNav) ' 用于位置导航 含HTML
p_Html = Replace(p_Html, "{$Page_Guide}", PageGuide) ' 用于显示具体操作
' 广告部分
p_Html = Replace(p_Html, "{$Ads_001}", "<div style=""width:468px;""></div>")
p_Html = Replace(p_Html, "{$Ads_002}", "<div style=""width:100%;""></div>")
' 系统变量
p_Html = Replace(p_Html, "{$System_UpLoadInterface}", UpLoadInterface)
p_Html = Replace(p_Html, "{$UpLoad_MyPath}", MyUpLoadPath)
p_Html = Replace(p_Html, "{$System_PicUrl}", PicUrl)
p_Html = Replace(p_Html, "{$System_RunTime}", iXs.RunTime())
p_Html = Replace(p_Html, "{$System_SqlUse}", iXs.Sql_Use())
p_Html = Replace(p_Html, "{$System_CacheCount}", iXs.Cache_Use())
p_Html = Replace(p_Html, "{$System_Version}", iXs.Version())
p_Html = Replace(p_Html, "{$System_BaseUrl}", iXs.BaseUrl)
p_Html = Replace(p_Html, "{$System_BaseUrl2}", Replace(LCase(iXs.BaseUrl), LCase(Path), "")) ' 临时标签
p_Html = Replace(p_Html, "{$System_GetCode}", iXs.GetCode(MyUpLoadPath))
p_Html = Replace(p_Html, "{$System_GetCodeLen}", iXs.Main_Setting(20))
p_Html = Replace(p_Html, "{$System_RootPath}", MyRootPath)
Transform = p_Html
End Function
' ============================================
' 生成随机表单名
' ============================================
Public Function CreateRndFormName(p_Name, p_Type)
Dim Temp
iXs.Main_Setting(32) = 1 ' 随机字符串是否包含大写字母 1:是,0:否;下同
iXs.Main_Setting(33) = 1 ' 随机字符串是否包含小写字母
iXs.Main_Setting(34) = 1 ' 随机字符串是否包含数字
iXs.Main_Setting(35) = 0 ' 随机字符串是否包含特殊字符
iXs.Main_Setting(36) = 0 ' 随机字符串是否包含自定义字符
Temp = "iXuEr" & p_Name & iXs.GetRndCode(8)
Select Case p_Type
Case 1 ' 密码 注册
Session(iXs.CacheName & "-iXuEr_CMS_RegPass") = Temp
Case 2 ' 用户名 登陆
Session(iXs.CacheName & "-iXuEr_CMS_LoginName") = Temp
Case 3 ' 密码 登陆
Session(iXs.CacheName & "-iXuEr_CMS_LoginPass") = Temp
Case 4 ' 验证码
Session(iXs.CacheName & "-iXuEr_CMS_GetCode") = Temp
Case Else ' 用户名 注册
Session(iXs.CacheName & "-iXuEr_CMS_RegName") = Temp
End Select
CreateRndFormName = Temp
End Function
' ============================================
' 类终结
' ============================================
Private Sub Class_Terminate
End Sub
' ============================================
' 返回错误
' ============================================
Public Property Get Error
Error = p_Error
End Property
End Class
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -