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

📄 hit

📁 WAPmo手机网站管理平台是一款创建与管理维护WAP网站的的软件产品
💻
字号:
Public Sub main()
    Set MyXML = MyKernel.XMLParser
    MyXML.Align = "center"
    MyXML.Printf MyKernel.Config("SiteName") & " 排行榜"
    MyXML.Align = "left"
    If MyIO.Env("REQUEST_METHOD") = "POST" Then
        Call doPost
    Else
        Call doGet
    End If
    Call BackHome
    Call SetLog("hit", 0)
    Call MyKernel.OutputXML(Empty)
End Sub

Private Sub doGet()
    Dim xdb
    Dim i
    Select Case MyIO.QueryString("p")
    Case "1"
        MyXML.Println "[ 总排行榜 ]" & vbCrLf
        set xdb = GetHint(wmHitAll)
    Case "2"
        MyXML.Println "[今日排行榜]" & vbCrLf
        set xdb = GetHint(wmHitToday)
    Case "3"
        MyXML.Println "[昨日排行榜]" & vbCrLf
        set xdb = GetHint(wmHitYeday)
    Case "4"
        MyXML.Println "[本周排行榜]" & vbCrLf
        set xdb = GetHint(wmHitThisWeek)
    Case "5"
        MyXML.Println "[上周排行榜]" & vbCrLf
        set xdb = GetHint(wmHitPrevWeek)
    Case "6"
        MyXML.Println "[本月排行榜]" & vbCrLf
        set xdb = GetHint(wmHitThisMonth)
    Case "7"
        MyXML.Println "[上月排行榜]" & vbCrLf
        set xdb = GetHint(wmHitPrevMonth)
    Case Else
        MyXML.Println MyXML.CreateA("hit.asp?p=" & wmHitAll, "[ 总排行榜 ]", "", "")
        MyXML.Println MyXML.CreateA("hit.asp?p=" & wmHitToday, "[今日排行榜]", "", "")
        MyXML.Println MyXML.CreateA("hit.asp?p=" & wmHitYeday, "[昨日排行榜]", "", "")
        MyXML.Println MyXML.CreateA("hit.asp?p=" & wmHitThisWeek, "[本周排行榜]", "", "")
        MyXML.Println MyXML.CreateA("hit.asp?p=" & wmHitPrevWeek, "[上周排行榜]", "", "")
        MyXML.Println MyXML.CreateA("hit.asp?p=" & wmHitThisMonth, "[本月排行榜]", "", "")
        MyXML.Println MyXML.CreateA("hit.asp?p=" & wmHitPrevMonth, "[上月排行榜]", "", "")
        Exit Sub
    End Select
    i = 1
    Do While Not xdb.EOF
        MyXML.Printf i & "、"
        MyXML.Printf MyXML.CreateA(GetStapleURL(xdb("StapleId"), 1), "[" & xdb("StapleTitle") & "]", "", "")
        MyXML.Printf MyXML.CreateA(GetContentURL(xdb("StapleId"), 1, 0, xdb("ContentId"), xdb("ContentTime"), 1), xdb("ContentTitle"), "", "")
        MyXML.Println "(" & xdb("Hit") & ")"
        xdb.MoveNext
        i = i + 1
    Loop
    Set xdb = Nothing
    MyXML.Println MyXML.CreateA("hit.asp", "返回排行榜", GetImagePrefix("images/back.gif"), "")
End Sub

Private Sub doPost()
End Sub

Private Function GetHint(ByVal x)
    Dim xdb
    Dim strName
    Dim lngTime
    Dim blnAdd
    Dim dtmTmp, lngTot
    strName = "Hit" & x
    blnAdd = False
    Set xdb = vbsre.mocom.util.XMLDB.newInstance()
    If Not xdb.Execute(strName) Then
        xdb.Append "Type", adInteger, 4
        xdb.Append "StapleId", adInteger, 4
        xdb.Append "StapleTitle", adVarChar, 50
        xdb.Append "ContentId", adInteger, 4
        xdb.Append "ContentTitle", adVarChar, 255
        xdb.Append "ContentTime", adInteger, 4
        xdb.Append "Hit", adInteger, 4
        blnAdd = True
    Else
        lngTime = atol(xdb.Config(strName))
        If lngTime = 0 Then
            blnAdd = True
        Else
            dtmTmp = Date()
            lngTot = 0
            Select Case x
            Case wmHitAll
                '一天更新一次统计
            Case wmHitToday
                '20分钟更新一次统计
                dtmTmp = Now()
                lngTot = 20 * 60
            Case wmHitYeday
                '一天更新一次统计
            Case wmHitThisWeek
                '8小时更新一次统计
                dtmTmp = Now()
                lngTot = 8 * 60 * 60
            Case wmHitPrevWeek
                '一周更新一次统计
                dtmTmp = DateAdd("d", 2 - Weekday(dtmTmp), dtmTmp)
            Case wmHitThisMonth
                '1天更新一次统计
            Case wmHitPrevMonth
                '1月更新一次统计
                dtmTmp = DateAdd("d", 1 - Day(dtmTmp), dtmTmp)
            End Select
            If lngTime < GetTime(dtmTmp) - lngTot Then
                blnAdd = True
            End If
        End If
    End If
    If blnAdd Then
        lngTime = GetTime(Now())
        xdb.Config(strName) = lngTime
        addHit xdb, x
    End If
    xdb.Filter = "@Type=" & x
    Set GetHint = xdb
    Set xdb = Nothing
    MyXML.Println "最后统计时间:" & FormatTime(lngTime, "Y-m-d H:i:s")
End Function

Private Sub addHit(xdb, ByVal x)
    Dim rs, strSQL
    Dim t1, t2
    t1 = Date()
    t2 = Date()
    Const HIT_TOTAL = 20
    Select Case x
    Case wmHitAll
        strSQL = MyKernel.DB.GetLimitSQL(HIT_TOTAL, "STAPLEID,STAPLETITLE,SEQID AS CONTENTID,TITLE AS CONTENTTITLE,INTIME AS CONTENTTIME,HIT", T_CONTENT, "HIT>0 AND HIDDEN=0 AND EXAMINE=1", "", "HIT DESC")
    Case wmHitToday
        strSQL = MyKernel.DB.GetLimitSQL(HIT_TOTAL, "STAPLEID,STAPLETITLE,CONTENTID,CONTENTTITLE,CONTENTTIME,HIT", T_CONTENT_LOG, "INTIME>=$(Startime)", "", "HIT DESC")
    Case wmHitYeday
        t1 = DateAdd("d", -1, t1)
        strSQL = MyKernel.DB.GetLimitSQL(HIT_TOTAL, "STAPLEID,STAPLETITLE,CONTENTID,CONTENTTITLE,CONTENTTIME,HIT", T_CONTENT_LOG, "(INTIME BETWEEN $(Startime) AND $(Stoptime))", "", "HIT DESC")
    Case wmHitThisWeek
        t1 = DateAdd("d", 2 - Weekday(t1), t1)
        strSQL = MyKernel.DB.GetLimitSQL(HIT_TOTAL, "STAPLEID,STAPLETITLE,CONTENTID,CONTENTTITLE,CONTENTTIME,SUM(HIT) AS HIT", T_CONTENT_LOG, "INTIME>=$(Startime)", "STAPLEID,STAPLETITLE,CONTENTID,CONTENTTITLE,CONTENTTIME", "SUM(HIT) DESC")
    Case wmHitPrevWeek
        t1 = DateAdd("d", 2 - Weekday(t1) - 7, t1)
        t2 = DateAdd("d", 2 - Weekday(t2), t2)
        strSQL = MyKernel.DB.GetLimitSQL(HIT_TOTAL, "STAPLEID,STAPLETITLE,CONTENTID,CONTENTTITLE,CONTENTTIME,SUM(HIT) AS HIT", T_CONTENT_LOG, "(INTIME BETWEEN $(Startime) AND $(Stoptime))", "STAPLEID,STAPLETITLE,CONTENTID,CONTENTTITLE,CONTENTTIME", "SUM(HIT) DESC")
    Case wmHitThisMonth
        t1 = DateAdd("d", 1 - Day(t1), t1)
        strSQL = MyKernel.DB.GetLimitSQL(HIT_TOTAL, "STAPLEID,STAPLETITLE,CONTENTID,CONTENTTITLE,CONTENTTIME,SUM(HIT) AS HIT", T_CONTENT_LOG, "INTIME>=$(Startime)", "STAPLEID,STAPLETITLE,CONTENTID,CONTENTTITLE,CONTENTTIME", "SUM(HIT) DESC")
    Case wmHitPrevMonth
        t1 = DateAdd("m", -1, t1)
        t1 = DateAdd("d", 1 - Day(t1), t1)
        t2 = DateAdd("d", 1 - Day(t2), t2)
        strSQL = MyKernel.DB.GetLimitSQL(HIT_TOTAL, "STAPLEID,STAPLETITLE,CONTENTID,CONTENTTITLE,CONTENTTIME,SUM(HIT) AS HIT", T_CONTENT_LOG, "(INTIME BETWEEN $(Startime) AND $(Stoptime))", "STAPLEID,STAPLETITLE,CONTENTID,CONTENTTITLE,CONTENTTIME", "SUM(HIT) DESC")
    End Select
    xdb.Filter = "@Type=" & x
    xdb.Delete True
    strSQL = Replace(strSQL, "$(Startime)", GetTime(t1))
    strSQL = Replace(strSQL, "$(Stoptime)", GetTime(t2))
    Set rs = MyKernel.DB.Exec2(strSQL)
    Do While Not rs.EOF
        xdb.AddNew
        xdb("Type") = x
        xdb("StapleId") = rs("StapleId")
        xdb("StapleTitle") = rs("StapleTitle")
        xdb("ContentId") = rs("ContentId")
        xdb("ContentTitle") = rs("ContentTitle")
        xdb("ContentTime") = rs("ContentTime")
        xdb("Hit") = rs("Hit")
        xdb.Update
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
End Sub

⌨️ 快捷键说明

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