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

📄 sliceupdate_process.asp

📁 一个很好的asp cms管理系统
💻 ASP
字号:
<%
Option Explicit
'----------------------------------------------------------------------------------
'本页:
'   资源模板处理页面
'说明:
'   
'----------------------------------------------------------------------------------
%>
<!--#include file="inc/Config.class.asp"-->
<!--#include file="inc/DBControl.class.asp"-->
<!--#include file="inc/FunctionLib.class.asp"-->
<!--#include file="inc/Manager.class.asp"-->
<!--#include file="inc/TagParser.class.asp"-->
<!--#include file="inc/SliceParser.class.asp"-->
<!--#include file="inc/Template.class.asp"-->
<%
Dim Cfg, Db, FLib, Admin, Tpl
Set Cfg = New Config
Set Db = New DBControl
Set FLib = New FunctionLib
Set Admin = New Manager
Set Tpl = New TemplateEngine

If Not Admin.Logined Then
    FLib.Alert "对不起,你已经超时或未登录","./",1
    Response.End
End If

Db.Open()

Dim Work
    Work = Request("Work")

'选择执行操作'
Select Case Work
    Case "ExeCuteSlice"
        ExeCuteSlice()
    Case "ExeCuteSlicePackage"
        ExeCuteSlicePackage()
End Select

Function ExeCuteSlice()
    Dim IdList, ProgramStart
    IdList = FLib.SafeSql(Request("IdList"))
    If IdList = "" Then
        Exit Function
    End If

    ProgramStart = Timer
    ExeCuteSliceById IdList

    FLib.Alert "更新完毕,本次共花费(" & (Timer - ProgramStart) & ")秒" , "BACK", 0
    Response.End

End Function

Function ExeCuteSliceById(IdList)
    Dim Sql, Rs

    Dim SParser, tmpContent, fPath
    Dim Fso, Fle
    Set Fso = Server.CreateObject(Cfg.FileSystemObject_Name)
    Set SParser = New SliceParser

    Sql = "SELECT * FROM slice_list WHERE id IN (" & IdList &")"
    Set Rs = Db.ExeCute(Sql)
    While Not Rs.Eof
        Select Case Rs("slice_type")
            Case 1 :
                tmpContent = SParser.Compile(Rs("slice_data"))
            Case 2 :
                tmpContent = Rs("slice_data")
            Case 3 :        
                Select Case FLib.ChkPathType(Rs("slice_data"))
                    Case 1 :
                        If Fso.FileExists(Rs("slice_data")) Then
                            Set Fle = Fso.OpenTextFile(Rs("slice_data"), 1)
                            tmpContent = Fle.ReadAll
                            Fle.Close
                        Else
                            tmpContent = ""
                        End If
                    Case 2 :
                        If Fso.FileExists(Server.MapPath(Rs("slice_data"))) Then
                            Set Fle = Fso.OpenTextFile(Server.MapPath(Rs("slice_data")), 1)
                            tmpContent = Fle.ReadAll
                            Fle.Close
                        Else
                            tmpContent = ""
                        End If
                    Case 3 :
                        tmpContent = FLib.readRemoteFile(Rs("slice_data"))
                End Select
            Case Else
                tmpContent = ""
        End Select

        If  FLib.ChkPathType(Rs("file_path")) = 1 Then
            fPath = Rs("file_path")
        Else
            fPath = Server.MapPath(Rs("file_path"))
        End If

        SaveSliceContent fPath, Rs("start_flag"), Rs("end_flag"), tmpContent

        Rs.MoveNext
    Wend

    Sql = "UPDATE slice_list SET last_update_date=GETDATE(), last_update_user='" & Admin.UserName & "' WHERE id IN (" & IdList & ")"
    Db.ExeCute(Sql)


End Function

Function SaveSliceContent(fPath, sFlag, eFlag, strHtml)

    'On Error Resume Next'
    Tpl.OpenTemplate(fPath)
    Tpl.StartElement    = sFlag
    Tpl.EndElement      = eFlag
    Tpl.Value           = strHtml
    Tpl.ReplaceTemplate()
    Tpl.Save()

    If Err.Number <> 0 Then
        SaveSliceContent = False
    Else
        SaveSliceContent = True
    End If
    Err.Clear()
ENd Function

Function ExeCuteSlicePackage()
    Dim Id, Sql, Rs, ProgramStart, IdList
        Id = FLib.SafeSql(Request("Id"))
    Sql = "SELECT TOP 1 * FROM slice_package_list WHERE id=" & Id
    Set Rs = Db.ExeCute(Sql)
    If Rs.Eof And Rs.Bof Then
        Rs.Close()
        Set Rs = Nothing
        FLib.Alert "记录不存在", "BACK", 0
        Response.End
    End If

    IdList = Rs("slice_id_list")
    Rs.Close()
    Set Rs = Nothing

    ProgramStart = Timer
    ExeCuteSliceById IdList
    
    Sql = "UPDATE slice_package_list SET last_update_date=GETDATE(), last_update_user='" & Admin.UserName & "' WHERE id = " & Id
    Db.ExeCute(Sql)

    FLib.Alert "更新完毕,本次共花费(" & (Timer - ProgramStart) & ")秒" , "BACK", 0
    Response.End
    
End Function
%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -