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

📄 res_create_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/ResCreator.class.asp"-->
<%
Dim Cfg, Db, FLib, Admin, RC
Set Cfg = New Config
Set Db = New DBControl
Set FLib = New FunctionLib
Set Admin = New Manager
Set RC= New ResCreator

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

If Not Admin.CheckPopedom("TSYS_GROUP4_CREATE") Then
    FLib.Alert "权限不足", "BACK", 0
    Response.End
ENd If

Db.Open()

Dim Work
    Work = Request("Work")

'选择执行操作'
Select Case Work
    Case "StartCreate" :
        StartCreate()
    Case "CreateSpecifyResource" :
        CreateSpecifyResource()
    Case Else
End Select

Function StartCreate()
    Dim class_list, CreateByField, sTime, eTime, ResType, UnCreated, TopNum
    Dim Rs, Sql, TempContent
    Dim sqlWhere, sqlTopNum, sqlTemp
    Dim ProgramStart, TotalNum, FinishedNum
        ProgramStart = Timer
        TotalNum = 0
        FinishedNum = 0

    class_list = FLib.SafeSql(Request("class_list"))
    CreateByField = FLib.SafeSql(Request("CreateByField"))
    sTime = FLib.SafeSql(Request("sTime"))
    eTime = FLib.SafeSql(Request("eTime"))
    ResType = FLib.SafeSql(Request("ResType"))
    UnCreated = FLib.SafeSql(Request("UnCreated"))
    TopNum = FLib.SafeSql(Request("TopNum"))

    Sql = "SELECT {sqlTopNum} A.*, B.template_path FROM view_resource_all A LEFT JOIN template_list B ON A.template_id=B.id WHERE {sqlWhere}"
    If TopNum<>"" AND IsNumeric(TopNum) Then
        Sql = Replace(Sql, "{sqlTopNum}", "TOP " & TopNum)
    End If

    Select Case CreateByField
        Case "1" :
            sqlWhere = "DATEDIFF(second, '" & sTime & "', A.addtime)>=0 AND DATEDIFF(second, A.addtime, '" & eTime & "')>=0 "
        Case "2" :
            sqlWhere = "DATEDIFF(second, '" & sTime & "', A.uptime)>=0 AND DATEDIFF(second, A.uptime, '" & eTime & "')>=0 "
    End Select

    Select Case ResType
        Case "1" :
            sqlWhere = sqlWhere & "AND A.deleted=0 AND A.checked=1 "
        Case "2" :
            sqlWhere = sqlWhere & "AND A.deleted=0 AND A.checked=0 "
        Case "3" :
            sqlWhere = sqlWhere & "AND A.deleted=0 "
    End Select

    If UnCreated = "1" Then
        sqlWhere = sqlWhere & "AND A.created=0 "
    End If

    If class_list <> "0" Then
        sqlWhere = sqlWhere & "AND A.class_id IN (" & class_list & ") "
    End If
    
    Sql = Replace(Sql, "{sqlWhere}", sqlWhere)
    Set Rs = Db.ExeCute(Sql)

    While Not Rs.Eof
        TotalNum =  TotalNum + 1
        TempContent = ReadTemplate(Rs("template_path"))
        If RC.CreateRes(Rs, TempContent) = 1 Then
            FinishedNum = FinishedNum + 1
        End If
        Rs.MoveNext
    Wend
    Rs.Close
    Set Rs = Nothing

    FLib.Alert "生成完毕,本次生成共花费(" & (Timer - ProgramStart) & ")秒,详细:\n1.符合生成条件数:" & TotalNum & "\n2.实际生成成功数:" & FinishedNum & "\n3.本次生成失败数:" & (TotalNum-FinishedNum) & "\n---------------------------------------------------------------\n                             生成时间:" & NOW() , "BACK", 0
    Response.End

End Function

'//生成指定资源'
Function CreateSpecifyResource()
    Dim IdList, ProgramStart, TotalNum, FinishedNum
        IdList = FLib.SafeSql(Request("IdList"))
        ProgramStart = Time()
        TotalNum = 0
        FinishedNum = 0

    If IdList = "" Then
        FLib.Alert "参数有误", "BACK", 0
        Response.End
    End If

    Dim Sql, Rs, TempContent
    Sql = "SELECT A.*, B.template_path FROM view_resource_all A LEFT JOIN template_list B ON A.template_id=B.id WHERE A.id IN (" & IdList & ") AND A.deleted=0"
    Set Rs = Db.ExeCute(Sql)
    While Not Rs.Eof
        TotalNum =  TotalNum + 1
        TempContent = ReadTemplate(Rs("template_path"))
        If RC.CreateRes(Rs, TempContent) = 1 Then
            FinishedNum = FinishedNum + 1
        End If
        Rs.MoveNext
    Wend
    Rs.Close
    Set Rs = Nothing

    FLib.Alert "生成完毕,本次生成共花费(" & (Time - ProgramStart) & ")秒,详细:\n1.符合生成条件数:" & TotalNum & "\n2.实际生成成功数:" & FinishedNum & "\n3.本次生成失败数:" & (TotalNum-FinishedNum) & "\n---------------------------------------------------------------\n                             生成时间:" & NOW() , "BACK", 0
    Response.End

End Function

Function ReadTemplate(file_path)

    If file_path = "" OR IsNull(file_path) Then
        ReadTemplate = ""
        Exit Function
    End If

    Dim Fso, Fl
    Set Fso = Server.CreateObject(Cfg.FileSystemObject_Name)

    If Not FLib.IsReallyPath(file_path) Then
        file_path = Server.MapPath(file_path)
    End If

    Set Fl = Fso.OpenTextFile(file_path)
    ReadTemplate = Fl.ReadAll()
    Fl.Close
    Set Fl = Nothing
    Set Fso = Nothing
End Function
%>

⌨️ 快捷键说明

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