📄 cls_refresh.asp
字号:
<%
Class Class_Refresh
'────────────────────────────────
Private m_Err_Info,m_Err_NO
'────────────────────────────────
Private m_Begin_Time,m_End_Time,m_Refresh_Type,m_Refresh_ID,m_Parent_ID,m_Templet,m_SavePath,m_SaveFile_ExtName,m_SaveFileName
'────────────────────────────────
Private m_Refresh_Name,m_HTML_SavePath,m_TempletContent,m_Content,m_SaveFile_Type,m_Label_Para_Name_Array
Private m_Config_Cache,m_Class_Cache,m_FSO,m_Lables,m_More_Pages,m_ParaConts_Obj,m_Label_Loc_In_Array
Private m_Prar_Cont_Array
'────────────────────────────────
Public Property Let Begin_Time(Val)
m_Begin_Time = Val
End Property
Public Property Let End_Time(Val)
m_End_Time = Val
End Property
Public Property Let Refresh_ID(Val)
m_Refresh_ID = Val
End Property
Public Property Let Refresh_Type(Val)
m_Refresh_Type = Val
End Property
Public Property Let Parent_ID(Val)
m_Parent_ID = Val
End Property
Public Property Let Templet(Val)
m_Templet = Val
End Property
Public Property Let SaveFileName(Val)
m_SaveFileName = Val
End Property
Public Property Let SaveFile_ExtName(Val)
m_SaveFile_ExtName = Val
End Property
Public Property Let SavePath(Val)
m_SavePath = Val
End Property
'────────────────────────────────
Public Property Get Err_Info()
Err_Info = m_Err_Info
End Property
Public Property Get Err_NO()
Err_NO = m_Err_NO
End Property
'────────────────────────────────
' 测试字典数组
Private Function Dic_Test(Dic_Obj)
Dim f_Items,f_Keys,f_i
f_Items = Dic_Obj.Items
f_Keys = Dic_Obj.Keys
for f_i = 0 to Dic_Obj.Count - 1
Response.Write(f_Keys(f_i) & "---" & f_Items(f_i) & "<br>")
Next
Response.End
End Function
'────────────────────────────────
Private Sub Class_initialize()
Set m_Config_Cache = New Cls_FsCache
m_Config_Cache.Name="ConfigCache"
Set m_Class_Cache = New Cls_FsCache
m_Class_Cache.Name="ClassCache"
Set m_FSO = Server.CreateObject(G_FS_FSO)
Set m_Lables = Server.CreateObject(G_FS_DICT)
Set m_More_Pages = Server.CreateObject(G_FS_DICT)
Set m_ParaConts_Obj = Server.CreateObject(G_FS_DICT)
End Sub
'────────────────────────────────
Private Sub Class_Terminate()
Set m_Config_Cache = Nothing
Set m_Class_Cache = Nothing
Set m_FSO = Nothing
m_Lables.RemoveAll
m_More_Pages.RemoveAll
m_ParaConts_Obj.RemoveAll
Set m_Lables = Nothing
Set m_More_Pages = Nothing
Set m_ParaConts_Obj = Nothing
End Sub
'────────────────────────────────
Public Function Refresh()
Call Initial_Class
if m_Templet = "" OR m_SaveFileName = "" OR m_SavePath = "" OR m_SaveFile_ExtName = "" then
m_Err_Info = "模板、文件名、保存路径、扩展名称为空"
m_Err_NO = -1
else
ReadTempletContent m_Templet
Call ReplaceAllLable
Call GetAllLableContent
Call Return_Value
Call End_Refresh
end if
if Err.Number <> 0 then Err.Clear
if m_Err_NO > 0 then
Refresh = True
m_Err_Info = ""
elseif m_Err_NO < 0 then
Refresh = False
m_Err_Info = "错误:" & m_Err_Info
elseif m_Err_NO = 0 then
Refresh = False
m_Err_Info = "警告:" & m_Err_Info
else
Refresh = False
m_Err_Info = "错误:未知错误"
end if
End Function
'────────────────────────────────
Private Sub Initial_Class()
m_Lables.RemoveAll
Set_Fun_Value m_Refresh_Type,m_Refresh_ID,m_Begin_Time,m_End_Time
m_SaveFile_Type = m_Config_Cache.FindNeedRecord("17")
if m_Templet <> "" then m_Templet = Server.MapPath(m_Templet)
m_HTML_SavePath = m_SavePath
if m_SavePath <> "" then m_SavePath = Server.MapPath(m_SavePath)
Select Case m_Refresh_Type
Case "Index"
m_Refresh_Name = "首页"
Case "Class"
m_Refresh_Name = "栏目"
Case "Special"
m_Refresh_Name = "专题"
Case "News"
m_Refresh_Name = "新闻"
Case "Archive"
m_Refresh_Name = "归档"
m_SaveFileName = Year(m_Begin_Time) & "-" & Right("00" & Month(m_Begin_Time),2) & "-" & Right("00" & Day(m_Begin_Time),2)
Case Else
m_Refresh_Name = "未知"
End Select
m_TempletContent = ""
m_Content = ""
m_Err_Info = ""
m_Err_NO = 1
m_Label_Loc_In_Array = 0
End Sub
'────────────────────────────────
Private Sub ReadTempletContent(FilePath)
Dim f_File,f_FileStream
if FileIsExisted(FilePath) then
Set f_File = m_FSO.GetFile(FilePath)
Set f_FileStream = f_File.OpenAsTextStream(1)
if Not f_FileStream.AtEndOfStream then
m_TempletContent = f_FileStream.ReadAll
else
m_TempletContent = "模板内容为空,请添加模板内容"
end if
Set f_File = Nothing
Set f_FileStream = Nothing
else
m_TempletContent = "模板不存在,请和系统开发商联系"
end if
End Sub
'────────────────────────────────
Private Function FileIsExisted(FilePath)
if m_FSO.FileExists(FilePath) then
FileIsExisted = True
else
FileIsExisted = False
end if
End Function
'────────────────────────────────
Private Sub GetAllLableContent()
Dim f_RegEx,f_Matches,f_Key,f_Value,f_Match,f_Str
if m_TempletContent <> "" then
Set f_RegEx = New RegExp
f_RegEx.Pattern = "{%=[^{%=}]*%}"
f_RegEx.IgnoreCase = True
f_RegEx.Global = True
Set f_Matches = f_RegEx.Execute(m_TempletContent)
For Each f_Match in f_Matches
f_Key = f_Match.Value
f_Str = f_Key
f_Value = Lable_Content(f_Str)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -