源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 835|回复: 29

[ASP编程] asp常用函数集合,非常不错以后研究第1/4页

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2008-1-12 16:36:13 | 显示全部楼层 |阅读模式
asp常用函数集合,非常不错以后研究 <%
function loadtempletfile(byval path)
    on error resume next
    dim objstream
    set objstream = server.createobject("adodb.stream")
    with objstream
        .type = 2
        .mode = 3
        .open
        .loadfromfile server.mappath(path)
        if err.number <> 0 then
            err.clear
             response.write("预加载的模板[" & path & "]不存在!")
            response.end()
        end if
        .charset = "" & chrset & ""
        .position = 2
            loadtempletfile = .readtext
        .close
    end with
    set objstream = nothing
end function

function movefiles(sFolder,dFolder)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.folderexists(server.mappath(sFolder)) and fso.folderexists(server.mappath(dFolder)) then
        fso.copyfolder server.mappath(sFolder),server.mappath(dFolder)
        movefiles = true
    else
        movefiles = false
        set fso = nothing
        call alertbox("系统没有找到指定的路径[" & sFolder & "]!",2)
    end if
    set fso = nothing
end function

function renamefolder(sFolder,dFolder)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.folderexists(server.mappath(sFolder)) then
        fso.movefolder server.mappath(sFolder),server.mappath(dFolder)
        renamefolder = true
    else
        renamefolder = false
        set fso = nothing
        call alertbox("系统没有找到指定的路径[" & sFolder & "]!",2)
    end if
    set fso = nothing
end function

function checkfolder(sPATH)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.folderexists(server.mappath(sPATH)) then
        checkfolder = true
    else
        checkfolder = false
    end if
    set fso = nothing
end function

function checkfile(sPATH)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.fileexists(server.mappath(sPATH)) then
        checkfile = true
    else
        checkfile = false
    end if
    set fso = nothing
end function

function createdir(sPATH)
    dim fso,pathArr,i,path_Level,pathTmp,cPATH
    on error resume next
    sPATH = replace(sPATH,"\","/")
    set fso = server.createobject("scripting.filesystemobject")
        pathArr = split(sPATH,"/")
        path_Level = ubound(pathArr)
        for i = 0 to path_Level
            if i = 0 then pathTmp = pathArr(0) & "/" else pathTmp = pathTmp&pathArr(i) & "/"
            cPATH = left(pathTmp,len(pathTmp)-1)
            if not fso.folderexists(cPATH) then fso.createfolder(cPATH)
        next
    set fso = nothing
    if err.number <> 0 then
        err.clear
        createdir = false
    else
        createdir = true
    end if
end function

function delclassfolder(sPATH)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.folderexists(server.mappath(sPATH)) then
        fso.deletefolder(server.mappath(sPATH))
    end if
    set fso = nothing
end function

function delnewsfile(sPATH,filename)
    on error resume next
    dim fso,tempArr,cPATH,ePATH,i:i = 0
    set fso = server.createobject("scripting.filesystemobject")
    sPATH = sPATH & filename & site_extname
    if fso.fileexists(server.mappath(sPATH)) then
        fso.deletefile(server.mappath(sPATH))
        while(i <> -1)
            i = i + 1
            ePATH = replace(sPATH,filename & ".",filename & "_" & i + 1 & ".")
            if fso.fileexists(server.mappath(ePATH)) then
                fso.deletefile(server.mappath(ePATH))
            else
                i = -1
            end if
        wend
    end if
end function

class stringclass
    public function getstr(strhtml)
        dim PatrnStr
            PatrnStr="<.*?>"
        dim objRegEx
        set objRegEx = new RegExp
            objRegEx.pattern = PatrnStr
            objRegEx.ignorecase = true
            objRegEx.global = true
        getstr = objRegEx.replace(strhtml,"")
        set objRegEx = nothing
    end function
    public function replacestr(patrn,mstr,replstr)
        dim objRegEx
        set objRegEx = new RegExp
            objRegEx.pattern = patrn
            objRegEx.ignorecase = true
            objRegEx.global = true
        replacestr = objRegEx.replace(mstr,replstr)
        set objRegEx = nothing
    end function
    public function classcustomtag(byval patrn,byval mstr,byval classid,byval indexid,byval pagestr)
        dim objRegEx,match,matches
        set objRegEx = new RegExp
            objRegEx.pattern = patrn
            objRegEx.ignorecase = true
            objRegEx.global = true
        set matches = objRegEx.execute(mstr)
        for each match in matches
            mstr = replace(mstr,match.value,parseclasstag(match.value,classid,indexid,pagestr))
        next
        set matches = nothing
        set objRegEx = nothing
        classcustomtag = mstr
    end function
    public function newscustomtag(byval patrn,byval mstr,byval classid,byval newsid,byval keywords)
        dim objRegEx,match,matches
        set objRegEx = new RegExp
            objRegEx.pattern = patrn
            objRegEx.ignorecase = true
            objRegEx.global = true
        set matches = objRegEx.execute(mstr)
        for each match in matches
            mstr = replace(mstr,match.value,parsenewstag(match.value,classid,newsid,keywords))
        next
        set matches = nothing
        set objRegEx = nothing
        newscustomtag = mstr
    end function
end class

function processcustomtag(byval scontent)
    dim objRegEx,match,matches
    set objRegEx = new RegExp
        objRegEx.pattern = "{ncms:[^<>]+?\/}"
        objRegEx.ignorecase = true
        objRegEx.global = true
    set matches = objRegEx.execute(scontent)
    for each match in matches
        scontent = replace(scontent,match.value,parsetag(match.value))
    next
    set matches = nothing
    set objRegEx = nothing
    processcustomtag = scontent
end function

function X_processcustomtag(byval scontent)
    dim objRegEx,match,matches
    set objRegEx = new RegExp
        objRegEx.pattern = "(\[ncms:).+?(\])(.|\n)+?(\[\/ncms\])"
        objRegEx.ignorecase = true
        objRegEx.global = true
    set matches = objRegEx.execute(scontent)
    for each match in matches
        scontent = replace(scontent,match.value,parsetag(match.value))
    next
    set matches = nothing
    set objRegEx = nothing
    X_processcustomtag = scontent
end function

function getattribute(byval strattribute,byval strtag)
    dim objRegEx,matches
    set objRegEx = new RegExp
        objRegEx.pattern = lcase(strattribute)&"=""[0-9a-zA-Z]*"""
        objRegEx.ignorecase = true
        objRegEx.global = true
    set matches = objRegEx.execute(strtag)
    if matches.count > 0 then
        getattribute = split(matches(0).value,"""")(1)
    else
        getattribute = ""
    end if
    set matches = nothing
    set objRegEx = nothing
end function

function getinnerhtml(byval strhtml)
    dim objregex,matches,str
    set objregex = new regexp
    objregex.pattern = "(\])(.|\n)+?(\[\/ncms\])"
    objregex.ignorecase = true
    objregex.global = false
    set matches = objregex.execute(strhtml)
        if matches.count > 0 then
            str = trim(matches.item(0).value)
        end if
    set matches = nothing
    if len(str) > 8 then
        getinnerhtml = mid(str,2,len(str) - 8)
    end if
end function

function parsetag(byval strtag)
    dim arrresult,classname,arrattributes,objclass
    if len(strtag) = 0 then exit function
    arrresult = split(strtag,":")
    classname = split(arrresult(1)," ")(0)
    select case lcase(classname)
        case "news"
            set objclass = new ncmsnewstag
                if not isnumeric(getattribute("id",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[id]必须是数字!")
                    response.end()
                end if
                objclass.id = getattribute("id",strtag)
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[num]必须是数字!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                objclass.show = getattribute("show",strtag)
                if getattribute("lih",strtag) <> "" and not isnumeric(getattribute("lih",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[lih]必须是数字!")
                    response.end()
                end if
                objclass.lih = getattribute("lih",strtag)
                if getattribute("imgw",strtag) <> "" and not isnumeric(getattribute("imgw",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[imgw]必须是数字!")
                    response.end()
                end if
                objclass.imgw = getattribute("imgw",strtag)
                if getattribute("imgh",strtag) <> "" and not isnumeric(getattribute("imgh",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[imgh]必须是数字!")
                    response.end()
                end if
                objclass.imgh = getattribute("imgh",strtag)
                if getattribute("tgt",strtag) <> "" and getattribute("tgt",strtag) <> "blank" then
                    response.write("标签[ncms:news]参数错误!参数[tgt]必须是[<font color=""red"">blank</font>]!")
                    response.end()
                end if
                objclass.tgt = getattribute("tgt",strtag)
                if getattribute("hit",strtag) <> "" and not isnumeric(getattribute("hit",strtag)) then
                    response.write("标签[ncms:free]参数错误!参数[hit]必须是数字!")
                    response.end()
                end if
                objclass.hit = getattribute("hit",strtag)
                if not isnumeric(getattribute("col",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[col]必须是数字!")
                    response.end()
                end if
                parsetag = objclass.newsshow(getattribute("ty",strtag),getattribute("col",strtag))
            set objclass = nothing
        case "free"
            set objclass = new X_ncmsnewstag
                if not isnumeric(getattribute("id",strtag)) then
                    response.write("标签[ncms:free]参数错误!参数[id]必须是数字!")
                    response.end()
                end if
                objclass.id = getattribute("id",strtag)
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[ncms:free]参数错误!参数[num]必须是数字!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[news:free]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                objclass.show = getattribute("show",strtag)
                if getattribute("lih",strtag) <> "" and not isnumeric(getattribute("lih",strtag)) then
                    response.write("标签[ncms:free]参数错误!参数[lih]必须是数字!")
                    response.end()
                end if
                objclass.lih = getattribute("lih",strtag)
                if getattribute("hit",strtag) <> "" and not isnumeric(getattribute("hit",strtag)) then
                    response.write("标签[ncms:free]参数错误!参数[hit]必须是数字!")
                    response.end()
                end if
                objclass.hit = getattribute("hit",strtag)
                if not isnumeric(getattribute("col",strtag)) then
                    response.write("标签[ncms:free]参数错误!参数[col]必须是数字!")
                    response.end()
                end if
                parsetag = objclass.newsshow(getattribute("ty",strtag),getattribute("col",strtag),getinnerhtml(strtag))
        case "menu"
            set objclass = new ncmsmenutag
                parsetag = objclass.menushow(getattribute("show",strtag))
            set objclass = nothing
        case "info"
            set objclass = new ncmsinfotag
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[ncms:info]参数错误!参数[num]必须是数字!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[ncms:info]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                parsetag = objclass.infoshow()
            set objclass = nothing
        case "head"
            set objclass = new ncmsheadtag
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[ncms:head]参数错误!参数[num]必须是数字!")
                    response.end()
                elseif getattribute("num",strtag) > 6 then
                    response.write("标签[ncms:head]参数错误!参数[num]在[1-6]之间!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[ncms:head]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                if getattribute("imgw",strtag) <> "" and not isnumeric(getattribute("imgw",strtag)) then
                    response.write("标签[ncms:head]参数错误!参数[imgw]必须是数字!")
                    response.end()
                end if
                objclass.imgw = getattribute("imgw",strtag)
                if getattribute("imgh",strtag) <> "" and not isnumeric(getattribute("imgh",strtag)) then
                    response.write("标签[ncms:head]参数错误!参数[imgh]必须是数字!")
                    response.end()
                end if
                objclass.imgh = getattribute("imgh",strtag)
                if getattribute("size",strtag) <> "" and not isnumeric(getattribute("size",strtag)) then
                    response.write("标签[ncms:head]参数错误!参数[size]必须是数字!")
                    response.end()
                end if
                objclass.size = getattribute("size",strtag)
                parsetag = objclass.headshow(getattribute("ty",strtag))
            set objclass = nothing
        case "link"
            set objclass = new ncmslinktag
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[ncms:link]参数错误!参数[num]必须是数字!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("col",strtag)) then
                    response.write("标签[ncms:link]参数错误!参数[col]必须是数字!")
                    response.end()
                end if
                parsetag = objclass.linkshow(getattribute("ty",strtag),getattribute("col",strtag))
            set objclass = nothing
        case else
            response.write("标签[ncms:xxx]构造错误!")
            response.end()
    end select
end function

function parseclasstag(byval strtag,byval classid,byval indexid,byval pagestr)
    dim arrresult,classname,arrattributes,objclass
    if len(strtag) = 0 then exit function
    arrresult = split(strtag,":")
    classname = split(arrresult(1)," ")(0)
    select case lcase(classname)
        case "list"
            set objclass = new ncmsclasstag
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[news:list]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                objclass.order = getattribute("order",strtag)
                if getattribute("lih",strtag) <> "" and not isnumeric(getattribute("lih",strtag)) then
                    response.write("标签[news:list]参数错误!参数[lih]必须是数字!")
                    response.end()
                end if
                objclass.lih = getattribute("lih",strtag)
                if not isnumeric(getattribute("col",strtag)) then
                    response.write("标签[news:list]参数错误!参数[col]必须是数字!")
                    response.end()
                end if
                parseclasstag = objclass.classshow(getattribute("ty",strtag),getattribute("col",strtag),classid,indexid,pagestr)
            set objclass = nothing
        case else
            response.write("标签[news:xxxx]构造错误!")
            response.end()
    end select
end function

function parsenewstag(byval strtag,byval classid,byval newsid,byval keywords)
    dim arrresult,classname,arrattributes,objclass
    if len(strtag) = 0 then exit function
    arrresult = split(strtag,":")
    classname = split(arrresult(1)," ")(0)
    select case lcase(classname)
        case "relate"
            set objclass = new ncmsrelatetag
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[news:relate]参数错误!参数[num]必须是数字!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[news:relate]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                if getattribute("lih",strtag) <> "" and not isnumeric(getattribute("lih",strtag)) then
                    response.write("标签[news:relate]参数错误!参数[lih]必须是数字!")
                    response.end()
                end if
                objclass.lih = getattribute("lih",strtag)
                if not isnumeric(getattribute("col",strtag)) then
                    response.write("标签[news:relate]参数错误!参数[col]必须是数字!")
                    response.end()
                end if
                parsenewstag = objclass.relateshow(getattribute("col",strtag),classid,newsid,keywords)
            set objclass = nothing
        case "page"
            set objclass = new ncmspagetag
                parsenewstag = objclass.pageshow(getattribute("show",strtag),classid,newsid)
            set objclass = nothing
        case else
            response.write("标签[news:xxxx]构造错误!")
            response.end()
    end select
end function

function getcurclasscount(classid)
    dim rs,curclasscount
    set rs = conn.execute("select count(*) from NCMS_news where classid in(" & classid & allchildclass(classid) & ")")
    if instr(rs(0)/n_listnum,".") <> 0 then
        curclasscount = fix(rs(0)/n_listnum) + 1
    else
        curclasscount = rs(0)/n_listnum
    end if
    rs.close:set rs = nothing
    getcurclasscount = curclasscount
end function

class ncmsclasstag
    public ty,len,order,lih
    public function classshow(stype,scolumn,classid,indexid,pagestr)
        dim TempHTM,xsql,rs,sql,databox,l,obox
            TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
            TempHTM = TempHTM & "<tr>" & chr(10)
        if indexid = "" or indexid = 0 then
            indexid = 1
        end if
        select case stype
            case "text"
                set rs = server.createobject("adodb.recordset")
                if order = "desc" then
                    sql = "select classid,title,click,filename,addtime from NCMS_news where classid in(" & classid & allchildclass(classid) & ") and created=1 and pagetype=0 order by id desc"
                elseif order = "asc" then
                    sql = "select classid,title,click,filename,addtime from NCMS_news where classid in(" & classid & allchildclass(classid) & ") and created=1 and pagetype=0 order by id asc"
                else
                    response.write("标签[news:list]参数[order]错误!")
                    response.end()
                end if
                rs.cursorlocation = 3
                rs.open sql,conn,1,3
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
                    classshow = TempHTM
                    exit function
                end if
                rs.pagesize = n_listnum
                rs.absolutepage = indexid
                for l = 1 to rs.pagesize
                    if rs.eof then exit for
                    TempHTM = TempHTM & "<td height=""" & lih & """ align=""left"" valign=""middle"">·<a href=""" & site_root & "/" & site_html & "/" & getclasspath(rs("classid")) & "/" & rs("filename") & site_extname & """ title=""" & rs("title") & """>" & gottopic(rs("title"),len) & "</a></td>" & chr(10)
                    TempHTM = TempHTM & "<td height=""" & lih & """ align=""center"" valign=""middle"">" & rs("click") & "</td>" & chr(10)
                    TempHTM = TempHTM & "<td height=""" & lih & """ align=""center"" valign=""middle"">" & rs("addtime") & "</td>" & chr(10)
                    if l = rs.pagesize then
                        TempHTM = TempHTM & "</tr>" & chr(10)
                    else
                        if cint(l mod scolumn) = 0 then
                            TempHTM = TempHTM & "</tr>" & chr(10)
                            TempHTM = TempHTM & "<tr>" & chr(10)
                        end if
                    end if
                    rs.movenext
                next
                rs.close:set rs = nothing
                TempHTM = TempHTM & "</table>" & chr(10)
                classshow = TempHTM & pagestr
            case "image"
                if IsObjInstalled("persits.jpeg") = true and jpeg_gate = 0 then
                    set rs = server.createobject("adodb.recordset")
                    if order = "desc" then
                        sql = "select classid,title,bimg,filename,addtime from NCMS_news where classid in(" & classid & allchildclass(classid) & ") and isimg=1 and created=1 and pagetype=0 order by id desc"
                    elseif order = "asc" then
                        sql = "select classid,title,bimg,filename,addtime from NCMS_news where classid in(" & classid & allchildclass(classid) & ") and isimg=1 and created=1 and pagetype=0 order by id asc"
                    else
                        response.write("标签[news:list]参数[order]错误!")
                        response.end()
                    end if
                    rs.cursorlocation = 3
                    rs.open sql,conn,1,3
                    if rs.eof then
                        rs.close:set rs = nothing
                        TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
                        classshow = TempHTM
                        exit function
                    end if
                    rs.pagesize = n_listnum
                    rs.absolutepage = indexid
                    for l = 1 to rs.pagesize
                        if rs.eof then exit for
                        TempHTM = TempHTM & "<td><div id=""simg""><a href=""" & site_root & "/" & site_html & "/" & getclasspath(rs("classid")) & "/" & rs("filename") & site_extname & """><img height=""" & jpeg_height & """ src=""" & site_root & "/" & site_upload & "/" & site_simg & "/" & rs("bimg") & """ width=""" & jpeg_width & """ alt=""" & rs("title") & """ /></a></div></td>" & chr(10)
                        if l = rs.pagesize then
                            TempHTM = TempHTM & "</tr>" & chr(10)
                        else
                            if cint(l mod scolumn) = 0 then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                                TempHTM = TempHTM & "<tr>" & chr(10)
                            end if
                        end if
                        if checkfile("" & site_root & "/" & site_upload & "/" & site_bimg & "/" & rs("bimg") & "") = true then
                            set obox = server.createobject("persits.jpeg")
                                obox.open server.mappath("" & site_root & "/" & site_upload & "/" & site_bimg & "/" & rs("bimg") & "")
                                obox.width = jpeg_width
                                obox.height = jpeg_height
                                obox.save server.mappath("" & site_root & "/" & site_upload & "/" & site_simg & "/" & rs("bimg") & "")
                            set obox = nothing
                        end if
                        rs.movenext
                    next
                    rs.close:set rs = nothing
                    TempHTM = TempHTM & "</table>" & chr(10)
                    classshow = TempHTM & pagestr
                else
                    set rs = server.createobject("adodb.recordset")
                    if order = "desc" then
                        sql = "select classid,title,bimg,filename,addtime from NCMS_news where classid in(" & classid & allchildclass(classid) & ") and isimg=1 and created=1 and pagetype=0 order by id desc"
                    elseif order = "asc" then
                        sql = "select classid,title,bimg,filename,addtime from NCMS_news where classid in(" & classid & allchildclass(classid) & ") and isimg=1 and created=1 and pagetype=0 order by id asc"
                    else
                        response.write("标签[news:list]参数[order]错误!")
                        response.end()
                    end if
                    rs.cursorlocation = 3
                    rs.open sql,conn,1,3
                    if rs.eof then
                        rs.close:set rs = nothing
                        TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
                        classshow = TempHTM
                        exit function
                    end if
                    rs.pagesize = n_listnum
                    rs.absolutepage = indexid
                    for l = 1 to rs.pagesize
                        if rs.eof then exit for
                        TempHTM = TempHTM & "<td><div id=""simg""><a href=""" & site_root & "/" & site_html & "/" & getclasspath(rs("classid")) & "/" & rs("filename") & site_extname & """><img height=""" & jpeg_height & """ src=""" & site_root & "/" & site_upload & "/" & site_bimg & "/" & rs("bimg") & """ width=""" & jpeg_width & """ alt=""" & rs("title") & """ /></a></div></td>" & chr(10)
                        if l = rs.pagesize then
                            TempHTM = TempHTM & "</tr>" & chr(10)
                        else
                            if cint(l mod scolumn) = 0 then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                                TempHTM = TempHTM & "<tr>" & chr(10)
                            end if
                        end if
                        rs.movenext
                    next
                    rs.close:set rs = nothing
                    TempHTM = TempHTM & "</table>" & chr(10)
                    classshow = TempHTM & pagestr
                end if
            case else
                response.write("标签[news:list]参数[ty]错误!")
                response.end()
        end select
    end function
end class
asp常用函数集合,非常不错以后研究
class ncmsnewstag
    public id,ty,show,len,num,lih,imgw,imgh,tgt,hit
    public function newsshow(stype,scolumn)
        dim TempHTM,xsql,rs,databox,i,imgdot,obox
            TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
            TempHTM = TempHTM & "<tr>" & chr(10)
        if tgt = "" then
            tgt = "self"
        end if
        select case stype
            case "text"
                if show = "new" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " classid,title,isimg,filename from NCMS_news where created=1 and pagetype=0 order by id desc")
                    else
                        set rs = conn.execute("select top " & num & " classid,title,isimg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and created=1 and pagetype=0 order by id desc")
                    end if
                elseif show = "elite" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " classid,title,isimg,filename from NCMS_news where elite=1 and created=1 and pagetype=0 order by id desc")
                    else
                        set rs = conn.execute("select top " & num & " classid,title,isimg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and elite=1 and created=1 and pagetype=0 order by id desc")
                    end if
                elseif show = "hot" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " classid,title,isimg,filename from NCMS_news where click>=" & hit & " and created=1 and pagetype=0 order by click desc")
                    else
                        set rs = conn.execute("select top " & num & " classid,title,isimg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and click>=" & hit & " and created=1 and pagetype=0 order by click desc")
                    end if
                else
                    response.write("标签[ncms:news]参数[show]错误!")
                    response.end()
                end if
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
                    newsshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        if databox(2,i) = 1 and show = "new" then
                            imgdot = "[<font color=""red"" size=""2"">图</font>]"
                        else
                            imgdot = ""
                        end if
                        TempHTM = TempHTM & "<td height=""" & lih & """ align=""left"" valign=""middle"">·<a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(0,i)) & "/" & databox(3,i) & site_extname & """ title=""" & databox(1,i) & """ target=""_" & tgt & """>" & gottopic(databox(1,i),len) & imgdot & "</a></td>" & chr(10)
                        if i = ubound(databox,2) then
                            TempHTM = TempHTM & "</tr>" & chr(10)
                        else
                            if cint((i+1) mod scolumn) = 0 then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                                TempHTM = TempHTM & "<tr>" & chr(10)
                            end if
                        end if
                    next
                    databox = ""
                    TempHTM = TempHTM & "</table>" & chr(10)
                    newsshow = TempHTM
                end if
            case "image"
                if IsObjInstalled("persits.jpeg") = true and jpeg_gate = 0 then
                    if show = "new" then
                        if id = 0 then
                            set rs = conn.execute("select top " & num & " classid,title,bimg,simg,filename from NCMS_news where isimg=1 and created=1 and pagetype=0 order by id desc")
                        else
                            set rs = conn.execute("select top " & num & " classid,title,bimg,simg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and isimg=1 and created=1 and pagetype=0 order by id desc")
                        end if
                    elseif show = "elite" then
                        if id = 0 then
                            set rs = conn.execute("select top " & num & " classid,title,bimg,simg,filename from NCMS_news where elite=1 and isimg=1 and created=1 and pagetype=0 order by id desc")
                        else
                            set rs = conn.execute("select top " & num & " classid,title,bimg,simg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and elite=1 and isimg=1 and created=1 and pagetype=0 order by id desc")
                        end if
                    elseif show = "hot" then
                        if id = 0 then
                            set rs = conn.execute("select top " & num & " classid,title,bimg,simg,filename from NCMS_news where click>=" & hit & " and isimg=1 and created=1 and pagetype=0 order by id desc")
                        else
                            set rs = conn.execute("select top " & num & " classid,title,bimg,simg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and click>=" & hit & " and isimg=1 and created=1 and pagetype=0 order by id desc")
                        end if
                    else
                        response.write("标签[ncms:news]参数[show]错误!")
                        response.end()
                    end if
                    if rs.eof then
                        rs.close:set rs = nothing
                        TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
                        newsshow = TempHTM
                        exit function
                    else
                        databox = rs.getrows()
                        rs.close:set rs = nothing
                        for i = 0 to ubound(databox,2)
                            TempHTM = TempHTM & "<td>" & chr(10)
                            TempHTM = TempHTM & "<div id=""simg""><a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(0,i)) & "/" & databox(4,i) & site_extname & """ target=""_" & tgt & """><img src=""" & site_root & "/" & site_upload & "/" & site_simg & "/" & databox(2,i) & """ alt=""" & databox(1,i) & """ /><br />" & gottopic(databox(1,i),len) & "</a></div>" & chr(10)
                            TempHTM = TempHTM & "</td>" & chr(10)
                            if i = ubound(databox,2) then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                            else
                                if cint((i+1) mod scolumn) = 0 then
                                    TempHTM = TempHTM & "</tr>" & chr(10)
                                    TempHTM = TempHTM & "<tr>" & chr(10)
                                end if
                            end if
                            if checkfile("" & site_root & "/" & site_upload & "/" & site_bimg & "/" & databox(2,i) & "") = true then
                                set obox = server.createobject("persits.jpeg")
                                    obox.open server.mappath("" & site_root & "/" & site_upload & "/" & site_bimg & "/" & databox(2,i) & "")
                                if imgw = "" or imgh = "" then
                                    obox.width = jpeg_width
                                    obox.height = jpeg_height
                                else
                                    obox.width = imgw
                                    obox.height = imgh
                                end if
                                    obox.save server.mappath("" & site_root & "/" & site_upload & "/" & site_simg & "/" & databox(3,i) & "")
                                set obox = nothing
                            end if
                        next
                        databox = ""
                        TempHTM = TempHTM & "</tr>" & chr(10)
                        TempHTM = TempHTM & "</table>" & chr(10)
                        newsshow = TempHTM
                    end if
                else
                    if show = "new" then
                        if id = 0 then
                            set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where isimg=1 and created=1 and pagetype=0 order by id desc")
                        else
                            set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and isimg=1 and created=1 and pagetype=0 order by id desc")
                        end if
                    elseif show = "elite" then
                        if id = 0 then
                            set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where elite=1 and isimg=1 and created=1 and pagetype=0 order by id desc")
                        else
                            set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and elite=1 and isimg=1 and created=1 and pagetype=0 order by id desc")
                        end if
                    elseif show = "hot" then
                        if id = 0 then
                            set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where click>=" & hit & " and isimg=1 and created=1 and pagetype=0 order by id desc")
                        else
                            set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and click>=" & hit & " and isimg=1 and created=1 and pagetype=0 order by id desc")
                        end if
                    else
                        response.write("标签[ncms:news]参数[show]错误!")
                        response.end()
                    end if
                    if rs.eof then
                        rs.close:set rs = nothing
                        TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
                        newsshow = TempHTM
                        exit function
                    else
                        databox = rs.getrows()
                        rs.close:set rs = nothing
                        for i = 0 to ubound(databox,2)
                            TempHTM = TempHTM & "<td><div id=""simg""><a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(0,i)) & "/" & databox(3,i) & site_extname & """ target=""_" & tgt & """><img height=""" & jpeg_height & """ src=""" & site_root & "/" & site_upload & "/" & site_bimg & "/" & databox(2,i) & """ width=""" & jpeg_width & """ alt=""" & databox(1,i) & """ /></a></div></td>" & chr(10)
                            if i = ubound(databox,2) then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                            else
                                if cint((i+1) mod scolumn) = 0 then
                                    TempHTM = TempHTM & "</tr>" & chr(10)
                                    TempHTM = TempHTM & "<tr>" & chr(10)
                                end if
                            end if
                        next
                        databox = ""
                        TempHTM = TempHTM & "</tr>" & chr(10)
                        TempHTM = TempHTM & "</table>" & chr(10)
                        newsshow = TempHTM
                    end if
                end if
            case else
                response.write("标签[ncms:news]参数[ty]错误!")
                response.end()
        end select
    end function
end class

class ncmsinfotag
    public len,num
    public function infoshow()
        dim TempHTM,rs,databox,i
            TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
            TempHTM = TempHTM & "<tr>" & chr(10)
        set rs = conn.execute("select top " & num & " content,addtime from NCMS_info order by addtime desc")
        if rs.eof then
            rs.close:set rs = nothing
            TempHTM = "<li><font color=""red"">暂时没有公告信息!</font></li>"
            infoshow = TempHTM
            exit function
        else
            databox = rs.getrows()
            rs.close:set rs = nothing
            for i = 0 to ubound(databox,2)
                TempHTM = TempHTM & "<td>" & gottopic(databox(0,i),len) & "(" & databox(1,i) & ")</td>" & chr(10)
            next
            databox = ""
            TempHTM = TempHTM & "</tr>" & chr(10)
            TempHTM = TempHTM & "</table>" & chr(10)
            infoshow = TempHTM
        end if
    end function
end class

class ncmsheadtag
    public ty,len,num,imgw,imgh,size
    public function headshow(stype)
        dim rs,databox,TempHTM,i,NcmsP,NcmsL,NcmsT,tempstr:tempstr = "|"
        select case stype
            case "text"
                TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
                set rs = conn.execute("select top " & num & " id,classid,title,content,filename from NCMS_news where head=1 and isimg=0 and created=1 and pagetype=0 order by id desc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = "<li><font color=""red"">暂时没有头条新闻!</font></li>"
                    headshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        TempHTM = TempHTM & "<tr><td><a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(1,i)) & "/" & databox(4,i) & site_extname & """ target=""_blank""><font size=""" & size & """><b>" & databox(2,i) & "</b></font></a></td></tr>" & chr(10)
                        TempHTM = TempHTM & "<tr><td>" & gottopic(LoseHtml(databox(3,i)),len) & "[<a href=""" & site_root & "/tools/comment.asp?newsid=" & databox(0,i) & "&newstitle=" & getnewstitle(databox(0,i)) & "#comment"" target=""_blank"" title=""评论""><font color=""red"" size=""2"">评论</font></a>]</td></tr>" & chr(10)
                    next
                    databox = ""
                    TempHTM = TempHTM & "</table>" & chr(10)
                    headshow = TempHTM
                end if
            case "image"
                set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where head=1 and isimg=1 and created=1 and pagetype=0 order by id desc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = "<li><font color=""red"">暂时没有头条新闻!</font></li>"
                    headshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        NcmsP = NcmsP & "" & site_root & "/" & site_upload & "/" & site_bimg & "/" & databox(2,i) & tempstr & ""
                        NcmsL = NcmsL & "" & site_root & "/" & site_html & "/" & getclasspath(databox(0,i)) & "/" & databox(3,i) & site_extname & tempstr & ""
                        NcmsT = NcmsT & "" & gottopic(databox(1,i),len) & tempstr & ""
                    next
                    databox = ""
                    TempHTM = TempHTM & "" & chr(10) & "<script language=""JavaScript"" type=""text/javascript"">" & chr(10)
                    TempHTM = TempHTM & "<!--" & chr(10)
                    TempHTM = TempHTM & "var NcmsPW = " & imgw & "" & chr(10)
                    TempHTM = TempHTM & "var NcmsPH = " & imgh & "" & chr(10)
                    TempHTM = TempHTM & "var NcmsTH = 0" & chr(10)
                    TempHTM = TempHTM & "var NcmsAH = NcmsPH + NcmsTH" & chr(10)
                    TempHTM = TempHTM & "var NcmsP = '" & left(NcmsP,strlength(NcmsP) - 1) & "'" & chr(10)
                    TempHTM = TempHTM & "var NcmsL = '" & left(NcmsL,strlength(NcmsL) - 1) & "'" & chr(10)
                    TempHTM = TempHTM & "var NcmsT = '" & left(NcmsT,strlength(NcmsT) - 1) & "'" & chr(10)
                    TempHTM = TempHTM & "document.write('<object classid=""clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"" codebase=""http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"" width=""'+NcmsPW+'"" height=""'+NcmsAH+'"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""allowScriptAccess"" value=""sameDomain"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""movie"" value=""" & site_root & "/images/ncms/head.swf"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""quality"" value=""high"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""bgcolor"" value=""#252f3c"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""menu"" value=""false"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""wmode"" value=""opaque"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""FlashVars"" value=""pics='+NcmsP+'&links='+NcmsL+'&texts='+NcmsT+'&borderwidth='+NcmsPW+'&borderheight='+NcmsPH+'&NcmsTHeight='+NcmsTH+'"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<embed src=""" & site_root & "/images/ncms/head.swf"" wmode=""opaque"" FlashVars=""pics='+NcmsP+'&links='+NcmsL+'&texts='+NcmsT+'&borderwidth='+NcmsPW+'&borderheight='+NcmsPH+'&NcmsTHeight='+NcmsTH+'"" menu=""false"" bgcolor=""#252f3c"" quality=""high"" width=""'+NcmsPW+'"" height=""'+NcmsAH+'"" allowScriptAccess=""sameDomain"" type=""application/x-shockwave-flash"" pluginspage=""http://www.macromedia.com/go/getflashplayer"" />');" & chr(10)
                    TempHTM = TempHTM & "document.write('</object>');" & chr(10)
                    TempHTM = TempHTM & "//-->" & chr(10)
                    TempHTM = TempHTM & "</script>" & chr(10)
                    headshow = TempHTM
                end if
            case else
                response.write("标签[ncms:head]参数[ty]错误!")
                response.end()
        end select
    end function
end class

class ncmslinktag
    public num,ty
    public function linkshow(stype,scolumn)
        dim TempHTM,rs,databox,i
            TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
            TempHTM = TempHTM & "<tr>" & chr(10)
        select case stype
            case "text"
                set rs = conn.execute("select top " & num & " name,site from NCMS_link where kinds=0 order by orders asc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = "<li><font color=""red"">暂时没有文字连接!</font></li>"
                    linkshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        TempHTM = TempHTM & "<td><a href=""" & databox(1,i) & """ title=""" & databox(0,i) & """ target=""_blank"">" & databox(0,i) & "</a></td>" & chr(10)
                        if i = ubound(databox,2) then
                            TempHTM = TempHTM & "</tr>" & chr(10)
                        else
                            if cint((i+1) mod scolumn) = 0 then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                                TempHTM = TempHTM & "<tr>" & chr(10)
                            end if
                        end if
                    next
                    databox = ""
                    TempHTM = TempHTM & "</table>" & chr(10)
                    linkshow = TempHTM
                end if
            case "image"
                set rs = conn.execute("select top " & num & " name,site,logo from NCMS_link where kinds=1 order by orders asc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = "<li><font color=""red"">暂时没有图片连接!</font></li>"
                    linkshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        TempHTM = TempHTM & "<td><a href=""" & databox(1,i) & """ target=""_blank""><img src=""" & databox(2,i) & """ alt=""" & databox(0,i) & """ /></a></td>" & chr(10)
                        if i = ubound(databox,2) then
                            TempHTM = TempHTM & "</tr>" & chr(10)
                        else
                            if cint((i+1) mod scolumn) = 0 then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                                TempHTM = TempHTM & "<tr>" & chr(10)
                            end if
                        end if
                    next
                    databox = ""
                    TempHTM = TempHTM & "</table>" & chr(10)
                    linkshow = TempHTM
                end if
            case else
                response.write("标签[ncms:link]参数[ty]错误!")
                response.end()
        end select
    end function
end class

class ncmsmenutag
    public show
    public function menushow(stype)
        dim TempHTM,rs,databox,i,tempstr:tempstr = " | "
        select case stype
            case "center"
                TempHTM = "" & chr(10) & "<div id=""navbox"">" & chr(10)
                TempHTM = TempHTM & "<ul id=""nav"">" & chr(10)
                set rs = conn.execute("select id,cname,ename,isout,isurl,link from NCMS_class where parent=0 and kinds=1 order by orders asc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = ""
                    menushow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                end if
                for i = 0 to ubound(databox,2)
                    if databox(4,i) = 0 then
                        TempHTM = TempHTM & "<li><a href=""" & site_root & "/" & site_html & "/" & databox(2,i) & "/index" & site_extname & """ title=""" & databox(1,i) & """>" & databox(1,i) & "</a>" & childmenushow(databox(0,i)) & "</li>" & chr(10)
                    elseif databox(3,i) = 1 then
                        if databox(4,i) = 0 then
                            TempHTM = TempHTM & "<li><a href=""" & site_root & "/" & site_html & "/" & databox(2,i) & "/" & databox(5,i) & """ title=""" & databox(1,i) & """>" & databox(1,i) & "</a>" & childmenushow(databox(0,i)) & "</li>" & chr(10)
                        elseif databox(4,i) = 1 then
                            TempHTM = TempHTM & "<li><a href=""" & databox(5,i) & """ title=""" & databox(1,i) & """>" & databox(1,i) & "</a></li>" & chr(10)
                        end if
                    end if
                next:databox = ""
                TempHTM = TempHTM & "</ul>" & chr(10)
                TempHTM = TempHTM & "</div>" & chr(10)
                menushow = TempHTM
            case "top"
                set rs = conn.execute("select id,cname,ename,isout,isurl,link from NCMS_class where parent=0 and kinds=2 order by orders asc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = ""
                    menushow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        if i = ubound(databox,2) then tempstr = ""
                        if databox(3,i) = 0 then
                            TempHTM = TempHTM & "<a href=""" & site_root & "/" & site_html & "/" & databox(2,i) & "/index" & site_extname & """>" & databox(1,i) & "</a>" & tempstr & ""
                        elseif databox(3,i) = 1 then
                            if databox(4,i) = 0 then
                                TempHTM = TempHTM & "<a href=""" & site_root & "/" & site_html & "/" & databox(2,i) & "/" & databox(5,i) & """>" & databox(1,i) & "</a>" & tempstr & ""
                            elseif databox(4,i) = 1 then
                                TempHTM = TempHTM & "<a href=""" & databox(5,i) & """>" & databox(1,i) & "</a>" & tempstr & ""
                            end if
                        end if
                    next
                    menushow = TempHTM
                end if
            case "bottom"
                set rs = conn.execute("select id,cname,ename,isout,isurl,link from NCMS_class where parent=0 and kinds=3 order by orders asc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = ""
                    menushow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        if i = ubound(databox,2) then tempstr = ""
                        if databox(3,i) = 0 then
                            TempHTM = TempHTM & "<a href=""" & site_root & "/" & site_html & "/" & databox(2,i) & "/"">" & databox(1,i) & "</a>" & tempstr & ""
                        elseif databox(3,i) = 1 then
                            if databox(4,i) = 0 then
                                TempHTM = TempHTM & "<a href=""" & site_root & "/" & site_html & "/" & databox(2,i) & "/" & databox(5,i) & """>" & databox(1,i) & "</a>" & tempstr & ""
                            elseif databox(4,i) = 1 then
                                TempHTM = TempHTM & "<a href=""" & databox(5,i) & """>" & databox(1,i) & "</a>" & tempstr & ""
                            end if
                        end if
                    next
                    menushow = TempHTM
                end if
            case else
                response.write("标签[ncms:menu]参数[show]错误!")
                response.end()
        end select
    end function
    private function childmenushow(id)
        dim TempHTM,rschild,box,j
            TempHTM = "" & chr(10) & "<ul>" & chr(10)
        set rschild = conn.execute("select id,cname,ename,isout,isurl,link from NCMS_class where parent=" & id & " and kinds=1 order by orders asc")
        if rschild.eof then
            rschild.close:set rschild = nothing
            TempHTM = ""
            childmenushow = TempHTM
            exit function
        else
            box = rschild.getrows()
            rschild.close:set rschild = nothing
        end if
        for j = 0 to ubound(box,2)
            if box(3,j) = 0 then
                TempHTM = TempHTM & "<li><a href=""" & site_root & "/" & site_html & "/" & box(2,j) & "/"" title=""" & box(1,j) & """>" & box(1,j) & "</a></li>" & chr(10)
            elseif box(3,j) = 1 then
                if box(4,j) = 0 then
                    TempHTM = TempHTM & "<li><a href=""" & site_root & "/" & site_html & "/" & box(2,j) & "/" & box(5,j) & """ title=""" & box(1,j) & """>" & box(1,j) & "</a></li>" & chr(10)
                elseif box(4,j) = 1 then
                    TempHTM = TempHTM & "<li><a href=""" & box(5,j) & """ title=""" & box(1,j) & """>" & box(1,j) & "</a></li>" & chr(10)
                end if
            end if
        next:box = ""
        TempHTM = TempHTM & "</ul>" & chr(10)
        childmenushow = TempHTM
    end function
end class

class ncmsrelatetag
    public len,num,lih
    public function relateshow(scolumn,classid,newsid,keywords)
        if keywords = "" or isnull(keywords) then
            relateshow = "<li><font color=""red"">暂时没有相关新闻!</font></li>"
            exit function
        end if
        dim arr,i,TempSql
            arr = split(keywords,",",3,1)
        for i = 0 to ubound(arr)
            if TempSql <> "" then
                TempSql = TempSql & "or title like '%" & arr(i) & "%' or keywords like '%" & arr(i) & "%'"
            else
                TempSql = TempSql & "title like '%" & arr(i) & "%' or keywords like '%" & arr(i) & "%'"
            end if
        next
        if TempSql <> "" then
            TempSql = "where (" & TempSql & ") and classid=" & classid & " and id <> " & newsid & " order by id desc"
        end if
        dim TempHTM:TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
            TempHTM = TempHTM & "<tr>" & chr(10)
        dim rs,databox,j
        set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news " & TempSql)
        if rs.eof then
            rs.close:set rs = nothing
            TempHTM = "<li><font color=""red"">暂时没有相关新闻!</font></li>"
            relateshow = TempHTM
        else
            databox = rs.getrows()
            rs.close:set rs = nothing
            for j = 0 to ubound(databox,2)
                TempHTM = TempHTM & "<td height=""" & lih & """ align=""left"" valign=""middle"">·<a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(0,j)) & "/" & databox(2,j) & site_extname & """ title=""" & databox(1,j) & """ target=""_blank"">" & gottopic(databox(1,j),len) & "</a></td>" & chr(10)
                if j = ubound(databox,2) then
                    TempHTM = TempHTM & "</tr>" & chr(10)
                else
                    if cint((j+1) mod scolumn) = 0 then
                        TempHTM = TempHTM & "</tr>" & chr(10)
                        TempHTM = TempHTM & "<tr>" & chr(10)
                    end if
                end if
            next
            TempHTM = TempHTM & "</table>" & chr(10)
            relateshow = TempHTM
        end if
    end function
end class

class ncmspagetag
    public show
    public function pageshow(stype,classid,newsid)
        dim TempHTM,rs,databox
            TempHTM = "" & chr(10) & "<div id=""page"">"
        select case stype
            case "last"
                set rs = conn.execute("select top 1 id,classid,title,filename from NCMS_news where classid=" & classid & " and id > " & newsid & "")
                if rs.eof or rs.bof then
                    rs.close:set rs = nothing
                    TempHTM = TempHTM & "上一篇:<font color=""red"">没有上一篇</font>"
                    TempHTM = TempHTM & "</div>" & chr(10)
                    pageshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    TempHTM = TempHTM & "上一篇:<a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(1,0)) & "/" & databox(3,0) & site_extname & """>" & databox(2,0) & "</a>"
                    TempHTM = TempHTM & "</div>" & chr(10)
                    databox = ""
                    pageshow = TempHTM
                end if
            case "next"
                set rs = conn.execute("select top 1 id,classid,title,filename from NCMS_news where classid=" & classid & " and id < " & newsid & " order by id desc")
                if rs.eof or rs.bof then
                    rs.close:set rs = nothing
                    TempHTM = TempHTM & "下一篇:<font color=""red"">没有下一篇</font>"
                    TempHTM = TempHTM & "</div>" & chr(10)
                    pageshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    TempHTM = TempHTM & "下一篇:<a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(1,0)) & "/" & databox(3,0) & site_extname & """>" & databox(2,0) & "</a>"
                    TempHTM = TempHTM & "</div>" & chr(10)
                    databox = ""
                    pageshow = TempHTM
                end if
            case else
                response.write("标签[news:page]参数[show]错误!")
                response.end()
        end select
    end function
end class

class X_ncmsnewstag
    public id,ty,show,len,num,lih,hit
    public function newsshow(stype,scolumn,strHtml)
        dim TempHTM,xsql,rs,databox,i
            TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
            TempHTM = TempHTM & "<tr>" & chr(10)
        select case stype
            case "text"
                if show = "new" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where created=1 and pagetype=0 order by id desc")
                    else
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where classid in(" & id & allchildclass(id) & ") and created=1 and pagetype=0 order by id desc")
                    end if
                elseif show = "elite" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where elite=1 and created=1 and pagetype=0 order by id desc")
                    else
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where classid in(" & id & allchildclass(id) & ") and elite=1 and created=1 and pagetype=0 order by id desc")
                    end if
                elseif show = "hot" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where click>=" & hit & " and created=1 and pagetype=0 order by click desc")
                    else
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where classid in(" & id & allchildclass(id) & ") and click>=" & hit & " and created=1 and pagetype=0 order by click desc")
                    end if
                else
                    response.write("标签[ncms:free]参数[show]错误!")
                    response.end()
                end if
            case "image"
                if show = "new" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where isimg=1 and created=1 and pagetype=0 order by id desc")
                    else
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where classid in(" & id & allchildclass(id) & ") and isimg=1 and created=1 and pagetype=0 order by id desc")
                    end if
                elseif show = "elite" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where isimg=1 and elite=1 and created=1 and pagetype=0 order by id desc")
                    else
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where classid in(" & id & allchildclass(id) & ") and isimg=1 and elite=1 and created=1 and pagetype=0 order by id desc")
                    end if
                elseif show = "hot" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where isimg=1 and click>=" & hit & " and created=1 and pagetype=0 order by click desc")
                    else
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where classid in(" & id & allchildclass(id) & ") and isimg=1 and click>=" & hit & " and created=1 and pagetype=0 order by click desc")
                    end if
                else
                    response.write("标签[ncms:free]参数[show]错误!")
                    response.end()
                end if
            case else
                response.write("标签[ncms:free]参数[ty]错误!")
                response.end()
        end select
        if rs.eof then
            rs.close:set rs = nothing
            TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
            newsshow = TempHTM
            exit function
        else
            databox = rs.getrows()
            rs.close:set rs = nothing
            for i = 0 to ubound(databox,2)
                TempHTM = TempHTM & "<td height=""" & lih & """ align=""left"" valign=""middle"">" & strHtml & "</td>" & chr(10)
                if i = ubound(databox,2) then
                    TempHTM = TempHTM & "</tr>" & chr(10)
                else
                    if cint((i+1) mod scolumn) = 0 then
                        TempHTM = TempHTM & "</tr>" & chr(10)
                        TempHTM = TempHTM & "<tr>" & chr(10)
                    end if
                end if
                dim charclass,PatrnStr
                set charclass = new stringclass
                PatrnStr = "\{\$classname\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,"<a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(1,i)) & "/index" & site_extname & """ target=""_blank"">" & getclassname(databox(1,i)) & "</a>")
                PatrnStr = "\{\$title\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,gottopic(LoseHtml(databox(2,i)),len))
                PatrnStr = "\{\$content\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,gottopic(LoseHtml(databox(3,i)),len))
                PatrnStr = "\{\$click\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,databox(4,i))
                PatrnStr = "\{\$filepath\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,"" & site_root & "/" & site_html & "/" & getclasspath(databox(1,i)) & "/" & databox(8,i) & site_extname & "")
                PatrnStr = "\{\$addtime\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,formattagdate(databox(9,i),datestyle))
                PatrnStr = "\{\$imgpath\$\}"
                if IsObjInstalled("persits.jpeg") = true and jpeg_gate = 0 then
                    TempHTM = charclass.replacestr(PatrnStr,TempHTM,"" & site_root & "/" & site_upload & "/" & site_simg & "/" & databox(7,i) & "")
                else
                    TempHTM = charclass.replacestr(PatrnStr,TempHTM,"" & site_root & "/" & site_upload & "/" & site_bimg & "/" & databox(6,i) & "")
                end if
                PatrnStr = "\{\$comment\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,"[<a href=""" & site_root & "/tools/comment.asp?newsid=" & databox(0,i) & "&newstitle=" & getnewstitle(databox(0,i)) & "#comment"" target=""_blank"" title=""评论""><font color=""red"" size=""2"">评论</font></a>]")
            next
            databox = ""
            TempHTM = TempHTM & "</table>" & chr(10)
            newsshow = TempHTM
        end if
    end function
end class

function guide(id)
    dim TempHTM
    if id = "" or len(id) = 0 or not isnumeric(id) then
        TempHTM = "当前位置 : <a href=""" & site_root & "/index" & site_extname & """>首页</a> >>"
    else
        dim rs
        set rs = conn.execute("select top 1 id,parent,cname,ename from NCMS_class where id=" & id)
        if not rs.eof then
            TempHTM = TempHTM & guide(rs("parent"))
            TempHTM = TempHTM & "<a href=""" & site_root & "/" & site_html & "/" & rs("ename") & "/index" & site_extname & """>" & rs("cname") & "</a> >> "
        end if
        rs.close:set rs = nothing
        if id = 0 then
            TempHTM = TempHTM & "当前位置 : <a href=""" & site_root & "/index" & site_extname & """>首页</a> >> "
        end if
    end if
    guide = TempHTM
end function

function createindex()
    dim Temp:Temp = ""
        Temp = processcustomtag(loadtempletfile("../templet/" & site_dtemp & ""))
        Temp = X_processcustomtag(Temp)
    dim charclass
    set charclass = new stringclass
    dim PatrnStr
        PatrnStr = "<title>.*?</title>"
        Temp = charclass.replacestr(PatrnStr,Temp,"<title>" & site_name & "</title>")
        PatrnStr = "\{\$guide\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,guide(""))
        PatrnStr = "\{\$keywords\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_keywords)
        PatrnStr = "\{\$search\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,search())
        PatrnStr = "\{\$description\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_description)
        PatrnStr = "\{\$copyright\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_copyright)
        PatrnStr = "\{\$root\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_root)
    dim sPATH:sPATH = "" & site_root & "/index" & site_extname & ""
    dim objstream
    set objstream = server.createobject("adodb.stream")
    with objstream
        .open
        .charset = "" & chrset & ""
        .position = objstream.size
        .writetext = Temp
        .savetofile server.mappath(sPATH),2
        .close
    end with
    set objstream = nothing
    if err.number <> 0 then
        err.clear
        createindex = false
    else
        createindex = true
    end if
end function
asp常用函数集合,非常不错以后研究
function createnewsclass(id)
    dim arrcont:arrcont = getcurclasscount(id)
    dim i,j
    for i = 0 to arrcont - 1
        dim Temp:Temp = ""
            Temp = processcustomtag(loadtempletfile("../templet/" & getclassall(id,1) & ""))
            Temp = X_processcustomtag(Temp)
        dim charclass
        set charclass = new stringclass
        dim PatrnStr
            PatrnStr = "<title>.*?</title>"
            Temp = charclass.replacestr(PatrnStr,Temp,"<title>" & charclass.getstr(getclassname(id)) & " - " & site_name & "</title>")
            PatrnStr = "\{\$guide\$\}"
            Temp = charclass.replacestr(PatrnStr,Temp,guide(id))
            PatrnStr = "\{\$keywords\$\}"
            Temp = charclass.replacestr(PatrnStr,Temp,site_keywords)
            PatrnStr = "\{\$search\$\}"
            Temp = charclass.replacestr(PatrnStr,Temp,search())
            PatrnStr = "\{\$description\$\}"
            Temp = charclass.replacestr(PatrnStr,Temp,site_description)
            PatrnStr = "\{\$copyright\$\}"
            Temp = charclass.replacestr(PatrnStr,Temp,site_copyright)
            PatrnStr = "\{\$root\$\}"
            Temp = charclass.replacestr(PatrnStr,Temp,site_root)
        dim sPATH,cPATH:cPATH = "" & site_root & "/" & site_html & "/" & getclasspath(id) & "/"
        createdir(server.mappath(cPATH))
        dim PageHTM:PageHTM = ""
        if i = 0 then
            sPATH = "" & cPATH & "index" & site_extname & ""
        else
            sPATH = "" & cPATH & "index" & site_extname & ""
            sPATH = left(sPATH,(len(sPATH)-len(site_extname))) & "_" & i + 1 & site_extname
        end if
        if arrcont >= 2 then
            if i = 0 then
                PageHTM = PageHTM & "【首页】-"
                PageHTM = PageHTM & "【上页】"
            end if
            if i > 1 then
                PageHTM = PageHTM & "【<a href=""index" & site_extname & """>首页</a>】-"
                PageHTM = PageHTM & "【<a href=""index" & "_" & i & site_extname & """>上页</a>】"
            end if
            if i = 1 Then
                PageHTM = PageHTM & "【<a href=""index" & site_extname & """>首页</a>】-"
                PageHTM = PageHTM & "【<a href=""index" & site_extname & """>上页</a>】"
            end if
            PageHTM = PageHTM & "-【第<font color=""red"">" & i + 1 & "</font>页】/【共<font color=""red"">" & arrcont & "</font>页】-"
            if i < arrcont - 1 then
                PageHTM = PageHTM & "【<a href=""index" & "_" & i + 2 & site_extname & """>下页</a>】-"
                PageHTM = PageHTM & "【<a href=""index" & "_" & arrcont & site_extname & """>尾页</a>】- "
            end if
            if i = arrcont - 1 then
                PageHTM = PageHTM & "【下页】-"
                PageHTM = PageHTM & "【尾页】- "
            end if
            PageHTM = PageHTM & "<select name=""page"" onchange=""self.location.href=this.options[this.selectedIndex].value"">"
            PageHTM = PageHTM & "<option selected>页/码</option>"
            PageHTM = PageHTM & "<option value=""index" & site_extname & """>第1页</option>"
            for j = 1 to arrcont - 1
                PageHTM = PageHTM & "<option value=""index" & "_" & j + 1 & site_extname & """>第" & j + 1 & "页</option>"
            next
            PageHTM = PageHTM & "</select>"
        end if
            PatrnStr = "{news:[^<>]+?\/}"
            Temp = charclass.classcustomtag(PatrnStr,Temp,id,i + 1,"<p align=""center"">" & PageHTM & "</p>" & chr(10) & "")
        dim objstream
        set objstream = server.createobject("adodb.stream")
        with objstream
            .open
            .charset = "" & chrset & ""
            .position = objstream.size
            .writetext = Temp
            .savetofile server.mappath(sPATH),2
            .close
        end with
    next
    set objstream = nothing
    if err.number <> 0 then
        err.clear
        createnewsclass = false
    else
        createnewsclass = true
    end if
end function

function createnewsfile(id)
    dim rs,sql
    set rs = server.createobject("adodb.recordset")
    sql = "select id,classid,title,content,author,source,keywords,bimg,simg,filename,pagetype,addtime from NCMS_news where id=" & id
    rs.open sql,conn,1,1
    dim databox:databox = rs.getrows()
    rs.close:set rs = nothing
    dim Temp:Temp = ""
    if databox(10,0) = 0 then
        Temp = processcustomtag(loadtempletfile("../templet/" & getclassall(databox(1,0),2) & ""))
        Temp = X_processcustomtag(Temp)
    else
        Temp = processcustomtag(loadtempletfile("../templet/" & site_stemp & ""))
        Temp = X_processcustomtag(Temp)
    end if
    dim charclass
    set charclass = new stringclass
    dim PatrnStr,AdvCont
        PatrnStr = "<title>.*?</title>"
        Temp = charclass.replacestr(PatrnStr,Temp,"<title>" & charclass.getstr(databox(2,0)) & " - " & site_name & "</title>")
        PatrnStr = "{news:[^<>]+?\/}"
        Temp = charclass.newscustomtag(PatrnStr,Temp,databox(1,0),databox(0,0),databox(6,0))
        PatrnStr = "\{\$id\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(0,0))
        PatrnStr = "\{\$classid\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(1,0))
        PatrnStr = "\{\$title\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(2,0))
        PatrnStr = "\{\$author\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(4,0))
        PatrnStr = "\{\$source\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(5,0))
        PatrnStr = "\{\$keywords\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(6,0))
        PatrnStr = "\{\$click\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,click(databox(0,0)))
        PatrnStr = "\{\$addtime\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(11,0))
        PatrnStr = "\{\$guide\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,guide(databox(1,0)))
        PatrnStr = "\{\$search\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,search())
        PatrnStr = "\{\$fontselect\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,fontselect())
        PatrnStr = "\{\$toolbar\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,toolbar(databox(0,0)))
        PatrnStr = "\{\$copyurl\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,copyurl())
        PatrnStr = "\{\$description\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_description)
        PatrnStr = "\{\$copyright\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_copyright)
        PatrnStr = "\{\$root\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_root)
        PatrnStr = "\{\$advarea\$\}"
        AdvCont = databox(3,0)
        AdvCont = charclass.replacestr(PatrnStr,AdvCont,advshow(site_advcode))
    dim tempArr,n,sPATH,ePATH,cPATH:cPATH = "" & site_root & "/" & site_html & "/" & getclasspath(databox(1,0)) & "/"
    if instr(databox(9,0),"/") = 0 then
        createdir(server.mappath(cPATH))
    else
        tempArr = split(databox(9,0),"/")
        for n = 0 to ubound(tempArr)
            ePATH = replace(databox(9,0),tempArr(n),"")
        next
        createdir(server.mappath(cPATH & ePATH))
    end if
    dim TTemp:TTemp = Temp
    dim arrcont:arrcont = split(AdvCont,"{$split$}",-1,1)
    dim PageHTM:PageHTM = ""
    dim i,j,k:k = ubound(arrcont)
    for i = 0 to k
        if i = 0 then
            sPATH = "" & cPATH & databox(9,0) & site_extname & ""
        else
            sPATH = "" & cPATH & databox(9,0) & site_extname & ""
            sPATH = left(sPATH,(len(sPATH)-len(site_extname))) & "_" & i + 1 & site_extname
        end if
        if sPATH = "" then
            createnewsfile = false
            exit function
        end if
        if k >= 1 then
            PageHTM = "<p align=""center"">【本新闻共<font color=""red"">" & k + 1 & "</font>页】-"
            if i = 0 then
                PageHTM = PageHTM & "【首页】-"
                PageHTM = PageHTM & "【上页】-"
            end if
            if i > 1 then
                PageHTM = PageHTM & "【<a href=""" & cPATH & databox(9,0) & site_extname & """>首页</a>】-"
                PageHTM = PageHTM & "【<a href=""" & cPATH & databox(9,0) & "_" & i & site_extname & """>上页</a>】-"
            end if
            if i = 1 Then
                PageHTM = PageHTM & "【<a href=""" & cPATH & databox(9,0) & site_extname & """>首页</a>】-"
                PageHTM = PageHTM & "【<a href=""" & cPATH & databox(9,0) & site_extname & """>上页</a>】-"
            end if
            if i < k then
                PageHTM = PageHTM & "【<a href=""" & cPATH & databox(9,0) & "_" & i + 2 & site_extname & """>下页</a>】-"
                PageHTM = PageHTM & "【<a href=""" & cPATH & databox(9,0) & "_" & k + 1 & site_extname & """>尾页</a>】-"
            end if
            if i = k then
                PageHTM = PageHTM & "【下页】-"
                PageHTM = PageHTM & "【尾页】-"
            end if
            PageHTM = PageHTM & "【当前在第<font color=""red"">" & i + 1 & "</font>页】</p>"
        else
            PageHTM = ""
        end if
        PatrnStr = "\{\$content\$\}"
        Temp = charclass.replacestr(PatrnStr,TTemp,"" & chr(10) & "<div id=""content"">" & chr(10) & arrcont(i) & PageHTM & chr(10) & "</div>" & chr(10))
        dim objstream
        set objstream = server.createobject("adodb.stream")
        with objstream
            .open
            .charset = "" & chrset & ""
            .position = objstream.size
            .writetext = X_processcustomtag(Temp)
            .savetofile server.mappath(sPATH),2
            .close
        end with
        set objstream = nothing
    next
    if err.number <> 0 then
        err.clear
        createnewsfile = false
    else
        conn.execute("update NCMS_news set created=1 where id=" & databox(0,0))
        createnewsfile = true
        databox = ""
    end if
end function

function createnewsjs(show,id,len,num,lih,col,filename)
    dim TempHTM,xsql,rs,databox,i
        TempHTM = "document.writeln('<table cellpadding=\""0\"" cellspacing=\""0\"" width=\""100%\"" border=\""0\"">');"
        TempHTM = TempHTM & "document.writeln('<tr>');"
    select case show
        case "new"
            if id = 0 then
                set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news where created=1 and pagetype=0 order by id desc")
            else
                set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and created=1 and pagetype=0 order by id desc")
            end if
        case "elite"
            if id = 0 then
                set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news where elite=1 and created=1 and pagetype=0 order by id desc")
            else
                set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and elite=1 and created=1 and pagetype=0 order by id desc")
            end if
        case "hot"
            if id = 0 then
                set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news where click>=100 and created=1 and pagetype=0 order by click desc")
            else
                set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and click>=100 and created=1 and pagetype=0 order by click desc")
            end if
        case else
            response.write("[新闻类型]参数错误!")
            response.end()
    end select
    if rs.eof then
        rs.close:set rs = nothing
        TempHTM = "document.writeln('<li><font color=\""red\"">暂时没有新闻!<\/font><\/li>');"
    else
        databox = rs.getrows()
        rs.close:set rs = nothing
        for i = 0 to ubound(databox,2)
            TempHTM = TempHTM & "document.writeln('<td height=\""" & lih & "\"" align=\""left\"" valign=\""middle\"">·<a href=\""" & site_root & "/" & site_html & "/" & getclasspath(databox(0,i)) & "/" & databox(2,i) & site_extname & "\"" title=\""" & databox(1,i) & "\"" target=\""_blank\"">" & gottopic(databox(1,i),len) & "<\/a><\/td>');"
            if i = ubound(databox,2) then
                TempHTM = TempHTM & "document.writeln('<\/tr>');"
            else
                if cint((i+1) mod col) = 0 then
                    TempHTM = TempHTM & "document.writeln('<\/tr>');"
                    TempHTM = TempHTM & "document.writeln('<tr>');"
                end if
            end if
        next
        databox = ""
        TempHTM = TempHTM & "document.writeln('<\/table>');"
    end if
    if checkfolder("" & site_root & "/jss/") = false then
        createdir(server.mappath("" & site_root & "/jss/"))
    end if
    if checkfile("" & site_root & "/jss/" & filename & ".js") = true then
        call alertbox("文件已存在!请更换文件名!",2)
    end if
    dim objstream
    set objstream = server.createobject("adodb.stream")
    with objstream
        .open
        .charset = "" & chrset & ""
        .position = objstream.size
        .writetext = TempHTM
        .savetofile server.mappath("" & site_root & "/jss/" & filename & ".js"),2
        .close
    end with
    set objstream = nothing
    if err.number <> 0 then
        err.clear
        createnewsjs = false
    else
        createnewsjs = true
    end if
end function

function getnewstitle(id)
    dim rs,tempstr
    set rs = conn.execute("select title from NCMS_news where id=" & id)
    if not rs.eof then
        tempstr = server.urlencode(rs("title"))
    end if
    rs.close:set rs = nothing
    getnewstitle = tempstr
end function

function getclasspath(id)
    dim rs,tempstr
    set rs = conn.execute("select ename from NCMS_class where id=" & id)
    if not rs.eof then
        tempstr = rs("ename")
    end if
    rs.close:set rs = nothing
    getclasspath = tempstr
end function

function getclassid(id)
    dim rs,tempstr
    set rs = conn.execute("select classid from NCMS_news where id=" & id)
    if not rs.eof then
        tempstr = rs("classid")
    end if
    rs.close:set rs = nothing
    getclassid = tempstr
end function

function getclassname(id)
    dim rs,tempstr
    set rs = conn.execute("select cname from NCMS_class where id= " & id)
    if not rs.eof then
        tempstr = rs("cname")
    end if
    rs.close:set rs = nothing
    getclassname = tempstr
end function

function allchildclass(id)
    dim rs
    set rs = conn.execute("select id from NCMS_class where parent=" & id)
    while not rs.eof
        allchildclass = allchildclass & "," & rs("id")
        allchildclass = allchildclass & allchildclass(rs("id"))
    rs.movenext
    wend
    rs.close:set rs = nothing
end function

function getclassall(id,stype)
    dim rs,tempstr
    select case stype
        case "1"
            set rs = conn.execute("select ctemp from NCMS_class where id=" & id)
            if not rs.eof then
                tempstr = rs("ctemp")
            end if
            rs.close:set rs = nothing
            getclassall = tempstr
        case "2"
            set rs = conn.execute("select ntemp from NCMS_class where id=" & id)
            if not rs.eof then
                tempstr = rs("ntemp")
            end if
            rs.close:set rs = nothing
            getclassall = tempstr
        case "3"
            set rs = conn.execute("select fname from NCMS_class where id=" & id)
            if not rs.eof then
                tempstr = rs("fname")
            end if
            rs.close:set rs = nothing
            getclassall = tempstr
        case else
            response.write("获取栏目属性失败!")
            response.end()
    end select
end function

function advshow(advcode)
    if advcode = "" then
        advshow = ""
        exit function
    else
        dim advarr
            advarr = split(advcode,"
回复

使用道具 举报

0

主题

62

回帖

239

积分

中级会员

Rank: 3Rank: 3

积分
239
发表于 2008-1-12 16:37:11 | 显示全部楼层
")
        if ubound(advarr) = 0 then
            advshow = "" & chr(10) & "<table style=""padding:0px;width:250px;height:250px"" cellspacing=""0"" cellpadding=""0"" align=""left"" border=""0"">" & chr(10)
            advshow = advshow & "<tr>" & chr(10)
            advshow = advshow & "<td>" & advcode & "</td>" & chr(10)
            advshow = advshow & "</tr>" & chr(10)
            advshow = advshow & "</table>" & chr(10)
        else
            dim n:randomize
                n = int((ubound(advarr) + 1) * rnd)
            advshow = "" & chr(10) & "<table style=""padding:0px;width:250px;height:250px"" cellspacing=""0"" cellpadding=""0"" align=""left"" border=""0"">" & chr(10)
            advshow = advshow & "<tr>" & chr(10)
            advshow = advshow & "<td>" & advarr(n) & "</td>" & chr(10)
            advshow = advshow & "</tr>" & chr(10)
            advshow = advshow & "</table>" & chr(10)
        end if
    end if
end function

function click(id)
    click = "<script language=""javascript"" type=""text/javascript"" src=""" & site_root & "/tools/click.asp?id=" & id & """></script>"
end function

function fontselect()
    fontselect = "" & chr(10) & "<div id=""fontselect"">" & chr(10)
    fontselect = fontselect & "<ul>" & chr(10)
    fontselect = fontselect & "<li id=""explain"">字体大小</li>" & chr(10)
    fontselect = fontselect & "<li><a href=""javascript:doZoom(12)"">小</a></li>" & chr(10)
    fontselect = fontselect & "<li><a href=""javascript:doZoom(14)"">中</a></li>" & chr(10)
    fontselect = fontselect & "<li><a href=""javascript:doZoom(16)"">大</a></li>" & chr(10)
    fontselect = fontselect & "</ul>" & chr(10)
    fontselect = fontselect & "</div>" & chr(10)
end function

function toolbar(id)
    toolbar = "" & chr(10) & "<div id=""toolbar"">" & chr(10)
    toolbar = toolbar & "<ul>" & chr(10)
    toolbar = toolbar & "<li id=""explain"">浏览工具</li>" & chr(10)
    toolbar = toolbar & "<li><a href=""" & site_root & "/tools/comment.asp?newsid=" & id & "&newstitle=" & getnewstitle(id) & "#comment"" target=""_blank"" title=""新闻评论"">新闻评论</a><li>" & chr(10)
    toolbar = toolbar & "<li><a href=""javascript:window.print()"" title=""打印本文"">打印本文</a><li>" & chr(10)
    toolbar = toolbar & "<li><a href=""javascript:window.close()"" title=""关闭本页"">关闭本页</a><li>" & chr(10)
    toolbar = toolbar & "<li><a href=""javascript:scroll(0,0)"" title=""返回页首"">返回页首</a><li>" & chr(10)
    toolbar = toolbar & "</ul>" & chr(10)
    toolbar = toolbar & "</div>" & chr(10)
end function

function copyurl()
    copyurl = "" & chr(10) & "<div id=""copyurl"">" & chr(10)
    copyurl = copyurl & "<script language=""javascript"" type=""text/javascript"">document.write('<input name=""url"" type=""text"" value=""' + window.location.href + '"" readonly=""true"" /><input name=""btn"" type=""button"" value=""复制本页地址与好友分享"" onclick=""copyurl();"" />');</script>" & chr(10)
    copyurl = copyurl & "</div>" & chr(10)
end function

function search()
    search = "" & chr(10) & "<div id=""search"">" & chr(10)
    search = search & "<form name=""form"" action=""" & site_root & "/tools/search.asp"" method=""get"">" & chr(10)
    search = search & "<input name=""kw"" type=""text"" value="""" />" & chr(10)
    search = search & "<select name=""tn"">" & chr(10)
    search = search & "<option value=""1"">标题</option>" & chr(10)
    search = search & "<option value=""2"">作者</option>" & chr(10)
    search = search & "<option value=""3"">内容</option>" & chr(10)
    search = search & "</select>" & chr(10)
    search = search & "<input name=""do"" type=""hidden"" value=""ok"" />" & chr(10)
    search = search & "<input name=""search"" type=""submit"" value=""搜索"" />" & chr(10)
    search = search & "</form>" & chr(10)
    search = search & "</div>" & chr(10)
end function

function rannumkey(digits)
    dim chararray(10)
        chararray(0) = "0"
        chararray(1) = "1"
        chararray(2) = "2"
        chararray(3) = "3"
        chararray(4) = "4"
        chararray(5) = "5"
        chararray(6) = "6"
        chararray(7) = "7"
        chararray(8) = "8"
        chararray(9) = "9"
    randomize
    do while len(output) < digits
        dim num:num = cstr(chararray(int((10-0+1) * rnd + 0)))
        dim output:output = output + num
    loop
    rannumkey = output
end function

function makefntype(datestr,types,classid)
    select case types
        case "1"
            makefntype = year(datestr) & "/" & month(datestr) & "-" & day(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年/月-日/随机数
        case "2"
            makefntype = year(datestr) & "/" & month(datestr) & "/" & day(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年/月/日/随机数
        case "3"
            makefntype = year(datestr) & "-" & month(datestr) & "-" & day(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年-月-日/随机数
        case "4"
            makefntype = year(datestr) & "-" & month(datestr) & "/" & day(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年-月/日/随机数
        case "5"
            makefntype = year(datestr) & "/" & month(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年/月/随机数
        case "6"
            makefntype = year(datestr) & "-" & month(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年-月/随机数
        case "7"
            makefntype = year(datestr) & month(datestr) & day(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年月日/随机数
        case "8"
            makefntype = year(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年/随机数
        case "9"
            makefntype = year(datestr) & month(datestr) & day(datestr) & rannumkey(3) '年月日随机数
        case "10"
            makefntype = getclassall(classid,3) & rannumkey(16) '16位随机数
        case "11"
            makefntype = getclassall(classid,3) & md5(datestr & rannumkey(3),16) '16位md5加密字符
        case "12"
            makefntype = getclassall(classid,3) & year(datestr) & month(datestr) & day(datestr) & hour(datestr) & minute(datestr) & second(datestr) & rannumkey(3) '年月日时分秒随机数
        case else
            makefntype = getclassall(classid,3) & year(datestr) & month(datestr) & day(datestr) & hour(datestr) & minute(datestr) & second(datestr) & rannumkey(3) '年月日时分秒随机数
    end select
end function

function dateformat(datestr,types)
    dim datestring
    if isdate(datestr) = false then
        datestring = ""
    end if
    select case types
        case "1" 
            datestring = year(datestr) & "-" & month(datestr) & "-" & day(datestr)
        case "2"
            datestring = year(datestr) & "." & month(datestr) & "." & day(datestr)
        case "3"
            datestring = month(datestr) & "-" & day(datestr) & "-" & year(datestr)
        case "4"
            datestring = month(datestr) & "." & day(datestr) & "." & year(datestr)
        case "5"
            datestring = year(datestr) & month(datestr) & day(datestr)
        case "6"
            datestring = hour(datestr) & minute(datestr) & second(datestr)
        case "7"
            datestring = year(datestr) & "年" & month(datestr) & "月" & day(datestr) & "日"
        case else
            datestring = datestr
    end select
    dateformat = datestring
end function

function formattagdate(mdate,temp)
    if not isdate(mdate) or temp = "" then
        formattagdate = temp
        exit function
    end if
    dim myear:myear = year(mdate)
    dim mmonth:mmonth = month(mdate)
    dim mday:mday = day(mdate)
    dim mhour:mhour = hour(mdate)
    dim mmin:mmin = minute(mdate)
    dim msec:msec = second(mdate)
    temp = replace(temp,"{Y}",year(mdate))
    temp = replace(temp,"{y}",right(year(mdate),2))
    temp = replace(temp,"{M}",month(mdate))
    temp = replace(temp,"{m}",right("00" & month(mdate),2))
    temp = replace(temp,"{D}",day(mdate))
    temp = replace(temp,"{d}",right("00" & day(mdate),2))
    formattagdate = temp
end function

function strlength(str)
    on error resume next
    dim winnt_chinese
        winnt_chinese = (len("中国") = 2)
    if winnt_chinese then
        dim l, t, c
        dim i
        l = len(str)
        t = l
        for i = 1 to l
            c = asc(mid(str,i,1))
            if c < 0 then c = c + 65536
            if c > 255 then
                t = t + 1
            end if
        next
        strlength = t
    else
        strlength = len(str)
    end if
    if err.number <> 0 then err.clear
end function

function gottopic(byval str,byval strlen)
    if str = "" or str = null then
        gottopic = ""
        exit function
    end if
    dim l,t,c,i,tstr
    str = replace(replace(replace(replace(str," "," "),""",chr(34)),">",">"),"<","<")
    l = len(str)
    t = 0
    tstr = str
    strlen = clng(strlen)
    for i = 1 to l
        c = abs(asc(mid(str,i,1)))
        if c > 255 then
             t = t + 2
        else
            t = t + 1
        end if
        if t >= strlen then
            tstr = left(str,i)
            exit for
        end if
    next
    if tstr <> str then
        tstr = tstr & "..."
    end if
    gottopic = replace(replace(replace(replace(tstr," "," "),chr(34),"""),">",">"),"<","<")
end function

function insertchr(num)
    dim str1:str1 = "├"
    dim str2:str2 = ""
    dim iii
    for iii = 2 to num
        str2 = str2 & "│ "
    next
    insertchr = str2&str1
end function

class classlist
    private class_id
    private class_table
    private class_parentid
    private class_name

    public property let id(str)
        class_id = str
    end property

    public property let table(str)
        class_table = str
    end property

    public property let parentid(str)
        class_parentid = str
    end property

    public property let name(str)
        class_name = str
    end property

    dim list()
    dim i,n
    private sub class_initialize()
        i = 0:n = 0
    end sub

    public function classarry(thisid,id)
        dim rsclass,classsql
        if id > 0 then
            classsql = "select * from " & class_table & " where " & class_parentid & "=" & thisid
        else
            classsql = "select * from " & class_table & " where " & class_id & "=" & thisid
        end if
        set rsclass = conn.execute(classsql)
        n = n + 1
        do while not rsclass.eof
            list(0,i) = rsclass(class_id)
            list(1,i) = rsclass(class_name)
            list(2,i) = n
            i = i + 1
            thisid = classarry(rsclass(class_id),1)
            rsclass.movenext
        loop
        n = n - 1
        rsclass.close
    end function

    public function arrylist()
        dim rsclass
        set rsclass = conn.execute("select count(" & class_id & ") from " & class_table)
        dim lenght
            lenght = rsclass(0)
        rsclass.close
        redim list(2,lenght)
        dim rspclass
        set rspclass = conn.execute("select " & class_id & " from " & class_table & " where " & class_parentid & "=0")
        do while not rspclass.eof
            call classarry(rspclass(class_id),0)
            rspclass.movenext
        loop
        rspclass.close
        arrylist = list
    end function
end class

class imginfo
    dim aso
    private sub class_initialize
        set aso = createobject("adodb.stream")
        aso.mode = 3
        aso.type = 1
        aso.open
    end sub

    private sub class_terminate
        err.clear
        set aso = nothing
    end sub

    private function bin2str(bin)
        dim i,str,clow
        for i = 1 to lenb(bin)
            clow = midb(bin,i,1)
            if ascb(clow) < 128 then
                str = str & chr(ascb(clow))
            else
                i = i + 1
                if i <= lenb(bin) then
                    str = str & chr(ascw(midb(bin,i,1)&clow))
                end if
            end if
        next
        bin2str = str
    end function

    private function num2str(num,base,lens)
        dim ret
            ret = ""
        while(num>=base)
            ret = (num mod base) & ret
            num = (num - num mod base)/base
        wend
        num2str = right(string(lens,"0") & num & ret,lens)
    end function

    private function str2num(str,base)
        dim ret
            ret = 0
        for i = 1 to len(str)
            ret = ret *base + cint(mid(str,i,1))
        next
        str2num = ret
    end function

    private function binval(bin)
        dim ret
            ret = 0
        dim i
        for i = lenb(bin) to 1 step -1
            ret = ret*256 + ascb(midb(bin,i,1))
        next
        binval = ret
    end function

    private function binval2(bin)
        dim ret
            ret = 0
        Dim i
        for i = 1 to lenb(bin)
            ret = ret*256 + ascb(midb(bin,i,1))
        next
        binval2 = ret
    end function

    private function getimagesize(filespec)
        dim ret(3)
            aso.loadfromfile(filespec)
        dim bflag
            bflag = aso.read(3)
        select case hex(binval(bflag))
            case "4E5089":
                aso.read(15)
                ret(0) = "PNG"
                ret(1) = binval2(aso.read(2))
                aso.read(2)
                ret(2) = binval2(aso.read(2))
            case "464947": 
                aso.read(3)
                ret(0) = "GIF"
                ret(1) = binval(aso.read(2))
                ret(2) = binval(aso.read(2))
            case "535746":
                aso.read(5)
                bindata = aso.read(1)
                sconv = num2str(ascb(bindata),2,8)
                nbits = str2num(left(sconv,5),2)
                sconv = mid(sconv,6)
                while(len(sconv)<nbits*4)
                    bindata = aso.read(1)
                    sconv = sconv & num2str(ascb(bindata),2,8)
                wend
                ret(0) = "SWF"
                ret(1) = int(abs(str2num(mid(sconv,1*nbits+1,nbits),2)-str2num(mid(sconv,0*nbits+1,nbits),2))/20)
                ret(2) = int(abs(str2num(mid(sconv,3*nbits+1,nbits),2)-str2num(mid(sconv,2*nbits+1,nbits),2))/20)
            case "FFD8FF":
                do
                dim p1
                do:p1 = binval(aso.read(1)):loop while p1 = 255 and not aso.eos
                if p1 > 191 and p1 < 196 then exit do else aso.read(binval2(aso.read(2))-2) 
                do:p1 = binval(aso.read(1)):loop while p1 < 255 and not aso.eos
                loop while true
                aso.read(3)
                ret(0) = "JPG"
                ret(2) = binval2(aso.read(2))
                ret(1) = binval2(aso.read(2))
            case else:
                if left(bin2str(bflag),2) = "BM" then
                    aso.read(15)
                    ret(0) = "BMP"
                    ret(1) = binval(aso.read(4))
                    ret(2) = binval(aso.read(4))
                else
                    ret(0) = ""
                end if
            end select
            ret(3)="width=""" & ret(1) &""" height=""" & ret(2) &""""
            getimagesize = ret
    end function

    public function imgW(pic_path)
        dim imgfso
        set imgfso = server.createobject("scripting.filesystemobject")
        if (imgfso.fileexists(pic_path)) then
            dim imgfs,ext
            set imgfs = imgfso.getfile(pic_path)
            ext = imgfso.getextensionname(pic_path)
            select case ext
                case "gif","bmp","jpg","png":
                    dim arr
                        arr = getimagesize(imgfs.path)
                    imgW = arr(1)
            end select
            set imgfs = nothing
        else
            imgW = 0
        end if
        set imgfso = nothing
    end function

    public function imgH(pic_path)
        dim imgfso
        set imgfso = server.createobject("scripting.filesystemobject")
        if (imgfso.fileexists(pic_path)) then
            dim imgfs,ext
            set imgfs = imgfso.getfile(pic_path)
            ext = imgfso.getextensionname(pic_path)
            select case ext
                case "gif","bmp","jpg","png":
                    dim arr
                        arr = getimagesize(imgfs.path)
                    imgH = arr(2)
            end select
            set imgfs = nothing
        else
            imgH = 0
        end if
        set imgfso = nothing
    end function
end class
asp常用函数集合,非常不错以后研究
function gfv(str)
    gfv = request.form(str)
end function

function guv(str)
    guv = request.querystring(str)
end function

function alertbox(str,kindnum)
    select case kindnum
        case "1"
            response.write("<script>alert(""" & str & """);</script>")
            response.end()
        case "2"
            response.write("<script>alert(""" & str & """);window.history.back();</script>")
            response.end()
        case "3"
            response.write("<script>alert(""" & str & """);window.close();</script>")
            response.end()
    end select
end function

sub WRITE_LINE(str)
    response.write ltrim(str)
end sub

sub LOADING_BUFFER_INI
    response.expires = 0
    response.expiresabsolute = now() - 1
    response.addheader "pragma","no-cache"
    response.addheader "cache-control","private"
    response.cachecontrol = "no-cache"
end sub

sub LOADING_ADMIN_HEAD
    WRITE_LINE "<html><head><title></title>"
    WRITE_LINE "<meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"">"
    WRITE_LINE "<meta http-equiv=""Content-Language"" content=""gb2312"">"
    WRITE_LINE "<link href=""../images/ncms/css.css"" rel=""stylesheet"" type=""text/css""></head>"
    WRITE_LINE "<body leftmargin=""1"" topmargin=""10"" scroll=""auto"">"
end sub

sub LOADING_ADMIN_FOOT
    if isobject("conn") then
        conn.close:set conn = nothing
    elseif isobject("commentconn") then
        commentconn.close:set commentconn = nothing
    elseif isobject("collectconn") then
        collectconn.close:set collectconn = nothing
    end if
    WRITE_LINE "<table align=""center"" width=""100%"" cellpadding=""2"" cellspacing=""1"" border=""0"">"
    WRITE_LINE "<tr>"
    WRITE_LINE "<td align=""middle"" valign=""middle"">"
    WRITE_LINE "<table bgcolor=""#c0c0c0"" align=""center"" width=""98%"" cellpadding=""2"" cellspacing=""1"">"
    WRITE_LINE "<tr>"
    WRITE_LINE "<td bgcolor=""#f0f0f0"" height=""50""><div align=""center""><font face=""verdana,arial,helvetica,sans-serif"" size=""1""><b>©2006 - 2008 CopyRight NCMS All Rights Reserved.Version:" & Version & " <a href=""http://www.50z.cn/"" target=""_blank"">BBS</a></b></font></div></td>"
    WRITE_LINE "</tr>"
    WRITE_LINE "</table>"
    WRITE_LINE "</td>"
    WRITE_LINE "</tr>"
    WRITE_LINE "</table>"
    WRITE_LINE "</body></html>"
end sub

'===============================================================================================
'楚河|汉界 来个小广告:如果您发现本程序BUG或不足之处或有好的改进方法,请联系我:QQ574634!万分感谢!
'===============================================================================================

Function IsValidEmail(Str)
    IsValidEmail = False
    Dim RegEx,Match
    Set RegEx = New RegExp
        RegEx.Pattern = "^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$"
        RegEx.IgnoreCase = True
    Set Match = RegEx.Execute(Str)
    If Match.Count Then IsValidEmail = True
End Function

Function ChkNum(Byval Num)
    Dim tNum:tNum = ""
    If Num = "" Or Not IsNumeric(Num) Then
        Response.Write("<script>alert(""参数类型错误!"");history.back();</script>")
        Response.End()
    ElseIf len(Num) > 8 Then
        Response.Write("<script>alert(""参数超出范围!"");history.back();</script>")
        Response.End()
    Else
        tNum = clng(left(Num,8))
    End If
    ChkNum = tNum
End Function

Function ChkStr(ByVal Str)
    Dim TempStr
        TempStr = Replace(Replace(Str,"'",""),Chr(39),"")
    Dim RegEx
    Set RegEx = New RegExp
        RegEx.IGnoreCase = True
        RegEx.Pattern = "<|>|(script)|on(mouseover|mouseon|mouseout|click|dblclick|blur|focus|change)|url|eval|\t"
    If RegEx.Test(LCase(TempStr)) Then
        TempStr = ""
    End If
    Set RegEx = Nothing
    ChkStr = TempStr
End Function

Function FuckJP(ByVal Str)
    If IsNull(Str) Or IsEmpty(Str) Then Exit Function
    Dim F,I
        F = Array("ゴ","ガ","ギ","グ","ゲ","ザ","ジ","ズ","ヅ","デ","ド","ポ","ベ","プ","ビ","パ","ヴ","ボ","ペ","ブ","ピ","バ","ヂ","ダ","ゾ","ゼ")
     FuckJP = Str
     For I = 0 To 25
         FuckJP = Replace(FuckJP,F(I),"")
     Next
End Function

Function ChkInput(Str)
    Dim RegEx
    Set RegEx = New RegExp
        RegEx.IgnoreCase = True
        RegEx.Pattern = "<|>|(script)|on(mouseover|mouseon|mouseout|click|dblclick|blur|focus|change)|url|eval|\t"
    If RegEx.Test(LCase(Str)) Then
        Response.Write("处理 URL 时服务器出错,请与系统管理员联系。")
        Response.End()
    End If
    Set RegEx = Nothing
    ChkInput = Str
End Function

Function ChkPost()
    Dim From_Url:From_Url = CStr(Request.ServerVariables("HTTP_REFERER"))
    Dim Serv_Url:Serv_Url = CStr(Request.ServerVariables("SERVER_NAME"))
    If Mid(From_Url,8,Len(Serv_Url)) <> Serv_Url Then
        Response.Write("处理 URL 时服务器出错,请与系统管理员联系。")
        Response.End()
    End If
End Function

Function GetIP()
    Dim StrIP_List,StrIP,IP_Ary
        StrIP_List = Replace(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),"'","")
    If InStr(StrIP_List,",") <> 0 Then
        IP_Ary = Split(StrIP_List,",")
        StrIP = IP_Ary(0)
    Else
        StrIP = StrIP_List
    End If
    If StrIP = Empty Then StrIP = Replace(Request.ServerVariables("REMOTE_ADDR"),"'","")
    GetIP = StrIP
End Function

Function Highlight(byVal strContent,byRef arrayWords)
    Dim intCounter,strTemp,intPos,intTagLength,intKeyWordLength,bUpDate
    If Len(arrayWords) < 1 Then Highlight = strContent:Exit Function
    For intPos = 1 To Len(strContent)
        bUpDate = False
        If Mid(strContent,intPos,1) = "<" Then
            On Error Resume Next
            intTagLength = (InStr(intPos,strContent,">",1) - intPos)
            If Err.Number <> 0 Then
                Highlight = strContent
                Err.Clear
            End If
            strTemp = strTemp & Mid(strContent,intPos,intTagLength)
            intPos = intPos + intTagLength
        End If
        If arrayWords <> "" Then
            intKeyWordLength = Len(arrayWords)
            If LCase(Mid(strContent,intPos,intKeyWordLength)) = LCase(arrayWords) Then
                strTemp = strTemp & "<strong style=""color:#ff0000;background:#fff000;"">" & Mid(strContent,intPos,intKeyWordLength) & "</strong>"
                intPos = intPos + intKeyWordLength - 1
                bUpDate = True
            End If
        End If
        If bUpDate = False Then
            strTemp = strTemp & Mid(strContent,intPos,1)
        End If
    Next
    Highlight = strTemp
End Function

Function SendToNcms(Str1,Str2,Str3,Str4)
    On Error Resume Next
    WRITE_LINE "<script>setTimeout(""document.form.submit()"",0);</script>"
    WRITE_LINE "<form name=""form"" action=""http://ncms.cn/users/receive.asp"" method=""post"">"
    WRITE_LINE "<input name=""k1"" type=""hidden"" value=""" & Str1 & """>"
    WRITE_LINE "<input name=""k2"" type=""hidden"" value=""" & Str2 & """>"
    WRITE_LINE "<input name=""k3"" type=""hidden"" value=""" & Str3 & """>"
    WRITE_LINE "<input name=""k4"" type=""hidden"" value=""" & Str4 & """>"
    WRITE_LINE "<input name=""kx"" type=""hidden"" value=""203674122566320014"">"
    WRITE_LINE "</form>"
End Function

Function IsObjInstalled(strClassString)
    On Error Resume Next
    IsObjInstalled = False
    Err = 0
    Dim xTestObj
    Set xTestObj = Server.CreateObject(strClassString)
    If 0 = Err Then IsObjInstalled = True
    Set xTestObj = Nothing
    Err = 0
End Function

Function GetVer(ClassStr)
    On Error Resume Next
    GetVer = ""
    Err = 0
    Dim xTestObj
    Set xTestObj = Server.CreateObject(ClassStr)
    If 0 = Err Then GetVer = xTestObj.Version
    Set xTestObj = Nothing
    Err = 0
End Function

Function ReplaceRemoteUrl(sHTML,sSavePath,sExt)
    Dim s_Content:s_Content = sHTML
    If IsObjInstalled("Microsoft.XMLHTTP") = False Then
        ReplaceRemoteUrl = s_Content
        Exit Function
    End If
    If sSavePath = "" Then sSavePath = "" & site_root & "/" & site_upload & "/" & site_bimg & "/"
    If sExt = "" Then sExt = "jpg|gif|png|bmp|swf"
    Dim RegEx,RemoteFile,RemoteFileurl,SaveFileName,OutPutPath,SaveFileType,RanNum,NewFileName
    Set RegEx = New RegExp
    RegEx.IgnoreCase = True
    RegEx.Global = True
    RegEx.Pattern = "(http://(.+?)\.(" & sExt & "))"
    Set RemoteFile = RegEx.Execute(s_Content)
    For Each RemoteFileurl In RemoteFile
        SaveFileType = Mid(RemoteFileurl,InstrRev(RemoteFileurl,".") + 1)
        Randomize
        RanNum = Int(900 * Rnd) + 100
        NewFileName = Year(Now) & Month(Now) & Day(Now) & Hour(Now) & Minute(Now) & Second(Now) & RanNum & "." & SaveFileType
        SaveFileName = sSavePath & NewFileName
        OutPutPath = "" & site_root & "/tools/loadimg.asp?FileName=" & NewFileName & ""
        Call SaveRemoteFile(SaveFileName,RemoteFileurl)
        s_Content = Replace(s_Content,RemoteFileurl,OutPutPath)
    Next
    ReplaceRemoteUrl = NewFileName & "|" & s_Content
End Function

Sub SaveRemoteFile(s_LocalFileName,s_RemoteFileUrl)
    Dim Ads,Retrieval,GetRemoteData
    On Error Resume Next
    Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
    With Retrieval
        .Open "Get",s_RemoteFileUrl,False,"",""
        .Send
            GetRemoteData = .ResponseBody
    End With
    Set Retrieval = Nothing
    Set Ads = Server.CreateObject("ADODB.Stream")
        Ads.Type = 1
        Ads.Open
        Ads.Write GetRemoteData
        Ads.SaveToFile Server.Mappath(s_LocalFileName),2
        Ads.Cancel()
        Ads.Close()
    Set Ads = Nothing
End Sub

Class Cls_vbsPage
    Private oConn
    Private iPagesize
    Private sPageName
    Private sDbType
    Private iRecType
    Private sJsUrl
    Private sField
    Private sTable
    Private sCondition
    Private sOrderBy
    Private sPkey
    Private iRecCount

    Private Sub Class_Initialize
        iPageSize=10
        sPageName="Page"
        sDbType="AC"
        iRecType=0
        sJsUrl=""
        sField=" * "
    End Sub

    Public Property Set Conn(ByRef Value)
        Set oConn=Value
    End Property

    Public Property Let PageSize(ByVal intPageSize)
        iPageSize=CheckNum(intPageSize,0,0,iPageSize,0) 
    End Property

    Public Property Let PageName(ByVal strPageName)
        sPageName=IIf(Len(strPageName)<1,sPageName,strPageName)
    End Property

    Public Property Let DbType(ByVal strDbType)
        sDbType=UCase(IIf(Len(strDbType)<1,sDbType,strDbType))
    End Property

    Public Property Let RecType(ByVal intRecType)
        iRecType=CheckNum(intRecType,0,0,iRecType,0) 
    End Property

    Public Property Let JsUrl(ByVal strJsUrl)
        sJsUrl=strJsUrl
    End Property

    Public Property Let Pkey(ByVal strPkey)
        sPkey=strPkey
    End Property

    Public Property Let Field(ByVal strField)
        sField=IIf(Len(strField)<1,sField,strField)
    End Property

    Public Property Let Table(ByVal strTable)
        sTable=strTable
    End Property

    Public Property Let Condition(ByVal strCondition)
        Dim s
        s=strCondition
        sCondition=IIf(Len(s)>2," WHERE "&s,"")
    End Property

    Public Property Let OrderBy(ByVal strOrderBy)
        Dim s
        s=strOrderBy
        sOrderBy=IIf(Len(s)>4," ORDER BY "&s,"")
    End Property

    Public Property Get RecCount()
        If iRecType>0 Then
            i=iRecType
        Elseif iRecType=0 Then
            i=CheckNum(Request.Cookies("ShowoPage")(sPageName),1,0,0,0)
            Dim s
            s=Trim(Request.Cookies("ShowoPage")("sCond"))
            IF i=0 OR sCondition<>s Then
                i=oConn.Execute("SELECT COUNT("&sPkey&") FROM "&sTable&" "&sCondition,0,1)(0)
                Response.Cookies("ShowoPage")(sPageName)=i
                Response.Cookies("ShowoPage")("sCond")=sCondition
            End If
        Else
            i=oConn.Execute("SELECT COUNT("&sPkey&") FROM "&sTable&" "&sCondition,0,1)(0)
        End If
        iRecCount=i
        RecCount=i
    End Property

    Public Property Get ResultSet()
        Dim s
        s=Null
        i=iRecCount
        If i>0 Then
            Dim iPageCount,iPageCurr
            iPageCount=Abs(Int(-Abs(i/iPageSize)))
            iPageCurr=CheckNum(Request.QueryString(sPageName),1,1,1,iPageCount)
            Select Case sDbType
                Case "MSSQL"
                    Set Rs=server.CreateObject("Adodb.RecordSet")
                    Set Cm=Server.CreateObject("Adodb.Command")
                    Cm.CommandType=4
                    Cm.ActiveConnection=oConn
                    Cm.CommandText="sp_Util_Page"
                    Cm.parameters(1)=i
                    Cm.parameters(2)=iPageCurr
                    Cm.parameters(3)=iPageSize
                    Cm.parameters(4)=sPkey
                    Cm.parameters(5)=sField
                    Cm.parameters(6)=sTable
                    Cm.parameters(7)=Replace(sCondition," WHERE ","")
                    Cm.parameters(8)=Replace(sOrderBy," ORDER BY ","")
                    Rs.CursorLocation=3
                    Rs.LockType=1
                    Rs.Open Cm
                Case "MYSQL"
                    ResultSet_Sql="SELECT "&sField&" FROM "&sTable&" "&sCondition&" "&sOrderBy&" LIMIT "&(iPageCurr-1)*iPageSize&","&iPageSize
                    Set Rs=oConn.Execute(ResultSet_Sql)
                Case Else
                    Dim Rs,ResultSet_Sql
                    Set Rs = Server.CreateObject ("Adodb.RecordSet")
                    ResultSet_Sql="SELECT "&sField&" FROM "&sTable&" "&sCondition&" "&sOrderBy
                    Rs.Open ResultSet_Sql,oConn,1,1,&H0001
                    Rs.AbsolutePosition=(iPageCurr-1)*iPageSize+1
            End Select
            s=Rs.GetRows(iPageSize)
            Rs.close
            Set Rs=Nothing
        End If
        ResultSet=s
    End Property

    Private Sub Class_Terminate()
        If IsObject(oConn) Then oConn.Close:Set oConn=Nothing
    End Sub

    Private Function CheckNum(ByVal strStr,ByVal blnMin,ByVal blnMax,ByVal intMin,ByVal intMax)
        Dim i,s,iMi,iMa
        s=Left(Trim(""&strStr),32):iMi=intMin:iMa=intMax
        If IsNumeric(s) Then
            i=CDbl(s)
            i=IIf(blnMin=1 And i<iMi,iMi,i)
            i=IIf(blnMax=1 And i>iMa,iMa,i)
        Else
            i=iMi
        End If
        CheckNum=i
    End Function

    Private Function IIf(ByVal blnBool,ByVal strStr1,ByVal strStr2)
        Dim s
        If blnBool Then
            s=strStr1
        Else
            s=strStr2
        End If
        IIf=s
    End Function

    Public Sub ShowPage()
    %>
        <script language="javascript" type="text/javascript" src="<%=sJsUrl%>/page.js"></script>
        <script language="javascript" type="text/javascript">
            var s = new Cls_jsPage(<%=iRecCount%>,<%=iPageSize%>,3,"s");
            s.setPageSE("<%=sPageName%>=","");
            s.setPageInput("<%=sPageName%>");
            s.setUrl("");
            s.setPageFrist("首页","<<");
            s.setPagePrev("上页","<");
            s.setPageNext("下页",">");
            s.setPageLast("尾页",">>");
            s.setPageText("[{$PageNum}]","第{$PageNum}页");
            s.setPageTextF(" {$PageTextF} "," {$PageTextF} ");
            s.setPageSelect("{$PageNum}","第{$PageNum}页");
            s.setPageCss("","","");
            s.setHtml("共{$RecCount}记录 页次{$Page}/{$PageCount} 每页{$PageSize}条 {$PageFrist} {$PagePrev} {$PageText} {$PageNext} {$PageLast} {$PageInput} {$PageSelect}");
            s.Write();
        </script>
    <%
    End Sub
End Class

Function GetHttpPage(HttpUrl)
    On Error Resume Next
    If IsNull(HttpUrl) = True Or Len(HttpUrl) < 18 Or HttpUrl = "$False$" Then
        GetHttpPage = "$False$"
        Exit Function
    End If
    Dim Http
    Set Http = Server.CreateObject("Microsoft.XMLHTTP")
        Http.Open "GET",HttpUrl,False
        Http.Send()
    If Http.Readystate <> 4 Then
        Set Http = Nothing
        GetHttpPage = "$False$"
        Exit function
    End If
    GetHTTPPage = BytesToBstr(Http.ResponseBody,"GB2312")
    Set Http = Nothing
    If Err.Number <> 0 Then
        Err.Clear
        Exit Function
    End If
End Function

Function BytesToBstr(Body,Cset)
    Dim ObjStream
    Set ObjStream = Server.CreateObject("ADODB.Stream")
        ObjStream.Type = 1
        ObjStream.Mode = 3
        ObjStream.Open
        ObjStream.Write Body
        ObjStream.Position = 0
        ObjStream.Type = 2
        ObjStream.Charset = Cset
        BytesToBstr = ObjStream.ReadText 
        ObjStream.Close
    Set ObjStream = Nothing
End Function

Function GetAllLinkTags(ContStr)
    Dim RegEx,Match,Matches,TempStr
    Set RegEx = New RegExp
        RegEx.Pattern = "<a .*?>.*?</a>"
        RegEx.IGnoreCase = True
        RegEx.Global = True
    Set Matches = RegEx.Execute(ContStr)
    For Each Match In Matches
        TempStr = TempStr & Match.Value & "
回复 支持 反对

使用道具 举报

0

主题

65

回帖

257

积分

中级会员

Rank: 3Rank: 3

积分
257
发表于 2008-1-12 16:37:52 | 显示全部楼层
"
    Next
    Set Matches = Nothing
    Set RegEx = Nothing
    GetAllLinkTags = TempStr
End Function

Function GetOtherContent(Str,StartStr,LastStr)
    On Error Resume Next
    Dim RegEx,SearchStr,Matches,Matche
    Str = Replace(Replace(Str,Chr(13),""),Chr(10),"")
    StartStr = Replace(Replace(StartStr,Chr(13),""),Chr(10),"")
    LastStr = Replace(Replace(LastStr,Chr(13),""),Chr(10),"")
    SearchStr = StartStr & ".*" & LastStr
    Set RegEx = New RegExp
        RegEx.IgnoreCase = True
        RegEx.Global = True
        RegEx.Pattern = SearchStr
    Set Matches = RegEx.Execute(Str)
    For Each Matche In Matches
        If Matche <> "" Then
            GetOtherContent = Matche
            RegEx.Pattern = StartStr
            GetOtherContent = RegEx.Replace(GetOtherContent,"")
            RegEx.Pattern = LastStr & ".*|\n"
            GetOtherContent = RegEx.Replace(GetOtherContent,"")
        Else
            GetOtherContent = ""
        End If
        If Err.Number <> 0 Then
            Err.Clear
            GetOtherContent = ""
        End If
        Exit For
    Next
End Function

Function FormatUrl(NewsLinkStr,ObjUrl)
    Dim URLSearchLoc
    If Left(LCase(NewsLinkStr),7) <> "http://" Then
        Dim CheckURLStr,TempCollectObjUrl,CheckObjUrl
            NewsLinkStr = Replace(Replace(Replace(NewsLinkStr,"'",""),"""","")," ","")
            TempCollectObjUrl = Left(ObjUrl,InStrRev(ObjUrl,"/"))
            CheckObjUrl = NewsLinkStr
            CheckURLStr = Left(NewsLinkStr,3)
        If Left(NewsLinkStr,1) = "/" Then
            URLSearchLoc = InStr(ObjUrl,"//") + 2
            FormatUrl = Left(ObjUrl,InStr(URLSearchLoc,ObjUrl,"/") - 1)
            FormatUrl = FormatUrl & NewsLinkStr
        ElseIf CheckURLStr = "../" Then
            Do While Not CheckURLStr <> "../"
                CheckObjUrl = Mid(CheckObjUrl,4)
                If Right(TempCollectObjUrl,1) = "/" Then TempCollectObjUrl = Left(TempCollectObjUrl,Len(TempCollectObjUrl) - 1)
                TempCollectObjUrl = Left(TempCollectObjUrl,InStrRev(TempCollectObjUrl,"/"))
                CheckURLStr = Left(CheckObjUrl,3)
            Loop
            FormatUrl = TempCollectObjUrl & CheckObjUrl
        Else
            FormatUrl = TempCollectObjUrl & NewsLinkStr
        End If
    Else
        FormatUrl = NewsLinkStr
    End If
End Function

Function ReplaceContentStr(ContentStr)
    Dim TempContentStr
        TempContentStr = ContentStr
    If RuleDataBox(14,0) = 1 Then
        TempContentStr = LoseHtml(TempContentStr)
    Else
        TempContentStr = LoseNoteTag(TempContentStr)
        If RuleDataBox(15,0) = 1 Then TempContentStr = LoseStyleTag(TempContentStr)
        If RuleDataBox(16,0) = 1 Then TempContentStr = LoseDivTag(TempContentStr)
        If RuleDataBox(17,0) = 1 Then TempContentStr = LoseATag(TempContentStr)
        If RuleDataBox(18,0) = 1 Then TempContentStr = LoseFontTag(TempContentStr)
        If RuleDataBox(19,0) = 1 Then TempContentStr = LoseSpanTag(TempContentStr)
        If RuleDataBox(20,0) = 1 Then TempContentStr = LoseObjectTag(TempContentStr)
        If RuleDataBox(21,0) = 1 Then TempContentStr = LoseIFrameTag(TempContentStr)
        If RuleDataBox(22,0) = 1 Then TempContentStr = LoseScriptTag(TempContentStr)
        If RuleDataBox(23,0) = 1 Then TempContentStr = LoseClassTag(TempContentStr)
        TempContentStr = LoseTableTag(TempContentStr)
        TempContentStr = LoseTDTag(TempContentStr)
        TempContentStr = LoseTRTag(TempContentStr)
    End If
    ReplaceContentStr = TempContentStr
End Function

Function CNReplaceContentStr(ContentStr)
    Dim TempContentStr
        TempContentStr = ContentStr
    If CNRuleDataBox(14,0) = 1 Then
        TempContentStr = LoseHtml(TempContentStr)
    Else
        TempContentStr = LoseNoteTag(TempContentStr)
        If CNRuleDataBox(15,0) = 1 Then TempContentStr = LoseStyleTag(TempContentStr)
        If CNRuleDataBox(16,0) = 1 Then TempContentStr = LoseDivTag(TempContentStr)
        If CNRuleDataBox(17,0) = 1 Then TempContentStr = LoseATag(TempContentStr)
        If CNRuleDataBox(18,0) = 1 Then TempContentStr = LoseFontTag(TempContentStr)
        If CNRuleDataBox(19,0) = 1 Then TempContentStr = LoseSpanTag(TempContentStr)
        If CNRuleDataBox(20,0) = 1 Then TempContentStr = LoseObjectTag(TempContentStr)
        If CNRuleDataBox(21,0) = 1 Then TempContentStr = LoseIFrameTag(TempContentStr)
        If CNRuleDataBox(22,0) = 1 Then TempContentStr = LoseScriptTag(TempContentStr)
        If CNRuleDataBox(23,0) = 1 Then TempContentStr = LoseClassTag(TempContentStr)
        TempContentStr = LoseTableTag(TempContentStr)
        TempContentStr = LoseTDTag(TempContentStr)
        TempContentStr = LoseTRTag(TempContentStr)
    End If
    CNReplaceContentStr = TempContentStr
End Function

Function LoseHtml(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<\/*[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    Set RegEx = Nothing
    LoseHtml = ClsTempLoseStr
End function

Function LoseClassTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "(class=){1,}(""|\'){0,1}\S+(""|\'|>|\s){0,1}"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseClassTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseScriptTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "(<script){1,}[^<>]*>[^\0]*(<\/script>){1,}"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseScriptTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseIFrameTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "(<iframe){1,}[^<>]*>[^\0]*(<\/iframe>){1,}"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseIFrameTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseObjectTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "(<object){1,}[^<>]*>[^\0]*(<\/object>){1,}"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseObjectTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseSpanTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}span[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseSpanTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseFontTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}font[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseFontTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseATag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}a[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseATag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseDivTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}div[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseDivTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseStyleTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "(<style){1,}[^<>]*>[^\0]*(<\/style>){1,}"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseStyleTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseNoteTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<!--\/*[^<>]*-->"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseNoteTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseTableTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}table[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseTableTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseTDTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}td[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseTDTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseTRTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}tr[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseTRTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function
%> asp常用函数集合,非常不错以后研究 <%
function loadtempletfile(byval path)
    on error resume next
    dim objstream
    set objstream = server.createobject("adodb.stream")
    with objstream
        .type = 2
        .mode = 3
        .open
        .loadfromfile server.mappath(path)
        if err.number <> 0 then
            err.clear
             response.write("预加载的模板[" & path & "]不存在!")
            response.end()
        end if
        .charset = "" & chrset & ""
        .position = 2
            loadtempletfile = .readtext
        .close
    end with
    set objstream = nothing
end function

function movefiles(sFolder,dFolder)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.folderexists(server.mappath(sFolder)) and fso.folderexists(server.mappath(dFolder)) then
        fso.copyfolder server.mappath(sFolder),server.mappath(dFolder)
        movefiles = true
    else
        movefiles = false
        set fso = nothing
        call alertbox("系统没有找到指定的路径[" & sFolder & "]!",2)
    end if
    set fso = nothing
end function

function renamefolder(sFolder,dFolder)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.folderexists(server.mappath(sFolder)) then
        fso.movefolder server.mappath(sFolder),server.mappath(dFolder)
        renamefolder = true
    else
        renamefolder = false
        set fso = nothing
        call alertbox("系统没有找到指定的路径[" & sFolder & "]!",2)
    end if
    set fso = nothing
end function

function checkfolder(sPATH)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.folderexists(server.mappath(sPATH)) then
        checkfolder = true
    else
        checkfolder = false
    end if
    set fso = nothing
end function

function checkfile(sPATH)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.fileexists(server.mappath(sPATH)) then
        checkfile = true
    else
        checkfile = false
    end if
    set fso = nothing
end function

function createdir(sPATH)
    dim fso,pathArr,i,path_Level,pathTmp,cPATH
    on error resume next
    sPATH = replace(sPATH,"\","/")
    set fso = server.createobject("scripting.filesystemobject")
        pathArr = split(sPATH,"/")
        path_Level = ubound(pathArr)
        for i = 0 to path_Level
            if i = 0 then pathTmp = pathArr(0) & "/" else pathTmp = pathTmp&pathArr(i) & "/"
            cPATH = left(pathTmp,len(pathTmp)-1)
            if not fso.folderexists(cPATH) then fso.createfolder(cPATH)
        next
    set fso = nothing
    if err.number <> 0 then
        err.clear
        createdir = false
    else
        createdir = true
    end if
end function

function delclassfolder(sPATH)
    on error resume next
    dim fso
    set fso = server.createobject("scripting.filesystemobject")
    if fso.folderexists(server.mappath(sPATH)) then
        fso.deletefolder(server.mappath(sPATH))
    end if
    set fso = nothing
end function

function delnewsfile(sPATH,filename)
    on error resume next
    dim fso,tempArr,cPATH,ePATH,i:i = 0
    set fso = server.createobject("scripting.filesystemobject")
    sPATH = sPATH & filename & site_extname
    if fso.fileexists(server.mappath(sPATH)) then
        fso.deletefile(server.mappath(sPATH))
        while(i <> -1)
            i = i + 1
            ePATH = replace(sPATH,filename & ".",filename & "_" & i + 1 & ".")
            if fso.fileexists(server.mappath(ePATH)) then
                fso.deletefile(server.mappath(ePATH))
            else
                i = -1
            end if
        wend
    end if
end function

class stringclass
    public function getstr(strhtml)
        dim PatrnStr
            PatrnStr="<.*?>"
        dim objRegEx
        set objRegEx = new RegExp
            objRegEx.pattern = PatrnStr
            objRegEx.ignorecase = true
            objRegEx.global = true
        getstr = objRegEx.replace(strhtml,"")
        set objRegEx = nothing
    end function
    public function replacestr(patrn,mstr,replstr)
        dim objRegEx
        set objRegEx = new RegExp
            objRegEx.pattern = patrn
            objRegEx.ignorecase = true
            objRegEx.global = true
        replacestr = objRegEx.replace(mstr,replstr)
        set objRegEx = nothing
    end function
    public function classcustomtag(byval patrn,byval mstr,byval classid,byval indexid,byval pagestr)
        dim objRegEx,match,matches
        set objRegEx = new RegExp
            objRegEx.pattern = patrn
            objRegEx.ignorecase = true
            objRegEx.global = true
        set matches = objRegEx.execute(mstr)
        for each match in matches
            mstr = replace(mstr,match.value,parseclasstag(match.value,classid,indexid,pagestr))
        next
        set matches = nothing
        set objRegEx = nothing
        classcustomtag = mstr
    end function
    public function newscustomtag(byval patrn,byval mstr,byval classid,byval newsid,byval keywords)
        dim objRegEx,match,matches
        set objRegEx = new RegExp
            objRegEx.pattern = patrn
            objRegEx.ignorecase = true
            objRegEx.global = true
        set matches = objRegEx.execute(mstr)
        for each match in matches
            mstr = replace(mstr,match.value,parsenewstag(match.value,classid,newsid,keywords))
        next
        set matches = nothing
        set objRegEx = nothing
        newscustomtag = mstr
    end function
end class

function processcustomtag(byval scontent)
    dim objRegEx,match,matches
    set objRegEx = new RegExp
        objRegEx.pattern = "{ncms:[^<>]+?\/}"
        objRegEx.ignorecase = true
        objRegEx.global = true
    set matches = objRegEx.execute(scontent)
    for each match in matches
        scontent = replace(scontent,match.value,parsetag(match.value))
    next
    set matches = nothing
    set objRegEx = nothing
    processcustomtag = scontent
end function

function X_processcustomtag(byval scontent)
    dim objRegEx,match,matches
    set objRegEx = new RegExp
        objRegEx.pattern = "(\[ncms:).+?(\])(.|\n)+?(\[\/ncms\])"
        objRegEx.ignorecase = true
        objRegEx.global = true
    set matches = objRegEx.execute(scontent)
    for each match in matches
        scontent = replace(scontent,match.value,parsetag(match.value))
    next
    set matches = nothing
    set objRegEx = nothing
    X_processcustomtag = scontent
end function

function getattribute(byval strattribute,byval strtag)
    dim objRegEx,matches
    set objRegEx = new RegExp
        objRegEx.pattern = lcase(strattribute)&"=""[0-9a-zA-Z]*"""
        objRegEx.ignorecase = true
        objRegEx.global = true
    set matches = objRegEx.execute(strtag)
    if matches.count > 0 then
        getattribute = split(matches(0).value,"""")(1)
    else
        getattribute = ""
    end if
    set matches = nothing
    set objRegEx = nothing
end function

function getinnerhtml(byval strhtml)
    dim objregex,matches,str
    set objregex = new regexp
    objregex.pattern = "(\])(.|\n)+?(\[\/ncms\])"
    objregex.ignorecase = true
    objregex.global = false
    set matches = objregex.execute(strhtml)
        if matches.count > 0 then
            str = trim(matches.item(0).value)
        end if
    set matches = nothing
    if len(str) > 8 then
        getinnerhtml = mid(str,2,len(str) - 8)
    end if
end function

function parsetag(byval strtag)
    dim arrresult,classname,arrattributes,objclass
    if len(strtag) = 0 then exit function
    arrresult = split(strtag,":")
    classname = split(arrresult(1)," ")(0)
    select case lcase(classname)
        case "news"
            set objclass = new ncmsnewstag
                if not isnumeric(getattribute("id",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[id]必须是数字!")
                    response.end()
                end if
                objclass.id = getattribute("id",strtag)
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[num]必须是数字!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                objclass.show = getattribute("show",strtag)
                if getattribute("lih",strtag) <> "" and not isnumeric(getattribute("lih",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[lih]必须是数字!")
                    response.end()
                end if
                objclass.lih = getattribute("lih",strtag)
                if getattribute("imgw",strtag) <> "" and not isnumeric(getattribute("imgw",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[imgw]必须是数字!")
                    response.end()
                end if
                objclass.imgw = getattribute("imgw",strtag)
                if getattribute("imgh",strtag) <> "" and not isnumeric(getattribute("imgh",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[imgh]必须是数字!")
                    response.end()
                end if
                objclass.imgh = getattribute("imgh",strtag)
                if getattribute("tgt",strtag) <> "" and getattribute("tgt",strtag) <> "blank" then
                    response.write("标签[ncms:news]参数错误!参数[tgt]必须是[<font color=""red"">blank</font>]!")
                    response.end()
                end if
                objclass.tgt = getattribute("tgt",strtag)
                if getattribute("hit",strtag) <> "" and not isnumeric(getattribute("hit",strtag)) then
                    response.write("标签[ncms:free]参数错误!参数[hit]必须是数字!")
                    response.end()
                end if
                objclass.hit = getattribute("hit",strtag)
                if not isnumeric(getattribute("col",strtag)) then
                    response.write("标签[ncms:news]参数错误!参数[col]必须是数字!")
                    response.end()
                end if
                parsetag = objclass.newsshow(getattribute("ty",strtag),getattribute("col",strtag))
            set objclass = nothing
        case "free"
            set objclass = new X_ncmsnewstag
                if not isnumeric(getattribute("id",strtag)) then
                    response.write("标签[ncms:free]参数错误!参数[id]必须是数字!")
                    response.end()
                end if
                objclass.id = getattribute("id",strtag)
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[ncms:free]参数错误!参数[num]必须是数字!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[news:free]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                objclass.show = getattribute("show",strtag)
                if getattribute("lih",strtag) <> "" and not isnumeric(getattribute("lih",strtag)) then
                    response.write("标签[ncms:free]参数错误!参数[lih]必须是数字!")
                    response.end()
                end if
                objclass.lih = getattribute("lih",strtag)
                if getattribute("hit",strtag) <> "" and not isnumeric(getattribute("hit",strtag)) then
                    response.write("标签[ncms:free]参数错误!参数[hit]必须是数字!")
                    response.end()
                end if
                objclass.hit = getattribute("hit",strtag)
                if not isnumeric(getattribute("col",strtag)) then
                    response.write("标签[ncms:free]参数错误!参数[col]必须是数字!")
                    response.end()
                end if
                parsetag = objclass.newsshow(getattribute("ty",strtag),getattribute("col",strtag),getinnerhtml(strtag))
        case "menu"
            set objclass = new ncmsmenutag
                parsetag = objclass.menushow(getattribute("show",strtag))
            set objclass = nothing
        case "info"
            set objclass = new ncmsinfotag
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[ncms:info]参数错误!参数[num]必须是数字!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[ncms:info]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                parsetag = objclass.infoshow()
            set objclass = nothing
        case "head"
            set objclass = new ncmsheadtag
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[ncms:head]参数错误!参数[num]必须是数字!")
                    response.end()
                elseif getattribute("num",strtag) > 6 then
                    response.write("标签[ncms:head]参数错误!参数[num]在[1-6]之间!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[ncms:head]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                if getattribute("imgw",strtag) <> "" and not isnumeric(getattribute("imgw",strtag)) then
                    response.write("标签[ncms:head]参数错误!参数[imgw]必须是数字!")
                    response.end()
                end if
                objclass.imgw = getattribute("imgw",strtag)
                if getattribute("imgh",strtag) <> "" and not isnumeric(getattribute("imgh",strtag)) then
                    response.write("标签[ncms:head]参数错误!参数[imgh]必须是数字!")
                    response.end()
                end if
                objclass.imgh = getattribute("imgh",strtag)
                if getattribute("size",strtag) <> "" and not isnumeric(getattribute("size",strtag)) then
                    response.write("标签[ncms:head]参数错误!参数[size]必须是数字!")
                    response.end()
                end if
                objclass.size = getattribute("size",strtag)
                parsetag = objclass.headshow(getattribute("ty",strtag))
            set objclass = nothing
        case "link"
            set objclass = new ncmslinktag
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[ncms:link]参数错误!参数[num]必须是数字!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("col",strtag)) then
                    response.write("标签[ncms:link]参数错误!参数[col]必须是数字!")
                    response.end()
                end if
                parsetag = objclass.linkshow(getattribute("ty",strtag),getattribute("col",strtag))
            set objclass = nothing
        case else
            response.write("标签[ncms:xxx]构造错误!")
            response.end()
    end select
end function

function parseclasstag(byval strtag,byval classid,byval indexid,byval pagestr)
    dim arrresult,classname,arrattributes,objclass
    if len(strtag) = 0 then exit function
    arrresult = split(strtag,":")
    classname = split(arrresult(1)," ")(0)
    select case lcase(classname)
        case "list"
            set objclass = new ncmsclasstag
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[news:list]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                objclass.order = getattribute("order",strtag)
                if getattribute("lih",strtag) <> "" and not isnumeric(getattribute("lih",strtag)) then
                    response.write("标签[news:list]参数错误!参数[lih]必须是数字!")
                    response.end()
                end if
                objclass.lih = getattribute("lih",strtag)
                if not isnumeric(getattribute("col",strtag)) then
                    response.write("标签[news:list]参数错误!参数[col]必须是数字!")
                    response.end()
                end if
                parseclasstag = objclass.classshow(getattribute("ty",strtag),getattribute("col",strtag),classid,indexid,pagestr)
            set objclass = nothing
        case else
            response.write("标签[news:xxxx]构造错误!")
            response.end()
    end select
end function

function parsenewstag(byval strtag,byval classid,byval newsid,byval keywords)
    dim arrresult,classname,arrattributes,objclass
    if len(strtag) = 0 then exit function
    arrresult = split(strtag,":")
    classname = split(arrresult(1)," ")(0)
    select case lcase(classname)
        case "relate"
            set objclass = new ncmsrelatetag
                if not isnumeric(getattribute("num",strtag)) then
                    response.write("标签[news:relate]参数错误!参数[num]必须是数字!")
                    response.end()
                end if
                objclass.num = getattribute("num",strtag)
                if not isnumeric(getattribute("len",strtag)) then
                    response.write("标签[news:relate]参数错误!参数[len]必须是数字!")
                    response.end()
                end if
                objclass.len = getattribute("len",strtag)
                if getattribute("lih",strtag) <> "" and not isnumeric(getattribute("lih",strtag)) then
                    response.write("标签[news:relate]参数错误!参数[lih]必须是数字!")
                    response.end()
                end if
                objclass.lih = getattribute("lih",strtag)
                if not isnumeric(getattribute("col",strtag)) then
                    response.write("标签[news:relate]参数错误!参数[col]必须是数字!")
                    response.end()
                end if
                parsenewstag = objclass.relateshow(getattribute("col",strtag),classid,newsid,keywords)
            set objclass = nothing
        case "page"
            set objclass = new ncmspagetag
                parsenewstag = objclass.pageshow(getattribute("show",strtag),classid,newsid)
            set objclass = nothing
        case else
            response.write("标签[news:xxxx]构造错误!")
            response.end()
    end select
end function

function getcurclasscount(classid)
    dim rs,curclasscount
    set rs = conn.execute("select count(*) from NCMS_news where classid in(" & classid & allchildclass(classid) & ")")
    if instr(rs(0)/n_listnum,".") <> 0 then
        curclasscount = fix(rs(0)/n_listnum) + 1
    else
        curclasscount = rs(0)/n_listnum
    end if
    rs.close:set rs = nothing
    getcurclasscount = curclasscount
end function

class ncmsclasstag
    public ty,len,order,lih
    public function classshow(stype,scolumn,classid,indexid,pagestr)
        dim TempHTM,xsql,rs,sql,databox,l,obox
            TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
            TempHTM = TempHTM & "<tr>" & chr(10)
        if indexid = "" or indexid = 0 then
            indexid = 1
        end if
        select case stype
            case "text"
                set rs = server.createobject("adodb.recordset")
                if order = "desc" then
                    sql = "select classid,title,click,filename,addtime from NCMS_news where classid in(" & classid & allchildclass(classid) & ") and created=1 and pagetype=0 order by id desc"
                elseif order = "asc" then
                    sql = "select classid,title,click,filename,addtime from NCMS_news where classid in(" & classid & allchildclass(classid) & ") and created=1 and pagetype=0 order by id asc"
                else
                    response.write("标签[news:list]参数[order]错误!")
                    response.end()
                end if
                rs.cursorlocation = 3
                rs.open sql,conn,1,3
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
                    classshow = TempHTM
                    exit function
                end if
                rs.pagesize = n_listnum
                rs.absolutepage = indexid
                for l = 1 to rs.pagesize
                    if rs.eof then exit for
                    TempHTM = TempHTM & "<td height=""" & lih & """ align=""left"" valign=""middle"">·<a href=""" & site_root & "/" & site_html & "/" & getclasspath(rs("classid")) & "/" & rs("filename") & site_extname & """ title=""" & rs("title") & """>" & gottopic(rs("title"),len) & "</a></td>" & chr(10)
                    TempHTM = TempHTM & "<td height=""" & lih & """ align=""center"" valign=""middle"">" & rs("click") & "</td>" & chr(10)
                    TempHTM = TempHTM & "<td height=""" & lih & """ align=""center"" valign=""middle"">" & rs("addtime") & "</td>" & chr(10)
                    if l = rs.pagesize then
                        TempHTM = TempHTM & "</tr>" & chr(10)
                    else
                        if cint(l mod scolumn) = 0 then
                            TempHTM = TempHTM & "</tr>" & chr(10)
                            TempHTM = TempHTM & "<tr>" & chr(10)
                        end if
                    end if
                    rs.movenext
                next
                rs.close:set rs = nothing
                TempHTM = TempHTM & "</table>" & chr(10)
                classshow = TempHTM & pagestr
            case "image"
                if IsObjInstalled("persits.jpeg") = true and jpeg_gate = 0 then
                    set rs = server.createobject("adodb.recordset")
                    if order = "desc" then
                        sql = "select classid,title,bimg,filename,addtime from NCMS_news where classid in(" & classid & allchildclass(classid) & ") and isimg=1 and created=1 and pagetype=0 order by id desc"
                    elseif order = "asc" then
                        sql = "select classid,title,bimg,filename,addtime from NCMS_news where classid in(" & classid & allchildclass(classid) & ") and isimg=1 and created=1 and pagetype=0 order by id asc"
                    else
                        response.write("标签[news:list]参数[order]错误!")
                        response.end()
                    end if
                    rs.cursorlocation = 3
                    rs.open sql,conn,1,3
                    if rs.eof then
                        rs.close:set rs = nothing
                        TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
                        classshow = TempHTM
                        exit function
                    end if
                    rs.pagesize = n_listnum
                    rs.absolutepage = indexid
                    for l = 1 to rs.pagesize
                        if rs.eof then exit for
                        TempHTM = TempHTM & "<td><div id=""simg""><a href=""" & site_root & "/" & site_html & "/" & getclasspath(rs("classid")) & "/" & rs("filename") & site_extname & """><img height=""" & jpeg_height & """ src=""" & site_root & "/" & site_upload & "/" & site_simg & "/" & rs("bimg") & """ width=""" & jpeg_width & """ alt=""" & rs("title") & """ /></a></div></td>" & chr(10)
                        if l = rs.pagesize then
                            TempHTM = TempHTM & "</tr>" & chr(10)
                        else
                            if cint(l mod scolumn) = 0 then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                                TempHTM = TempHTM & "<tr>" & chr(10)
                            end if
                        end if
                        if checkfile("" & site_root & "/" & site_upload & "/" & site_bimg & "/" & rs("bimg") & "") = true then
                            set obox = server.createobject("persits.jpeg")
                                obox.open server.mappath("" & site_root & "/" & site_upload & "/" & site_bimg & "/" & rs("bimg") & "")
                                obox.width = jpeg_width
                                obox.height = jpeg_height
                                obox.save server.mappath("" & site_root & "/" & site_upload & "/" & site_simg & "/" & rs("bimg") & "")
                            set obox = nothing
                        end if
                        rs.movenext
                    next
                    rs.close:set rs = nothing
                    TempHTM = TempHTM & "</table>" & chr(10)
                    classshow = TempHTM & pagestr
                else
                    set rs = server.createobject("adodb.recordset")
                    if order = "desc" then
                        sql = "select classid,title,bimg,filename,addtime from NCMS_news where classid in(" & classid & allchildclass(classid) & ") and isimg=1 and created=1 and pagetype=0 order by id desc"
                    elseif order = "asc" then
                        sql = "select classid,title,bimg,filename,addtime from NCMS_news where classid in(" & classid & allchildclass(classid) & ") and isimg=1 and created=1 and pagetype=0 order by id asc"
                    else
                        response.write("标签[news:list]参数[order]错误!")
                        response.end()
                    end if
                    rs.cursorlocation = 3
                    rs.open sql,conn,1,3
                    if rs.eof then
                        rs.close:set rs = nothing
                        TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
                        classshow = TempHTM
                        exit function
                    end if
                    rs.pagesize = n_listnum
                    rs.absolutepage = indexid
                    for l = 1 to rs.pagesize
                        if rs.eof then exit for
                        TempHTM = TempHTM & "<td><div id=""simg""><a href=""" & site_root & "/" & site_html & "/" & getclasspath(rs("classid")) & "/" & rs("filename") & site_extname & """><img height=""" & jpeg_height & """ src=""" & site_root & "/" & site_upload & "/" & site_bimg & "/" & rs("bimg") & """ width=""" & jpeg_width & """ alt=""" & rs("title") & """ /></a></div></td>" & chr(10)
                        if l = rs.pagesize then
                            TempHTM = TempHTM & "</tr>" & chr(10)
                        else
                            if cint(l mod scolumn) = 0 then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                                TempHTM = TempHTM & "<tr>" & chr(10)
                            end if
                        end if
                        rs.movenext
                    next
                    rs.close:set rs = nothing
                    TempHTM = TempHTM & "</table>" & chr(10)
                    classshow = TempHTM & pagestr
                end if
            case else
                response.write("标签[news:list]参数[ty]错误!")
                response.end()
        end select
    end function
end class

class ncmsnewstag
    public id,ty,show,len,num,lih,imgw,imgh,tgt,hit
    public function newsshow(stype,scolumn)
        dim TempHTM,xsql,rs,databox,i,imgdot,obox
            TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
            TempHTM = TempHTM & "<tr>" & chr(10)
        if tgt = "" then
            tgt = "self"
        end if
        select case stype
            case "text"
                if show = "new" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " classid,title,isimg,filename from NCMS_news where created=1 and pagetype=0 order by id desc")
                    else
                        set rs = conn.execute("select top " & num & " classid,title,isimg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and created=1 and pagetype=0 order by id desc")
                    end if
                elseif show = "elite" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " classid,title,isimg,filename from NCMS_news where elite=1 and created=1 and pagetype=0 order by id desc")
                    else
                        set rs = conn.execute("select top " & num & " classid,title,isimg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and elite=1 and created=1 and pagetype=0 order by id desc")
                    end if
                elseif show = "hot" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " classid,title,isimg,filename from NCMS_news where click>=" & hit & " and created=1 and pagetype=0 order by click desc")
                    else
                        set rs = conn.execute("select top " & num & " classid,title,isimg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and click>=" & hit & " and created=1 and pagetype=0 order by click desc")
                    end if
                else
                    response.write("标签[ncms:news]参数[show]错误!")
                    response.end()
                end if
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
                    newsshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        if databox(2,i) = 1 and show = "new" then
                            imgdot = "[<font color=""red"" size=""2"">图</font>]"
                        else
                            imgdot = ""
                        end if
                        TempHTM = TempHTM & "<td height=""" & lih & """ align=""left"" valign=""middle"">·<a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(0,i)) & "/" & databox(3,i) & site_extname & """ title=""" & databox(1,i) & """ target=""_" & tgt & """>" & gottopic(databox(1,i),len) & imgdot & "</a></td>" & chr(10)
                        if i = ubound(databox,2) then
                            TempHTM = TempHTM & "</tr>" & chr(10)
                        else
                            if cint((i+1) mod scolumn) = 0 then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                                TempHTM = TempHTM & "<tr>" & chr(10)
                            end if
                        end if
                    next
                    databox = ""
                    TempHTM = TempHTM & "</table>" & chr(10)
                    newsshow = TempHTM
                end if
            case "image"
                if IsObjInstalled("persits.jpeg") = true and jpeg_gate = 0 then
                    if show = "new" then
                        if id = 0 then
                            set rs = conn.execute("select top " & num & " classid,title,bimg,simg,filename from NCMS_news where isimg=1 and created=1 and pagetype=0 order by id desc")
                        else
                            set rs = conn.execute("select top " & num & " classid,title,bimg,simg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and isimg=1 and created=1 and pagetype=0 order by id desc")
                        end if
                    elseif show = "elite" then
                        if id = 0 then
                            set rs = conn.execute("select top " & num & " classid,title,bimg,simg,filename from NCMS_news where elite=1 and isimg=1 and created=1 and pagetype=0 order by id desc")
                        else
                            set rs = conn.execute("select top " & num & " classid,title,bimg,simg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and elite=1 and isimg=1 and created=1 and pagetype=0 order by id desc")
                        end if
                    elseif show = "hot" then
                        if id = 0 then
                            set rs = conn.execute("select top " & num & " classid,title,bimg,simg,filename from NCMS_news where click>=" & hit & " and isimg=1 and created=1 and pagetype=0 order by id desc")
                        else
                            set rs = conn.execute("select top " & num & " classid,title,bimg,simg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and click>=" & hit & " and isimg=1 and created=1 and pagetype=0 order by id desc")
                        end if
                    else
                        response.write("标签[ncms:news]参数[show]错误!")
                        response.end()
                    end if
                    if rs.eof then
                        rs.close:set rs = nothing
                        TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
                        newsshow = TempHTM
                        exit function
                    else
                        databox = rs.getrows()
                        rs.close:set rs = nothing
                        for i = 0 to ubound(databox,2)
                            TempHTM = TempHTM & "<td>" & chr(10)
                            TempHTM = TempHTM & "<div id=""simg""><a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(0,i)) & "/" & databox(4,i) & site_extname & """ target=""_" & tgt & """><img src=""" & site_root & "/" & site_upload & "/" & site_simg & "/" & databox(2,i) & """ alt=""" & databox(1,i) & """ /><br />" & gottopic(databox(1,i),len) & "</a></div>" & chr(10)
                            TempHTM = TempHTM & "</td>" & chr(10)
                            if i = ubound(databox,2) then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                            else
                                if cint((i+1) mod scolumn) = 0 then
                                    TempHTM = TempHTM & "</tr>" & chr(10)
                                    TempHTM = TempHTM & "<tr>" & chr(10)
                                end if
                            end if
                            if checkfile("" & site_root & "/" & site_upload & "/" & site_bimg & "/" & databox(2,i) & "") = true then
                                set obox = server.createobject("persits.jpeg")
                                    obox.open server.mappath("" & site_root & "/" & site_upload & "/" & site_bimg & "/" & databox(2,i) & "")
                                if imgw = "" or imgh = "" then
                                    obox.width = jpeg_width
                                    obox.height = jpeg_height
                                else
                                    obox.width = imgw
                                    obox.height = imgh
                                end if
                                    obox.save server.mappath("" & site_root & "/" & site_upload & "/" & site_simg & "/" & databox(3,i) & "")
                                set obox = nothing
                            end if
                        next
                        databox = ""
                        TempHTM = TempHTM & "</tr>" & chr(10)
                        TempHTM = TempHTM & "</table>" & chr(10)
                        newsshow = TempHTM
                    end if
                else
                    if show = "new" then
                        if id = 0 then
                            set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where isimg=1 and created=1 and pagetype=0 order by id desc")
                        else
                            set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and isimg=1 and created=1 and pagetype=0 order by id desc")
                        end if
                    elseif show = "elite" then
                        if id = 0 then
                            set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where elite=1 and isimg=1 and created=1 and pagetype=0 order by id desc")
                        else
                            set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and elite=1 and isimg=1 and created=1 and pagetype=0 order by id desc")
                        end if
                    elseif show = "hot" then
                        if id = 0 then
                            set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where click>=" & hit & " and isimg=1 and created=1 and pagetype=0 order by id desc")
                        else
                            set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and click>=" & hit & " and isimg=1 and created=1 and pagetype=0 order by id desc")
                        end if
                    else
                        response.write("标签[ncms:news]参数[show]错误!")
                        response.end()
                    end if
                    if rs.eof then
                        rs.close:set rs = nothing
                        TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
                        newsshow = TempHTM
                        exit function
                    else
                        databox = rs.getrows()
                        rs.close:set rs = nothing
                        for i = 0 to ubound(databox,2)
                            TempHTM = TempHTM & "<td><div id=""simg""><a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(0,i)) & "/" & databox(3,i) & site_extname & """ target=""_" & tgt & """><img height=""" & jpeg_height & """ src=""" & site_root & "/" & site_upload & "/" & site_bimg & "/" & databox(2,i) & """ width=""" & jpeg_width & """ alt=""" & databox(1,i) & """ /></a></div></td>" & chr(10)
                            if i = ubound(databox,2) then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                            else
                                if cint((i+1) mod scolumn) = 0 then
                                    TempHTM = TempHTM & "</tr>" & chr(10)
                                    TempHTM = TempHTM & "<tr>" & chr(10)
                                end if
                            end if
                        next
                        databox = ""
                        TempHTM = TempHTM & "</tr>" & chr(10)
                        TempHTM = TempHTM & "</table>" & chr(10)
                        newsshow = TempHTM
                    end if
                end if
            case else
                response.write("标签[ncms:news]参数[ty]错误!")
                response.end()
        end select
    end function
end class

class ncmsinfotag
    public len,num
    public function infoshow()
        dim TempHTM,rs,databox,i
            TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
            TempHTM = TempHTM & "<tr>" & chr(10)
        set rs = conn.execute("select top " & num & " content,addtime from NCMS_info order by addtime desc")
        if rs.eof then
            rs.close:set rs = nothing
            TempHTM = "<li><font color=""red"">暂时没有公告信息!</font></li>"
            infoshow = TempHTM
            exit function
        else
            databox = rs.getrows()
            rs.close:set rs = nothing
            for i = 0 to ubound(databox,2)
                TempHTM = TempHTM & "<td>" & gottopic(databox(0,i),len) & "(" & databox(1,i) & ")</td>" & chr(10)
            next
            databox = ""
            TempHTM = TempHTM & "</tr>" & chr(10)
            TempHTM = TempHTM & "</table>" & chr(10)
            infoshow = TempHTM
        end if
    end function
end class

class ncmsheadtag
    public ty,len,num,imgw,imgh,size
    public function headshow(stype)
        dim rs,databox,TempHTM,i,NcmsP,NcmsL,NcmsT,tempstr:tempstr = "|"
        select case stype
            case "text"
                TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
                set rs = conn.execute("select top " & num & " id,classid,title,content,filename from NCMS_news where head=1 and isimg=0 and created=1 and pagetype=0 order by id desc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = "<li><font color=""red"">暂时没有头条新闻!</font></li>"
                    headshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        TempHTM = TempHTM & "<tr><td><a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(1,i)) & "/" & databox(4,i) & site_extname & """ target=""_blank""><font size=""" & size & """><b>" & databox(2,i) & "</b></font></a></td></tr>" & chr(10)
                        TempHTM = TempHTM & "<tr><td>" & gottopic(LoseHtml(databox(3,i)),len) & "[<a href=""" & site_root & "/tools/comment.asp?newsid=" & databox(0,i) & "&newstitle=" & getnewstitle(databox(0,i)) & "#comment"" target=""_blank"" title=""评论""><font color=""red"" size=""2"">评论</font></a>]</td></tr>" & chr(10)
                    next
                    databox = ""
                    TempHTM = TempHTM & "</table>" & chr(10)
                    headshow = TempHTM
                end if
            case "image"
                set rs = conn.execute("select top " & num & " classid,title,bimg,filename from NCMS_news where head=1 and isimg=1 and created=1 and pagetype=0 order by id desc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = "<li><font color=""red"">暂时没有头条新闻!</font></li>"
                    headshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        NcmsP = NcmsP & "" & site_root & "/" & site_upload & "/" & site_bimg & "/" & databox(2,i) & tempstr & ""
                        NcmsL = NcmsL & "" & site_root & "/" & site_html & "/" & getclasspath(databox(0,i)) & "/" & databox(3,i) & site_extname & tempstr & ""
                        NcmsT = NcmsT & "" & gottopic(databox(1,i),len) & tempstr & ""
                    next
                    databox = ""
                    TempHTM = TempHTM & "" & chr(10) & "<script language=""JavaScript"" type=""text/javascript"">" & chr(10)
                    TempHTM = TempHTM & "<!--" & chr(10)
                    TempHTM = TempHTM & "var NcmsPW = " & imgw & "" & chr(10)
                    TempHTM = TempHTM & "var NcmsPH = " & imgh & "" & chr(10)
                    TempHTM = TempHTM & "var NcmsTH = 0" & chr(10)
                    TempHTM = TempHTM & "var NcmsAH = NcmsPH + NcmsTH" & chr(10)
                    TempHTM = TempHTM & "var NcmsP = '" & left(NcmsP,strlength(NcmsP) - 1) & "'" & chr(10)
                    TempHTM = TempHTM & "var NcmsL = '" & left(NcmsL,strlength(NcmsL) - 1) & "'" & chr(10)
                    TempHTM = TempHTM & "var NcmsT = '" & left(NcmsT,strlength(NcmsT) - 1) & "'" & chr(10)
                    TempHTM = TempHTM & "document.write('<object classid=""clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"" codebase=""http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"" width=""'+NcmsPW+'"" height=""'+NcmsAH+'"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""allowScriptAccess"" value=""sameDomain"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""movie"" value=""" & site_root & "/images/ncms/head.swf"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""quality"" value=""high"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""bgcolor"" value=""#252f3c"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""menu"" value=""false"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""wmode"" value=""opaque"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<param name=""FlashVars"" value=""pics='+NcmsP+'&links='+NcmsL+'&texts='+NcmsT+'&borderwidth='+NcmsPW+'&borderheight='+NcmsPH+'&NcmsTHeight='+NcmsTH+'"">');" & chr(10)
                    TempHTM = TempHTM & "document.write('<embed src=""" & site_root & "/images/ncms/head.swf"" wmode=""opaque"" FlashVars=""pics='+NcmsP+'&links='+NcmsL+'&texts='+NcmsT+'&borderwidth='+NcmsPW+'&borderheight='+NcmsPH+'&NcmsTHeight='+NcmsTH+'"" menu=""false"" bgcolor=""#252f3c"" quality=""high"" width=""'+NcmsPW+'"" height=""'+NcmsAH+'"" allowScriptAccess=""sameDomain"" type=""application/x-shockwave-flash"" pluginspage=""http://www.macromedia.com/go/getflashplayer"" />');" & chr(10)
                    TempHTM = TempHTM & "document.write('</object>');" & chr(10)
                    TempHTM = TempHTM & "//-->" & chr(10)
                    TempHTM = TempHTM & "</script>" & chr(10)
                    headshow = TempHTM
                end if
            case else
                response.write("标签[ncms:head]参数[ty]错误!")
                response.end()
        end select
    end function
end class

class ncmslinktag
    public num,ty
    public function linkshow(stype,scolumn)
        dim TempHTM,rs,databox,i
            TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
            TempHTM = TempHTM & "<tr>" & chr(10)
        select case stype
            case "text"
                set rs = conn.execute("select top " & num & " name,site from NCMS_link where kinds=0 order by orders asc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = "<li><font color=""red"">暂时没有文字连接!</font></li>"
                    linkshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        TempHTM = TempHTM & "<td><a href=""" & databox(1,i) & """ title=""" & databox(0,i) & """ target=""_blank"">" & databox(0,i) & "</a></td>" & chr(10)
                        if i = ubound(databox,2) then
                            TempHTM = TempHTM & "</tr>" & chr(10)
                        else
                            if cint((i+1) mod scolumn) = 0 then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                                TempHTM = TempHTM & "<tr>" & chr(10)
                            end if
                        end if
                    next
                    databox = ""
                    TempHTM = TempHTM & "</table>" & chr(10)
                    linkshow = TempHTM
                end if
            case "image"
                set rs = conn.execute("select top " & num & " name,site,logo from NCMS_link where kinds=1 order by orders asc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = "<li><font color=""red"">暂时没有图片连接!</font></li>"
                    linkshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        TempHTM = TempHTM & "<td><a href=""" & databox(1,i) & """ target=""_blank""><img src=""" & databox(2,i) & """ alt=""" & databox(0,i) & """ /></a></td>" & chr(10)
                        if i = ubound(databox,2) then
                            TempHTM = TempHTM & "</tr>" & chr(10)
                        else
                            if cint((i+1) mod scolumn) = 0 then
                                TempHTM = TempHTM & "</tr>" & chr(10)
                                TempHTM = TempHTM & "<tr>" & chr(10)
                            end if
                        end if
                    next
                    databox = ""
                    TempHTM = TempHTM & "</table>" & chr(10)
                    linkshow = TempHTM
                end if
            case else
                response.write("标签[ncms:link]参数[ty]错误!")
                response.end()
        end select
    end function
end class

class ncmsmenutag
    public show
    public function menushow(stype)
        dim TempHTM,rs,databox,i,tempstr:tempstr = " | "
        select case stype
            case "center"
                TempHTM = "" & chr(10) & "<div id=""navbox"">" & chr(10)
                TempHTM = TempHTM & "<ul id=""nav"">" & chr(10)
                set rs = conn.execute("select id,cname,ename,isout,isurl,link from NCMS_class where parent=0 and kinds=1 order by orders asc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = ""
                    menushow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                end if
                for i = 0 to ubound(databox,2)
                    if databox(4,i) = 0 then
                        TempHTM = TempHTM & "<li><a href=""" & site_root & "/" & site_html & "/" & databox(2,i) & "/index" & site_extname & """ title=""" & databox(1,i) & """>" & databox(1,i) & "</a>" & childmenushow(databox(0,i)) & "</li>" & chr(10)
                    elseif databox(3,i) = 1 then
                        if databox(4,i) = 0 then
                            TempHTM = TempHTM & "<li><a href=""" & site_root & "/" & site_html & "/" & databox(2,i) & "/" & databox(5,i) & """ title=""" & databox(1,i) & """>" & databox(1,i) & "</a>" & childmenushow(databox(0,i)) & "</li>" & chr(10)
                        elseif databox(4,i) = 1 then
                            TempHTM = TempHTM & "<li><a href=""" & databox(5,i) & """ title=""" & databox(1,i) & """>" & databox(1,i) & "</a></li>" & chr(10)
                        end if
                    end if
                next:databox = ""
                TempHTM = TempHTM & "</ul>" & chr(10)
                TempHTM = TempHTM & "</div>" & chr(10)
                menushow = TempHTM
            case "top"
                set rs = conn.execute("select id,cname,ename,isout,isurl,link from NCMS_class where parent=0 and kinds=2 order by orders asc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = ""
                    menushow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        if i = ubound(databox,2) then tempstr = ""
                        if databox(3,i) = 0 then
                            TempHTM = TempHTM & "<a href=""" & site_root & "/" & site_html & "/" & databox(2,i) & "/index" & site_extname & """>" & databox(1,i) & "</a>" & tempstr & ""
                        elseif databox(3,i) = 1 then
                            if databox(4,i) = 0 then
                                TempHTM = TempHTM & "<a href=""" & site_root & "/" & site_html & "/" & databox(2,i) & "/" & databox(5,i) & """>" & databox(1,i) & "</a>" & tempstr & ""
                            elseif databox(4,i) = 1 then
                                TempHTM = TempHTM & "<a href=""" & databox(5,i) & """>" & databox(1,i) & "</a>" & tempstr & ""
                            end if
                        end if
                    next
                    menushow = TempHTM
                end if
            case "bottom"
                set rs = conn.execute("select id,cname,ename,isout,isurl,link from NCMS_class where parent=0 and kinds=3 order by orders asc")
                if rs.eof then
                    rs.close:set rs = nothing
                    TempHTM = ""
                    menushow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    for i = 0 to ubound(databox,2)
                        if i = ubound(databox,2) then tempstr = ""
                        if databox(3,i) = 0 then
                            TempHTM = TempHTM & "<a href=""" & site_root & "/" & site_html & "/" & databox(2,i) & "/"">" & databox(1,i) & "</a>" & tempstr & ""
                        elseif databox(3,i) = 1 then
                            if databox(4,i) = 0 then
                                TempHTM = TempHTM & "<a href=""" & site_root & "/" & site_html & "/" & databox(2,i) & "/" & databox(5,i) & """>" & databox(1,i) & "</a>" & tempstr & ""
                            elseif databox(4,i) = 1 then
                                TempHTM = TempHTM & "<a href=""" & databox(5,i) & """>" & databox(1,i) & "</a>" & tempstr & ""
                            end if
                        end if
                    next
                    menushow = TempHTM
                end if
            case else
                response.write("标签[ncms:menu]参数[show]错误!")
                response.end()
        end select
    end function
    private function childmenushow(id)
        dim TempHTM,rschild,box,j
            TempHTM = "" & chr(10) & "<ul>" & chr(10)
        set rschild = conn.execute("select id,cname,ename,isout,isurl,link from NCMS_class where parent=" & id & " and kinds=1 order by orders asc")
        if rschild.eof then
            rschild.close:set rschild = nothing
            TempHTM = ""
            childmenushow = TempHTM
            exit function
        else
            box = rschild.getrows()
            rschild.close:set rschild = nothing
        end if
        for j = 0 to ubound(box,2)
            if box(3,j) = 0 then
                TempHTM = TempHTM & "<li><a href=""" & site_root & "/" & site_html & "/" & box(2,j) & "/"" title=""" & box(1,j) & """>" & box(1,j) & "</a></li>" & chr(10)
            elseif box(3,j) = 1 then
                if box(4,j) = 0 then
                    TempHTM = TempHTM & "<li><a href=""" & site_root & "/" & site_html & "/" & box(2,j) & "/" & box(5,j) & """ title=""" & box(1,j) & """>" & box(1,j) & "</a></li>" & chr(10)
                elseif box(4,j) = 1 then
                    TempHTM = TempHTM & "<li><a href=""" & box(5,j) & """ title=""" & box(1,j) & """>" & box(1,j) & "</a></li>" & chr(10)
                end if
            end if
        next:box = ""
        TempHTM = TempHTM & "</ul>" & chr(10)
        childmenushow = TempHTM
    end function
end class

class ncmsrelatetag
    public len,num,lih
    public function relateshow(scolumn,classid,newsid,keywords)
        if keywords = "" or isnull(keywords) then
            relateshow = "<li><font color=""red"">暂时没有相关新闻!</font></li>"
            exit function
        end if
        dim arr,i,TempSql
            arr = split(keywords,",",3,1)
        for i = 0 to ubound(arr)
            if TempSql <> "" then
                TempSql = TempSql & "or title like '%" & arr(i) & "%' or keywords like '%" & arr(i) & "%'"
            else
                TempSql = TempSql & "title like '%" & arr(i) & "%' or keywords like '%" & arr(i) & "%'"
            end if
        next
        if TempSql <> "" then
            TempSql = "where (" & TempSql & ") and classid=" & classid & " and id <> " & newsid & " order by id desc"
        end if
        dim TempHTM:TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
            TempHTM = TempHTM & "<tr>" & chr(10)
        dim rs,databox,j
        set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news " & TempSql)
        if rs.eof then
            rs.close:set rs = nothing
            TempHTM = "<li><font color=""red"">暂时没有相关新闻!</font></li>"
            relateshow = TempHTM
        else
            databox = rs.getrows()
            rs.close:set rs = nothing
            for j = 0 to ubound(databox,2)
                TempHTM = TempHTM & "<td height=""" & lih & """ align=""left"" valign=""middle"">·<a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(0,j)) & "/" & databox(2,j) & site_extname & """ title=""" & databox(1,j) & """ target=""_blank"">" & gottopic(databox(1,j),len) & "</a></td>" & chr(10)
                if j = ubound(databox,2) then
                    TempHTM = TempHTM & "</tr>" & chr(10)
                else
                    if cint((j+1) mod scolumn) = 0 then
                        TempHTM = TempHTM & "</tr>" & chr(10)
                        TempHTM = TempHTM & "<tr>" & chr(10)
                    end if
                end if
            next
            TempHTM = TempHTM & "</table>" & chr(10)
            relateshow = TempHTM
        end if
    end function
end class

class ncmspagetag
    public show
    public function pageshow(stype,classid,newsid)
        dim TempHTM,rs,databox
            TempHTM = "" & chr(10) & "<div id=""page"">"
        select case stype
            case "last"
                set rs = conn.execute("select top 1 id,classid,title,filename from NCMS_news where classid=" & classid & " and id > " & newsid & "")
                if rs.eof or rs.bof then
                    rs.close:set rs = nothing
                    TempHTM = TempHTM & "上一篇:<font color=""red"">没有上一篇</font>"
                    TempHTM = TempHTM & "</div>" & chr(10)
                    pageshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    TempHTM = TempHTM & "上一篇:<a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(1,0)) & "/" & databox(3,0) & site_extname & """>" & databox(2,0) & "</a>"
                    TempHTM = TempHTM & "</div>" & chr(10)
                    databox = ""
                    pageshow = TempHTM
                end if
            case "next"
                set rs = conn.execute("select top 1 id,classid,title,filename from NCMS_news where classid=" & classid & " and id < " & newsid & " order by id desc")
                if rs.eof or rs.bof then
                    rs.close:set rs = nothing
                    TempHTM = TempHTM & "下一篇:<font color=""red"">没有下一篇</font>"
                    TempHTM = TempHTM & "</div>" & chr(10)
                    pageshow = TempHTM
                    exit function
                else
                    databox = rs.getrows()
                    rs.close:set rs = nothing
                    TempHTM = TempHTM & "下一篇:<a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(1,0)) & "/" & databox(3,0) & site_extname & """>" & databox(2,0) & "</a>"
                    TempHTM = TempHTM & "</div>" & chr(10)
                    databox = ""
                    pageshow = TempHTM
                end if
            case else
                response.write("标签[news:page]参数[show]错误!")
                response.end()
        end select
    end function
end class

class X_ncmsnewstag
    public id,ty,show,len,num,lih,hit
    public function newsshow(stype,scolumn,strHtml)
        dim TempHTM,xsql,rs,databox,i
            TempHTM = "" & chr(10) & "<table cellpadding=""0"" cellspacing=""0"" width=""100%"" border=""0"">" & chr(10)
            TempHTM = TempHTM & "<tr>" & chr(10)
        select case stype
            case "text"
                if show = "new" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where created=1 and pagetype=0 order by id desc")
                    else
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where classid in(" & id & allchildclass(id) & ") and created=1 and pagetype=0 order by id desc")
                    end if
                elseif show = "elite" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where elite=1 and created=1 and pagetype=0 order by id desc")
                    else
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where classid in(" & id & allchildclass(id) & ") and elite=1 and created=1 and pagetype=0 order by id desc")
                    end if
                elseif show = "hot" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where click>=" & hit & " and created=1 and pagetype=0 order by click desc")
                    else
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where classid in(" & id & allchildclass(id) & ") and click>=" & hit & " and created=1 and pagetype=0 order by click desc")
                    end if
                else
                    response.write("标签[ncms:free]参数[show]错误!")
                    response.end()
                end if
            case "image"
                if show = "new" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where isimg=1 and created=1 and pagetype=0 order by id desc")
                    else
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where classid in(" & id & allchildclass(id) & ") and isimg=1 and created=1 and pagetype=0 order by id desc")
                    end if
                elseif show = "elite" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where isimg=1 and elite=1 and created=1 and pagetype=0 order by id desc")
                    else
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where classid in(" & id & allchildclass(id) & ") and isimg=1 and elite=1 and created=1 and pagetype=0 order by id desc")
                    end if
                elseif show = "hot" then
                    if id = 0 then
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where isimg=1 and click>=" & hit & " and created=1 and pagetype=0 order by click desc")
                    else
                        set rs = conn.execute("select top " & num & " id,classid,title,content,click,isimg,bimg,simg,filename,addtime from NCMS_news where classid in(" & id & allchildclass(id) & ") and isimg=1 and click>=" & hit & " and created=1 and pagetype=0 order by click desc")
                    end if
                else
                    response.write("标签[ncms:free]参数[show]错误!")
                    response.end()
                end if
            case else
                response.write("标签[ncms:free]参数[ty]错误!")
                response.end()
        end select
        if rs.eof then
            rs.close:set rs = nothing
            TempHTM = "<li><font color=""red"">暂时没有新闻!</font></li>"
            newsshow = TempHTM
            exit function
        else
            databox = rs.getrows()
            rs.close:set rs = nothing
            for i = 0 to ubound(databox,2)
                TempHTM = TempHTM & "<td height=""" & lih & """ align=""left"" valign=""middle"">" & strHtml & "</td>" & chr(10)
                if i = ubound(databox,2) then
                    TempHTM = TempHTM & "</tr>" & chr(10)
                else
                    if cint((i+1) mod scolumn) = 0 then
                        TempHTM = TempHTM & "</tr>" & chr(10)
                        TempHTM = TempHTM & "<tr>" & chr(10)
                    end if
                end if
                dim charclass,PatrnStr
                set charclass = new stringclass
                PatrnStr = "\{\$classname\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,"<a href=""" & site_root & "/" & site_html & "/" & getclasspath(databox(1,i)) & "/index" & site_extname & """ target=""_blank"">" & getclassname(databox(1,i)) & "</a>")
                PatrnStr = "\{\$title\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,gottopic(LoseHtml(databox(2,i)),len))
                PatrnStr = "\{\$content\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,gottopic(LoseHtml(databox(3,i)),len))
                PatrnStr = "\{\$click\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,databox(4,i))
                PatrnStr = "\{\$filepath\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,"" & site_root & "/" & site_html & "/" & getclasspath(databox(1,i)) & "/" & databox(8,i) & site_extname & "")
                PatrnStr = "\{\$addtime\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,formattagdate(databox(9,i),datestyle))
                PatrnStr = "\{\$imgpath\$\}"
                if IsObjInstalled("persits.jpeg") = true and jpeg_gate = 0 then
                    TempHTM = charclass.replacestr(PatrnStr,TempHTM,"" & site_root & "/" & site_upload & "/" & site_simg & "/" & databox(7,i) & "")
                else
                    TempHTM = charclass.replacestr(PatrnStr,TempHTM,"" & site_root & "/" & site_upload & "/" & site_bimg & "/" & databox(6,i) & "")
                end if
                PatrnStr = "\{\$comment\$\}"
                TempHTM = charclass.replacestr(PatrnStr,TempHTM,"[<a href=""" & site_root & "/tools/comment.asp?newsid=" & databox(0,i) & "&newstitle=" & getnewstitle(databox(0,i)) & "#comment"" target=""_blank"" title=""评论""><font color=""red"" size=""2"">评论</font></a>]")
            next
            databox = ""
            TempHTM = TempHTM & "</table>" & chr(10)
            newsshow = TempHTM
        end if
    end function
end class

function guide(id)
    dim TempHTM
    if id = "" or len(id) = 0 or not isnumeric(id) then
        TempHTM = "当前位置 : <a href=""" & site_root & "/index" & site_extname & """>首页</a> >>"
    else
        dim rs
        set rs = conn.execute("select top 1 id,parent,cname,ename from NCMS_class where id=" & id)
        if not rs.eof then
            TempHTM = TempHTM & guide(rs("parent"))
            TempHTM = TempHTM & "<a href=""" & site_root & "/" & site_html & "/" & rs("ename") & "/index" & site_extname & """>" & rs("cname") & "</a> >> "
        end if
        rs.close:set rs = nothing
        if id = 0 then
            TempHTM = TempHTM & "当前位置 : <a href=""" & site_root & "/index" & site_extname & """>首页</a> >> "
        end if
    end if
    guide = TempHTM
end function

function createindex()
    dim Temp:Temp = ""
        Temp = processcustomtag(loadtempletfile("../templet/" & site_dtemp & ""))
        Temp = X_processcustomtag(Temp)
    dim charclass
    set charclass = new stringclass
    dim PatrnStr
        PatrnStr = "<title>.*?</title>"
        Temp = charclass.replacestr(PatrnStr,Temp,"<title>" & site_name & "</title>")
        PatrnStr = "\{\$guide\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,guide(""))
        PatrnStr = "\{\$keywords\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_keywords)
        PatrnStr = "\{\$search\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,search())
        PatrnStr = "\{\$description\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_description)
        PatrnStr = "\{\$copyright\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_copyright)
        PatrnStr = "\{\$root\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_root)
    dim sPATH:sPATH = "" & site_root & "/index" & site_extname & ""
    dim objstream
    set objstream = server.createobject("adodb.stream")
    with objstream
        .open
        .charset = "" & chrset & ""
        .position = objstream.size
        .writetext = Temp
        .savetofile server.mappath(sPATH),2
        .close
    end with
    set objstream = nothing
    if err.number <> 0 then
        err.clear
        createindex = false
    else
        createindex = true
    end if
end function

function createnewsclass(id)
    dim arrcont:arrcont = getcurclasscount(id)
    dim i,j
    for i = 0 to arrcont - 1
        dim Temp:Temp = ""
            Temp = processcustomtag(loadtempletfile("../templet/" & getclassall(id,1) & ""))
            Temp = X_processcustomtag(Temp)
        dim charclass
        set charclass = new stringclass
        dim PatrnStr
            PatrnStr = "<title>.*?</title>"
            Temp = charclass.replacestr(PatrnStr,Temp,"<title>" & charclass.getstr(getclassname(id)) & " - " & site_name & "</title>")
            PatrnStr = "\{\$guide\$\}"
            Temp = charclass.replacestr(PatrnStr,Temp,guide(id))
            PatrnStr = "\{\$keywords\$\}"
            Temp = charclass.replacestr(PatrnStr,Temp,site_keywords)
            PatrnStr = "\{\$search\$\}"
            Temp = charclass.replacestr(PatrnStr,Temp,search())
            PatrnStr = "\{\$description\$\}"
            Temp = charclass.replacestr(PatrnStr,Temp,site_description)
            PatrnStr = "\{\$copyright\$\}"
            Temp = charclass.replacestr(PatrnStr,Temp,site_copyright)
            PatrnStr = "\{\$root\$\}"
            Temp = charclass.replacestr(PatrnStr,Temp,site_root)
        dim sPATH,cPATH:cPATH = "" & site_root & "/" & site_html & "/" & getclasspath(id) & "/"
        createdir(server.mappath(cPATH))
        dim PageHTM:PageHTM = ""
        if i = 0 then
            sPATH = "" & cPATH & "index" & site_extname & ""
        else
            sPATH = "" & cPATH & "index" & site_extname & ""
            sPATH = left(sPATH,(len(sPATH)-len(site_extname))) & "_" & i + 1 & site_extname
        end if
        if arrcont >= 2 then
            if i = 0 then
                PageHTM = PageHTM & "【首页】-"
                PageHTM = PageHTM & "【上页】"
            end if
            if i > 1 then
                PageHTM = PageHTM & "【<a href=""index" & site_extname & """>首页</a>】-"
                PageHTM = PageHTM & "【<a href=""index" & "_" & i & site_extname & """>上页</a>】"
            end if
            if i = 1 Then
                PageHTM = PageHTM & "【<a href=""index" & site_extname & """>首页</a>】-"
                PageHTM = PageHTM & "【<a href=""index" & site_extname & """>上页</a>】"
            end if
            PageHTM = PageHTM & "-【第<font color=""red"">" & i + 1 & "</font>页】/【共<font color=""red"">" & arrcont & "</font>页】-"
            if i < arrcont - 1 then
                PageHTM = PageHTM & "【<a href=""index" & "_" & i + 2 & site_extname & """>下页</a>】-"
                PageHTM = PageHTM & "【<a href=""index" & "_" & arrcont & site_extname & """>尾页</a>】- "
            end if
            if i = arrcont - 1 then
                PageHTM = PageHTM & "【下页】-"
                PageHTM = PageHTM & "【尾页】- "
            end if
            PageHTM = PageHTM & "<select name=""page"" onchange=""self.location.href=this.options[this.selectedIndex].value"">"
            PageHTM = PageHTM & "<option selected>页/码</option>"
            PageHTM = PageHTM & "<option value=""index" & site_extname & """>第1页</option>"
            for j = 1 to arrcont - 1
                PageHTM = PageHTM & "<option value=""index" & "_" & j + 1 & site_extname & """>第" & j + 1 & "页</option>"
            next
            PageHTM = PageHTM & "</select>"
        end if
            PatrnStr = "{news:[^<>]+?\/}"
            Temp = charclass.classcustomtag(PatrnStr,Temp,id,i + 1,"<p align=""center"">" & PageHTM & "</p>" & chr(10) & "")
        dim objstream
        set objstream = server.createobject("adodb.stream")
        with objstream
            .open
            .charset = "" & chrset & ""
            .position = objstream.size
            .writetext = Temp
            .savetofile server.mappath(sPATH),2
            .close
        end with
    next
    set objstream = nothing
    if err.number <> 0 then
        err.clear
        createnewsclass = false
    else
        createnewsclass = true
    end if
end function

function createnewsfile(id)
    dim rs,sql
    set rs = server.createobject("adodb.recordset")
    sql = "select id,classid,title,content,author,source,keywords,bimg,simg,filename,pagetype,addtime from NCMS_news where id=" & id
    rs.open sql,conn,1,1
    dim databox:databox = rs.getrows()
    rs.close:set rs = nothing
    dim Temp:Temp = ""
    if databox(10,0) = 0 then
        Temp = processcustomtag(loadtempletfile("../templet/" & getclassall(databox(1,0),2) & ""))
        Temp = X_processcustomtag(Temp)
    else
        Temp = processcustomtag(loadtempletfile("../templet/" & site_stemp & ""))
        Temp = X_processcustomtag(Temp)
    end if
    dim charclass
    set charclass = new stringclass
    dim PatrnStr,AdvCont
        PatrnStr = "<title>.*?</title>"
        Temp = charclass.replacestr(PatrnStr,Temp,"<title>" & charclass.getstr(databox(2,0)) & " - " & site_name & "</title>")
        PatrnStr = "{news:[^<>]+?\/}"
        Temp = charclass.newscustomtag(PatrnStr,Temp,databox(1,0),databox(0,0),databox(6,0))
        PatrnStr = "\{\$id\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(0,0))
        PatrnStr = "\{\$classid\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(1,0))
        PatrnStr = "\{\$title\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(2,0))
        PatrnStr = "\{\$author\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(4,0))
        PatrnStr = "\{\$source\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(5,0))
        PatrnStr = "\{\$keywords\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(6,0))
        PatrnStr = "\{\$click\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,click(databox(0,0)))
        PatrnStr = "\{\$addtime\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,databox(11,0))
        PatrnStr = "\{\$guide\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,guide(databox(1,0)))
        PatrnStr = "\{\$search\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,search())
        PatrnStr = "\{\$fontselect\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,fontselect())
        PatrnStr = "\{\$toolbar\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,toolbar(databox(0,0)))
        PatrnStr = "\{\$copyurl\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,copyurl())
        PatrnStr = "\{\$description\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_description)
        PatrnStr = "\{\$copyright\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_copyright)
        PatrnStr = "\{\$root\$\}"
        Temp = charclass.replacestr(PatrnStr,Temp,site_root)
        PatrnStr = "\{\$advarea\$\}"
        AdvCont = databox(3,0)
        AdvCont = charclass.replacestr(PatrnStr,AdvCont,advshow(site_advcode))
    dim tempArr,n,sPATH,ePATH,cPATH:cPATH = "" & site_root & "/" & site_html & "/" & getclasspath(databox(1,0)) & "/"
    if instr(databox(9,0),"/") = 0 then
        createdir(server.mappath(cPATH))
    else
        tempArr = split(databox(9,0),"/")
        for n = 0 to ubound(tempArr)
            ePATH = replace(databox(9,0),tempArr(n),"")
        next
        createdir(server.mappath(cPATH & ePATH))
    end if
    dim TTemp:TTemp = Temp
    dim arrcont:arrcont = split(AdvCont,"{$split$}",-1,1)
    dim PageHTM:PageHTM = ""
    dim i,j,k:k = ubound(arrcont)
    for i = 0 to k
        if i = 0 then
            sPATH = "" & cPATH & databox(9,0) & site_extname & ""
        else
            sPATH = "" & cPATH & databox(9,0) & site_extname & ""
            sPATH = left(sPATH,(len(sPATH)-len(site_extname))) & "_" & i + 1 & site_extname
        end if
        if sPATH = "" then
            createnewsfile = false
            exit function
        end if
        if k >= 1 then
            PageHTM = "<p align=""center"">【本新闻共<font color=""red"">" & k + 1 & "</font>页】-"
            if i = 0 then
                PageHTM = PageHTM & "【首页】-"
                PageHTM = PageHTM & "【上页】-"
            end if
            if i > 1 then
                PageHTM = PageHTM & "【<a href=""" & cPATH & databox(9,0) & site_extname & """>首页</a>】-"
                PageHTM = PageHTM & "【<a href=""" & cPATH & databox(9,0) & "_" & i & site_extname & """>上页</a>】-"
            end if
            if i = 1 Then
                PageHTM = PageHTM & "【<a href=""" & cPATH & databox(9,0) & site_extname & """>首页</a>】-"
                PageHTM = PageHTM & "【<a href=""" & cPATH & databox(9,0) & site_extname & """>上页</a>】-"
            end if
            if i < k then
                PageHTM = PageHTM & "【<a href=""" & cPATH & databox(9,0) & "_" & i + 2 & site_extname & """>下页</a>】-"
                PageHTM = PageHTM & "【<a href=""" & cPATH & databox(9,0) & "_" & k + 1 & site_extname & """>尾页</a>】-"
            end if
            if i = k then
                PageHTM = PageHTM & "【下页】-"
                PageHTM = PageHTM & "【尾页】-"
            end if
            PageHTM = PageHTM & "【当前在第<font color=""red"">" & i + 1 & "</font>页】</p>"
        else
            PageHTM = ""
        end if
        PatrnStr = "\{\$content\$\}"
        Temp = charclass.replacestr(PatrnStr,TTemp,"" & chr(10) & "<div id=""content"">" & chr(10) & arrcont(i) & PageHTM & chr(10) & "</div>" & chr(10))
        dim objstream
        set objstream = server.createobject("adodb.stream")
        with objstream
            .open
            .charset = "" & chrset & ""
            .position = objstream.size
            .writetext = X_processcustomtag(Temp)
            .savetofile server.mappath(sPATH),2
            .close
        end with
        set objstream = nothing
    next
    if err.number <> 0 then
        err.clear
        createnewsfile = false
    else
        conn.execute("update NCMS_news set created=1 where id=" & databox(0,0))
        createnewsfile = true
        databox = ""
    end if
end function

function createnewsjs(show,id,len,num,lih,col,filename)
    dim TempHTM,xsql,rs,databox,i
        TempHTM = "document.writeln('<table cellpadding=\""0\"" cellspacing=\""0\"" width=\""100%\"" border=\""0\"">');"
        TempHTM = TempHTM & "document.writeln('<tr>');"
    select case show
        case "new"
            if id = 0 then
                set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news where created=1 and pagetype=0 order by id desc")
            else
                set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and created=1 and pagetype=0 order by id desc")
            end if
        case "elite"
            if id = 0 then
                set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news where elite=1 and created=1 and pagetype=0 order by id desc")
            else
                set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and elite=1 and created=1 and pagetype=0 order by id desc")
            end if
        case "hot"
            if id = 0 then
                set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news where click>=100 and created=1 and pagetype=0 order by click desc")
            else
                set rs = conn.execute("select top " & num & " classid,title,filename from NCMS_news where classid in(" & id & allchildclass(id) & ") and click>=100 and created=1 and pagetype=0 order by click desc")
            end if
        case else
            response.write("[新闻类型]参数错误!")
            response.end()
    end select
    if rs.eof then
        rs.close:set rs = nothing
        TempHTM = "document.writeln('<li><font color=\""red\"">暂时没有新闻!<\/font><\/li>');"
    else
        databox = rs.getrows()
        rs.close:set rs = nothing
        for i = 0 to ubound(databox,2)
            TempHTM = TempHTM & "document.writeln('<td height=\""" & lih & "\"" align=\""left\"" valign=\""middle\"">·<a href=\""" & site_root & "/" & site_html & "/" & getclasspath(databox(0,i)) & "/" & databox(2,i) & site_extname & "\"" title=\""" & databox(1,i) & "\"" target=\""_blank\"">" & gottopic(databox(1,i),len) & "<\/a><\/td>');"
            if i = ubound(databox,2) then
                TempHTM = TempHTM & "document.writeln('<\/tr>');"
            else
                if cint((i+1) mod col) = 0 then
                    TempHTM = TempHTM & "document.writeln('<\/tr>');"
                    TempHTM = TempHTM & "document.writeln('<tr>');"
                end if
            end if
        next
        databox = ""
        TempHTM = TempHTM & "document.writeln('<\/table>');"
    end if
    if checkfolder("" & site_root & "/jss/") = false then
        createdir(server.mappath("" & site_root & "/jss/"))
    end if
    if checkfile("" & site_root & "/jss/" & filename & ".js") = true then
        call alertbox("文件已存在!请更换文件名!",2)
    end if
    dim objstream
    set objstream = server.createobject("adodb.stream")
    with objstream
        .open
        .charset = "" & chrset & ""
        .position = objstream.size
        .writetext = TempHTM
        .savetofile server.mappath("" & site_root & "/jss/" & filename & ".js"),2
        .close
    end with
    set objstream = nothing
    if err.number <> 0 then
        err.clear
        createnewsjs = false
    else
        createnewsjs = true
    end if
end function

function getnewstitle(id)
    dim rs,tempstr
    set rs = conn.execute("select title from NCMS_news where id=" & id)
    if not rs.eof then
        tempstr = server.urlencode(rs("title"))
    end if
    rs.close:set rs = nothing
    getnewstitle = tempstr
end function

function getclasspath(id)
    dim rs,tempstr
    set rs = conn.execute("select ename from NCMS_class where id=" & id)
    if not rs.eof then
        tempstr = rs("ename")
    end if
    rs.close:set rs = nothing
    getclasspath = tempstr
end function

function getclassid(id)
    dim rs,tempstr
    set rs = conn.execute("select classid from NCMS_news where id=" & id)
    if not rs.eof then
        tempstr = rs("classid")
    end if
    rs.close:set rs = nothing
    getclassid = tempstr
end function

function getclassname(id)
    dim rs,tempstr
    set rs = conn.execute("select cname from NCMS_class where id= " & id)
    if not rs.eof then
        tempstr = rs("cname")
    end if
    rs.close:set rs = nothing
    getclassname = tempstr
end function

function allchildclass(id)
    dim rs
    set rs = conn.execute("select id from NCMS_class where parent=" & id)
    while not rs.eof
        allchildclass = allchildclass & "," & rs("id")
        allchildclass = allchildclass & allchildclass(rs("id"))
    rs.movenext
    wend
    rs.close:set rs = nothing
end function

function getclassall(id,stype)
    dim rs,tempstr
    select case stype
        case "1"
            set rs = conn.execute("select ctemp from NCMS_class where id=" & id)
            if not rs.eof then
                tempstr = rs("ctemp")
            end if
            rs.close:set rs = nothing
            getclassall = tempstr
        case "2"
            set rs = conn.execute("select ntemp from NCMS_class where id=" & id)
            if not rs.eof then
                tempstr = rs("ntemp")
            end if
            rs.close:set rs = nothing
            getclassall = tempstr
        case "3"
            set rs = conn.execute("select fname from NCMS_class where id=" & id)
            if not rs.eof then
                tempstr = rs("fname")
            end if
            rs.close:set rs = nothing
            getclassall = tempstr
        case else
            response.write("获取栏目属性失败!")
            response.end()
    end select
end function

function advshow(advcode)
    if advcode = "" then
        advshow = ""
        exit function
    else
        dim advarr
            advarr = split(advcode,"
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

186

积分

注册会员

Rank: 2

积分
186
发表于 2008-1-12 16:38:34 | 显示全部楼层
")
        if ubound(advarr) = 0 then
            advshow = "" & chr(10) & "<table style=""padding:0px;width:250px;height:250px"" cellspacing=""0"" cellpadding=""0"" align=""left"" border=""0"">" & chr(10)
            advshow = advshow & "<tr>" & chr(10)
            advshow = advshow & "<td>" & advcode & "</td>" & chr(10)
            advshow = advshow & "</tr>" & chr(10)
            advshow = advshow & "</table>" & chr(10)
        else
            dim n:randomize
                n = int((ubound(advarr) + 1) * rnd)
            advshow = "" & chr(10) & "<table style=""padding:0px;width:250px;height:250px"" cellspacing=""0"" cellpadding=""0"" align=""left"" border=""0"">" & chr(10)
            advshow = advshow & "<tr>" & chr(10)
            advshow = advshow & "<td>" & advarr(n) & "</td>" & chr(10)
            advshow = advshow & "</tr>" & chr(10)
            advshow = advshow & "</table>" & chr(10)
        end if
    end if
end function

function click(id)
    click = "<script language=""javascript"" type=""text/javascript"" src=""" & site_root & "/tools/click.asp?id=" & id & """></script>"
end function

function fontselect()
    fontselect = "" & chr(10) & "<div id=""fontselect"">" & chr(10)
    fontselect = fontselect & "<ul>" & chr(10)
    fontselect = fontselect & "<li id=""explain"">字体大小</li>" & chr(10)
    fontselect = fontselect & "<li><a href=""javascript:doZoom(12)"">小</a></li>" & chr(10)
    fontselect = fontselect & "<li><a href=""javascript:doZoom(14)"">中</a></li>" & chr(10)
    fontselect = fontselect & "<li><a href=""javascript:doZoom(16)"">大</a></li>" & chr(10)
    fontselect = fontselect & "</ul>" & chr(10)
    fontselect = fontselect & "</div>" & chr(10)
end function

function toolbar(id)
    toolbar = "" & chr(10) & "<div id=""toolbar"">" & chr(10)
    toolbar = toolbar & "<ul>" & chr(10)
    toolbar = toolbar & "<li id=""explain"">浏览工具</li>" & chr(10)
    toolbar = toolbar & "<li><a href=""" & site_root & "/tools/comment.asp?newsid=" & id & "&newstitle=" & getnewstitle(id) & "#comment"" target=""_blank"" title=""新闻评论"">新闻评论</a><li>" & chr(10)
    toolbar = toolbar & "<li><a href=""javascript:window.print()"" title=""打印本文"">打印本文</a><li>" & chr(10)
    toolbar = toolbar & "<li><a href=""javascript:window.close()"" title=""关闭本页"">关闭本页</a><li>" & chr(10)
    toolbar = toolbar & "<li><a href=""javascript:scroll(0,0)"" title=""返回页首"">返回页首</a><li>" & chr(10)
    toolbar = toolbar & "</ul>" & chr(10)
    toolbar = toolbar & "</div>" & chr(10)
end function

function copyurl()
    copyurl = "" & chr(10) & "<div id=""copyurl"">" & chr(10)
    copyurl = copyurl & "<script language=""javascript"" type=""text/javascript"">document.write('<input name=""url"" type=""text"" value=""' + window.location.href + '"" readonly=""true"" /><input name=""btn"" type=""button"" value=""复制本页地址与好友分享"" onclick=""copyurl();"" />');</script>" & chr(10)
    copyurl = copyurl & "</div>" & chr(10)
end function

function search()
    search = "" & chr(10) & "<div id=""search"">" & chr(10)
    search = search & "<form name=""form"" action=""" & site_root & "/tools/search.asp"" method=""get"">" & chr(10)
    search = search & "<input name=""kw"" type=""text"" value="""" />" & chr(10)
    search = search & "<select name=""tn"">" & chr(10)
    search = search & "<option value=""1"">标题</option>" & chr(10)
    search = search & "<option value=""2"">作者</option>" & chr(10)
    search = search & "<option value=""3"">内容</option>" & chr(10)
    search = search & "</select>" & chr(10)
    search = search & "<input name=""do"" type=""hidden"" value=""ok"" />" & chr(10)
    search = search & "<input name=""search"" type=""submit"" value=""搜索"" />" & chr(10)
    search = search & "</form>" & chr(10)
    search = search & "</div>" & chr(10)
end function

function rannumkey(digits)
    dim chararray(10)
        chararray(0) = "0"
        chararray(1) = "1"
        chararray(2) = "2"
        chararray(3) = "3"
        chararray(4) = "4"
        chararray(5) = "5"
        chararray(6) = "6"
        chararray(7) = "7"
        chararray(8) = "8"
        chararray(9) = "9"
    randomize
    do while len(output) < digits
        dim num:num = cstr(chararray(int((10-0+1) * rnd + 0)))
        dim output:output = output + num
    loop
    rannumkey = output
end function

function makefntype(datestr,types,classid)
    select case types
        case "1"
            makefntype = year(datestr) & "/" & month(datestr) & "-" & day(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年/月-日/随机数
        case "2"
            makefntype = year(datestr) & "/" & month(datestr) & "/" & day(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年/月/日/随机数
        case "3"
            makefntype = year(datestr) & "-" & month(datestr) & "-" & day(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年-月-日/随机数
        case "4"
            makefntype = year(datestr) & "-" & month(datestr) & "/" & day(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年-月/日/随机数
        case "5"
            makefntype = year(datestr) & "/" & month(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年/月/随机数
        case "6"
            makefntype = year(datestr) & "-" & month(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年-月/随机数
        case "7"
            makefntype = year(datestr) & month(datestr) & day(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年月日/随机数
        case "8"
            makefntype = year(datestr) & "/" & getclassall(classid,3) & rannumkey(8) '年/随机数
        case "9"
            makefntype = year(datestr) & month(datestr) & day(datestr) & rannumkey(3) '年月日随机数
        case "10"
            makefntype = getclassall(classid,3) & rannumkey(16) '16位随机数
        case "11"
            makefntype = getclassall(classid,3) & md5(datestr & rannumkey(3),16) '16位md5加密字符
        case "12"
            makefntype = getclassall(classid,3) & year(datestr) & month(datestr) & day(datestr) & hour(datestr) & minute(datestr) & second(datestr) & rannumkey(3) '年月日时分秒随机数
        case else
            makefntype = getclassall(classid,3) & year(datestr) & month(datestr) & day(datestr) & hour(datestr) & minute(datestr) & second(datestr) & rannumkey(3) '年月日时分秒随机数
    end select
end function

function dateformat(datestr,types)
    dim datestring
    if isdate(datestr) = false then
        datestring = ""
    end if
    select case types
        case "1" 
            datestring = year(datestr) & "-" & month(datestr) & "-" & day(datestr)
        case "2"
            datestring = year(datestr) & "." & month(datestr) & "." & day(datestr)
        case "3"
            datestring = month(datestr) & "-" & day(datestr) & "-" & year(datestr)
        case "4"
            datestring = month(datestr) & "." & day(datestr) & "." & year(datestr)
        case "5"
            datestring = year(datestr) & month(datestr) & day(datestr)
        case "6"
            datestring = hour(datestr) & minute(datestr) & second(datestr)
        case "7"
            datestring = year(datestr) & "年" & month(datestr) & "月" & day(datestr) & "日"
        case else
            datestring = datestr
    end select
    dateformat = datestring
end function

function formattagdate(mdate,temp)
    if not isdate(mdate) or temp = "" then
        formattagdate = temp
        exit function
    end if
    dim myear:myear = year(mdate)
    dim mmonth:mmonth = month(mdate)
    dim mday:mday = day(mdate)
    dim mhour:mhour = hour(mdate)
    dim mmin:mmin = minute(mdate)
    dim msec:msec = second(mdate)
    temp = replace(temp,"{Y}",year(mdate))
    temp = replace(temp,"{y}",right(year(mdate),2))
    temp = replace(temp,"{M}",month(mdate))
    temp = replace(temp,"{m}",right("00" & month(mdate),2))
    temp = replace(temp,"{D}",day(mdate))
    temp = replace(temp,"{d}",right("00" & day(mdate),2))
    formattagdate = temp
end function

function strlength(str)
    on error resume next
    dim winnt_chinese
        winnt_chinese = (len("中国") = 2)
    if winnt_chinese then
        dim l, t, c
        dim i
        l = len(str)
        t = l
        for i = 1 to l
            c = asc(mid(str,i,1))
            if c < 0 then c = c + 65536
            if c > 255 then
                t = t + 1
            end if
        next
        strlength = t
    else
        strlength = len(str)
    end if
    if err.number <> 0 then err.clear
end function

function gottopic(byval str,byval strlen)
    if str = "" or str = null then
        gottopic = ""
        exit function
    end if
    dim l,t,c,i,tstr
    str = replace(replace(replace(replace(str," "," "),""",chr(34)),">",">"),"<","<")
    l = len(str)
    t = 0
    tstr = str
    strlen = clng(strlen)
    for i = 1 to l
        c = abs(asc(mid(str,i,1)))
        if c > 255 then
             t = t + 2
        else
            t = t + 1
        end if
        if t >= strlen then
            tstr = left(str,i)
            exit for
        end if
    next
    if tstr <> str then
        tstr = tstr & "..."
    end if
    gottopic = replace(replace(replace(replace(tstr," "," "),chr(34),"""),">",">"),"<","<")
end function

function insertchr(num)
    dim str1:str1 = "├"
    dim str2:str2 = ""
    dim iii
    for iii = 2 to num
        str2 = str2 & "│ "
    next
    insertchr = str2&str1
end function

class classlist
    private class_id
    private class_table
    private class_parentid
    private class_name

    public property let id(str)
        class_id = str
    end property

    public property let table(str)
        class_table = str
    end property

    public property let parentid(str)
        class_parentid = str
    end property

    public property let name(str)
        class_name = str
    end property

    dim list()
    dim i,n
    private sub class_initialize()
        i = 0:n = 0
    end sub

    public function classarry(thisid,id)
        dim rsclass,classsql
        if id > 0 then
            classsql = "select * from " & class_table & " where " & class_parentid & "=" & thisid
        else
            classsql = "select * from " & class_table & " where " & class_id & "=" & thisid
        end if
        set rsclass = conn.execute(classsql)
        n = n + 1
        do while not rsclass.eof
            list(0,i) = rsclass(class_id)
            list(1,i) = rsclass(class_name)
            list(2,i) = n
            i = i + 1
            thisid = classarry(rsclass(class_id),1)
            rsclass.movenext
        loop
        n = n - 1
        rsclass.close
    end function

    public function arrylist()
        dim rsclass
        set rsclass = conn.execute("select count(" & class_id & ") from " & class_table)
        dim lenght
            lenght = rsclass(0)
        rsclass.close
        redim list(2,lenght)
        dim rspclass
        set rspclass = conn.execute("select " & class_id & " from " & class_table & " where " & class_parentid & "=0")
        do while not rspclass.eof
            call classarry(rspclass(class_id),0)
            rspclass.movenext
        loop
        rspclass.close
        arrylist = list
    end function
end class

class imginfo
    dim aso
    private sub class_initialize
        set aso = createobject("adodb.stream")
        aso.mode = 3
        aso.type = 1
        aso.open
    end sub

    private sub class_terminate
        err.clear
        set aso = nothing
    end sub

    private function bin2str(bin)
        dim i,str,clow
        for i = 1 to lenb(bin)
            clow = midb(bin,i,1)
            if ascb(clow) < 128 then
                str = str & chr(ascb(clow))
            else
                i = i + 1
                if i <= lenb(bin) then
                    str = str & chr(ascw(midb(bin,i,1)&clow))
                end if
            end if
        next
        bin2str = str
    end function

    private function num2str(num,base,lens)
        dim ret
            ret = ""
        while(num>=base)
            ret = (num mod base) & ret
            num = (num - num mod base)/base
        wend
        num2str = right(string(lens,"0") & num & ret,lens)
    end function

    private function str2num(str,base)
        dim ret
            ret = 0
        for i = 1 to len(str)
            ret = ret *base + cint(mid(str,i,1))
        next
        str2num = ret
    end function

    private function binval(bin)
        dim ret
            ret = 0
        dim i
        for i = lenb(bin) to 1 step -1
            ret = ret*256 + ascb(midb(bin,i,1))
        next
        binval = ret
    end function

    private function binval2(bin)
        dim ret
            ret = 0
        Dim i
        for i = 1 to lenb(bin)
            ret = ret*256 + ascb(midb(bin,i,1))
        next
        binval2 = ret
    end function

    private function getimagesize(filespec)
        dim ret(3)
            aso.loadfromfile(filespec)
        dim bflag
            bflag = aso.read(3)
        select case hex(binval(bflag))
            case "4E5089":
                aso.read(15)
                ret(0) = "PNG"
                ret(1) = binval2(aso.read(2))
                aso.read(2)
                ret(2) = binval2(aso.read(2))
            case "464947": 
                aso.read(3)
                ret(0) = "GIF"
                ret(1) = binval(aso.read(2))
                ret(2) = binval(aso.read(2))
            case "535746":
                aso.read(5)
                bindata = aso.read(1)
                sconv = num2str(ascb(bindata),2,8)
                nbits = str2num(left(sconv,5),2)
                sconv = mid(sconv,6)
                while(len(sconv)<nbits*4)
                    bindata = aso.read(1)
                    sconv = sconv & num2str(ascb(bindata),2,8)
                wend
                ret(0) = "SWF"
                ret(1) = int(abs(str2num(mid(sconv,1*nbits+1,nbits),2)-str2num(mid(sconv,0*nbits+1,nbits),2))/20)
                ret(2) = int(abs(str2num(mid(sconv,3*nbits+1,nbits),2)-str2num(mid(sconv,2*nbits+1,nbits),2))/20)
            case "FFD8FF":
                do
                dim p1
                do:p1 = binval(aso.read(1)):loop while p1 = 255 and not aso.eos
                if p1 > 191 and p1 < 196 then exit do else aso.read(binval2(aso.read(2))-2) 
                do:p1 = binval(aso.read(1)):loop while p1 < 255 and not aso.eos
                loop while true
                aso.read(3)
                ret(0) = "JPG"
                ret(2) = binval2(aso.read(2))
                ret(1) = binval2(aso.read(2))
            case else:
                if left(bin2str(bflag),2) = "BM" then
                    aso.read(15)
                    ret(0) = "BMP"
                    ret(1) = binval(aso.read(4))
                    ret(2) = binval(aso.read(4))
                else
                    ret(0) = ""
                end if
            end select
            ret(3)="width=""" & ret(1) &""" height=""" & ret(2) &""""
            getimagesize = ret
    end function

    public function imgW(pic_path)
        dim imgfso
        set imgfso = server.createobject("scripting.filesystemobject")
        if (imgfso.fileexists(pic_path)) then
            dim imgfs,ext
            set imgfs = imgfso.getfile(pic_path)
            ext = imgfso.getextensionname(pic_path)
            select case ext
                case "gif","bmp","jpg","png":
                    dim arr
                        arr = getimagesize(imgfs.path)
                    imgW = arr(1)
            end select
            set imgfs = nothing
        else
            imgW = 0
        end if
        set imgfso = nothing
    end function

    public function imgH(pic_path)
        dim imgfso
        set imgfso = server.createobject("scripting.filesystemobject")
        if (imgfso.fileexists(pic_path)) then
            dim imgfs,ext
            set imgfs = imgfso.getfile(pic_path)
            ext = imgfso.getextensionname(pic_path)
            select case ext
                case "gif","bmp","jpg","png":
                    dim arr
                        arr = getimagesize(imgfs.path)
                    imgH = arr(2)
            end select
            set imgfs = nothing
        else
            imgH = 0
        end if
        set imgfso = nothing
    end function
end class

function gfv(str)
    gfv = request.form(str)
end function

function guv(str)
    guv = request.querystring(str)
end function

function alertbox(str,kindnum)
    select case kindnum
        case "1"
            response.write("<script>alert(""" & str & """);</script>")
            response.end()
        case "2"
            response.write("<script>alert(""" & str & """);window.history.back();</script>")
            response.end()
        case "3"
            response.write("<script>alert(""" & str & """);window.close();</script>")
            response.end()
    end select
end function

sub WRITE_LINE(str)
    response.write ltrim(str)
end sub

sub LOADING_BUFFER_INI
    response.expires = 0
    response.expiresabsolute = now() - 1
    response.addheader "pragma","no-cache"
    response.addheader "cache-control","private"
    response.cachecontrol = "no-cache"
end sub

sub LOADING_ADMIN_HEAD
    WRITE_LINE "<html><head><title></title>"
    WRITE_LINE "<meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"">"
    WRITE_LINE "<meta http-equiv=""Content-Language"" content=""gb2312"">"
    WRITE_LINE "<link href=""../images/ncms/css.css"" rel=""stylesheet"" type=""text/css""></head>"
    WRITE_LINE "<body leftmargin=""1"" topmargin=""10"" scroll=""auto"">"
end sub

sub LOADING_ADMIN_FOOT
    if isobject("conn") then
        conn.close:set conn = nothing
    elseif isobject("commentconn") then
        commentconn.close:set commentconn = nothing
    elseif isobject("collectconn") then
        collectconn.close:set collectconn = nothing
    end if
    WRITE_LINE "<table align=""center"" width=""100%"" cellpadding=""2"" cellspacing=""1"" border=""0"">"
    WRITE_LINE "<tr>"
    WRITE_LINE "<td align=""middle"" valign=""middle"">"
    WRITE_LINE "<table bgcolor=""#c0c0c0"" align=""center"" width=""98%"" cellpadding=""2"" cellspacing=""1"">"
    WRITE_LINE "<tr>"
    WRITE_LINE "<td bgcolor=""#f0f0f0"" height=""50""><div align=""center""><font face=""verdana,arial,helvetica,sans-serif"" size=""1""><b>©2006 - 2008 CopyRight NCMS All Rights Reserved.Version:" & Version & " <a href=""http://www.50z.cn/"" target=""_blank"">BBS</a></b></font></div></td>"
    WRITE_LINE "</tr>"
    WRITE_LINE "</table>"
    WRITE_LINE "</td>"
    WRITE_LINE "</tr>"
    WRITE_LINE "</table>"
    WRITE_LINE "</body></html>"
end sub

'===============================================================================================
'楚河|汉界 来个小广告:如果您发现本程序BUG或不足之处或有好的改进方法,请联系我:QQ574634!万分感谢!
'===============================================================================================

Function IsValidEmail(Str)
    IsValidEmail = False
    Dim RegEx,Match
    Set RegEx = New RegExp
        RegEx.Pattern = "^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$"
        RegEx.IgnoreCase = True
    Set Match = RegEx.Execute(Str)
    If Match.Count Then IsValidEmail = True
End Function

Function ChkNum(Byval Num)
    Dim tNum:tNum = ""
    If Num = "" Or Not IsNumeric(Num) Then
        Response.Write("<script>alert(""参数类型错误!"");history.back();</script>")
        Response.End()
    ElseIf len(Num) > 8 Then
        Response.Write("<script>alert(""参数超出范围!"");history.back();</script>")
        Response.End()
    Else
        tNum = clng(left(Num,8))
    End If
    ChkNum = tNum
End Function

Function ChkStr(ByVal Str)
    Dim TempStr
        TempStr = Replace(Replace(Str,"'",""),Chr(39),"")
    Dim RegEx
    Set RegEx = New RegExp
        RegEx.IGnoreCase = True
        RegEx.Pattern = "<|>|(script)|on(mouseover|mouseon|mouseout|click|dblclick|blur|focus|change)|url|eval|\t"
    If RegEx.Test(LCase(TempStr)) Then
        TempStr = ""
    End If
    Set RegEx = Nothing
    ChkStr = TempStr
End Function

Function FuckJP(ByVal Str)
    If IsNull(Str) Or IsEmpty(Str) Then Exit Function
    Dim F,I
        F = Array("ゴ","ガ","ギ","グ","ゲ","ザ","ジ","ズ","ヅ","デ","ド","ポ","ベ","プ","ビ","パ","ヴ","ボ","ペ","ブ","ピ","バ","ヂ","ダ","ゾ","ゼ")
     FuckJP = Str
     For I = 0 To 25
         FuckJP = Replace(FuckJP,F(I),"")
     Next
End Function

Function ChkInput(Str)
    Dim RegEx
    Set RegEx = New RegExp
        RegEx.IgnoreCase = True
        RegEx.Pattern = "<|>|(script)|on(mouseover|mouseon|mouseout|click|dblclick|blur|focus|change)|url|eval|\t"
    If RegEx.Test(LCase(Str)) Then
        Response.Write("处理 URL 时服务器出错,请与系统管理员联系。")
        Response.End()
    End If
    Set RegEx = Nothing
    ChkInput = Str
End Function

Function ChkPost()
    Dim From_Url:From_Url = CStr(Request.ServerVariables("HTTP_REFERER"))
    Dim Serv_Url:Serv_Url = CStr(Request.ServerVariables("SERVER_NAME"))
    If Mid(From_Url,8,Len(Serv_Url)) <> Serv_Url Then
        Response.Write("处理 URL 时服务器出错,请与系统管理员联系。")
        Response.End()
    End If
End Function

Function GetIP()
    Dim StrIP_List,StrIP,IP_Ary
        StrIP_List = Replace(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),"'","")
    If InStr(StrIP_List,",") <> 0 Then
        IP_Ary = Split(StrIP_List,",")
        StrIP = IP_Ary(0)
    Else
        StrIP = StrIP_List
    End If
    If StrIP = Empty Then StrIP = Replace(Request.ServerVariables("REMOTE_ADDR"),"'","")
    GetIP = StrIP
End Function

Function Highlight(byVal strContent,byRef arrayWords)
    Dim intCounter,strTemp,intPos,intTagLength,intKeyWordLength,bUpDate
    If Len(arrayWords) < 1 Then Highlight = strContent:Exit Function
    For intPos = 1 To Len(strContent)
        bUpDate = False
        If Mid(strContent,intPos,1) = "<" Then
            On Error Resume Next
            intTagLength = (InStr(intPos,strContent,">",1) - intPos)
            If Err.Number <> 0 Then
                Highlight = strContent
                Err.Clear
            End If
            strTemp = strTemp & Mid(strContent,intPos,intTagLength)
            intPos = intPos + intTagLength
        End If
        If arrayWords <> "" Then
            intKeyWordLength = Len(arrayWords)
            If LCase(Mid(strContent,intPos,intKeyWordLength)) = LCase(arrayWords) Then
                strTemp = strTemp & "<strong style=""color:#ff0000;background:#fff000;"">" & Mid(strContent,intPos,intKeyWordLength) & "</strong>"
                intPos = intPos + intKeyWordLength - 1
                bUpDate = True
            End If
        End If
        If bUpDate = False Then
            strTemp = strTemp & Mid(strContent,intPos,1)
        End If
    Next
    Highlight = strTemp
End Function

Function SendToNcms(Str1,Str2,Str3,Str4)
    On Error Resume Next
    WRITE_LINE "<script>setTimeout(""document.form.submit()"",0);</script>"
    WRITE_LINE "<form name=""form"" action=""http://ncms.cn/users/receive.asp"" method=""post"">"
    WRITE_LINE "<input name=""k1"" type=""hidden"" value=""" & Str1 & """>"
    WRITE_LINE "<input name=""k2"" type=""hidden"" value=""" & Str2 & """>"
    WRITE_LINE "<input name=""k3"" type=""hidden"" value=""" & Str3 & """>"
    WRITE_LINE "<input name=""k4"" type=""hidden"" value=""" & Str4 & """>"
    WRITE_LINE "<input name=""kx"" type=""hidden"" value=""203674122566320014"">"
    WRITE_LINE "</form>"
End Function

Function IsObjInstalled(strClassString)
    On Error Resume Next
    IsObjInstalled = False
    Err = 0
    Dim xTestObj
    Set xTestObj = Server.CreateObject(strClassString)
    If 0 = Err Then IsObjInstalled = True
    Set xTestObj = Nothing
    Err = 0
End Function

Function GetVer(ClassStr)
    On Error Resume Next
    GetVer = ""
    Err = 0
    Dim xTestObj
    Set xTestObj = Server.CreateObject(ClassStr)
    If 0 = Err Then GetVer = xTestObj.Version
    Set xTestObj = Nothing
    Err = 0
End Function

Function ReplaceRemoteUrl(sHTML,sSavePath,sExt)
    Dim s_Content:s_Content = sHTML
    If IsObjInstalled("Microsoft.XMLHTTP") = False Then
        ReplaceRemoteUrl = s_Content
        Exit Function
    End If
    If sSavePath = "" Then sSavePath = "" & site_root & "/" & site_upload & "/" & site_bimg & "/"
    If sExt = "" Then sExt = "jpg|gif|png|bmp|swf"
    Dim RegEx,RemoteFile,RemoteFileurl,SaveFileName,OutPutPath,SaveFileType,RanNum,NewFileName
    Set RegEx = New RegExp
    RegEx.IgnoreCase = True
    RegEx.Global = True
    RegEx.Pattern = "(http://(.+?)\.(" & sExt & "))"
    Set RemoteFile = RegEx.Execute(s_Content)
    For Each RemoteFileurl In RemoteFile
        SaveFileType = Mid(RemoteFileurl,InstrRev(RemoteFileurl,".") + 1)
        Randomize
        RanNum = Int(900 * Rnd) + 100
        NewFileName = Year(Now) & Month(Now) & Day(Now) & Hour(Now) & Minute(Now) & Second(Now) & RanNum & "." & SaveFileType
        SaveFileName = sSavePath & NewFileName
        OutPutPath = "" & site_root & "/tools/loadimg.asp?FileName=" & NewFileName & ""
        Call SaveRemoteFile(SaveFileName,RemoteFileurl)
        s_Content = Replace(s_Content,RemoteFileurl,OutPutPath)
    Next
    ReplaceRemoteUrl = NewFileName & "|" & s_Content
End Function

Sub SaveRemoteFile(s_LocalFileName,s_RemoteFileUrl)
    Dim Ads,Retrieval,GetRemoteData
    On Error Resume Next
    Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
    With Retrieval
        .Open "Get",s_RemoteFileUrl,False,"",""
        .Send
            GetRemoteData = .ResponseBody
    End With
    Set Retrieval = Nothing
    Set Ads = Server.CreateObject("ADODB.Stream")
        Ads.Type = 1
        Ads.Open
        Ads.Write GetRemoteData
        Ads.SaveToFile Server.Mappath(s_LocalFileName),2
        Ads.Cancel()
        Ads.Close()
    Set Ads = Nothing
End Sub

Class Cls_vbsPage
    Private oConn
    Private iPagesize
    Private sPageName
    Private sDbType
    Private iRecType
    Private sJsUrl
    Private sField
    Private sTable
    Private sCondition
    Private sOrderBy
    Private sPkey
    Private iRecCount

    Private Sub Class_Initialize
        iPageSize=10
        sPageName="Page"
        sDbType="AC"
        iRecType=0
        sJsUrl=""
        sField=" * "
    End Sub

    Public Property Set Conn(ByRef Value)
        Set oConn=Value
    End Property

    Public Property Let PageSize(ByVal intPageSize)
        iPageSize=CheckNum(intPageSize,0,0,iPageSize,0) 
    End Property

    Public Property Let PageName(ByVal strPageName)
        sPageName=IIf(Len(strPageName)<1,sPageName,strPageName)
    End Property

    Public Property Let DbType(ByVal strDbType)
        sDbType=UCase(IIf(Len(strDbType)<1,sDbType,strDbType))
    End Property

    Public Property Let RecType(ByVal intRecType)
        iRecType=CheckNum(intRecType,0,0,iRecType,0) 
    End Property

    Public Property Let JsUrl(ByVal strJsUrl)
        sJsUrl=strJsUrl
    End Property

    Public Property Let Pkey(ByVal strPkey)
        sPkey=strPkey
    End Property

    Public Property Let Field(ByVal strField)
        sField=IIf(Len(strField)<1,sField,strField)
    End Property

    Public Property Let Table(ByVal strTable)
        sTable=strTable
    End Property

    Public Property Let Condition(ByVal strCondition)
        Dim s
        s=strCondition
        sCondition=IIf(Len(s)>2," WHERE "&s,"")
    End Property

    Public Property Let OrderBy(ByVal strOrderBy)
        Dim s
        s=strOrderBy
        sOrderBy=IIf(Len(s)>4," ORDER BY "&s,"")
    End Property

    Public Property Get RecCount()
        If iRecType>0 Then
            i=iRecType
        Elseif iRecType=0 Then
            i=CheckNum(Request.Cookies("ShowoPage")(sPageName),1,0,0,0)
            Dim s
            s=Trim(Request.Cookies("ShowoPage")("sCond"))
            IF i=0 OR sCondition<>s Then
                i=oConn.Execute("SELECT COUNT("&sPkey&") FROM "&sTable&" "&sCondition,0,1)(0)
                Response.Cookies("ShowoPage")(sPageName)=i
                Response.Cookies("ShowoPage")("sCond")=sCondition
            End If
        Else
            i=oConn.Execute("SELECT COUNT("&sPkey&") FROM "&sTable&" "&sCondition,0,1)(0)
        End If
        iRecCount=i
        RecCount=i
    End Property

    Public Property Get ResultSet()
        Dim s
        s=Null
        i=iRecCount
        If i>0 Then
            Dim iPageCount,iPageCurr
            iPageCount=Abs(Int(-Abs(i/iPageSize)))
            iPageCurr=CheckNum(Request.QueryString(sPageName),1,1,1,iPageCount)
            Select Case sDbType
                Case "MSSQL"
                    Set Rs=server.CreateObject("Adodb.RecordSet")
                    Set Cm=Server.CreateObject("Adodb.Command")
                    Cm.CommandType=4
                    Cm.ActiveConnection=oConn
                    Cm.CommandText="sp_Util_Page"
                    Cm.parameters(1)=i
                    Cm.parameters(2)=iPageCurr
                    Cm.parameters(3)=iPageSize
                    Cm.parameters(4)=sPkey
                    Cm.parameters(5)=sField
                    Cm.parameters(6)=sTable
                    Cm.parameters(7)=Replace(sCondition," WHERE ","")
                    Cm.parameters(8)=Replace(sOrderBy," ORDER BY ","")
                    Rs.CursorLocation=3
                    Rs.LockType=1
                    Rs.Open Cm
                Case "MYSQL"
                    ResultSet_Sql="SELECT "&sField&" FROM "&sTable&" "&sCondition&" "&sOrderBy&" LIMIT "&(iPageCurr-1)*iPageSize&","&iPageSize
                    Set Rs=oConn.Execute(ResultSet_Sql)
                Case Else
                    Dim Rs,ResultSet_Sql
                    Set Rs = Server.CreateObject ("Adodb.RecordSet")
                    ResultSet_Sql="SELECT "&sField&" FROM "&sTable&" "&sCondition&" "&sOrderBy
                    Rs.Open ResultSet_Sql,oConn,1,1,&H0001
                    Rs.AbsolutePosition=(iPageCurr-1)*iPageSize+1
            End Select
            s=Rs.GetRows(iPageSize)
            Rs.close
            Set Rs=Nothing
        End If
        ResultSet=s
    End Property

    Private Sub Class_Terminate()
        If IsObject(oConn) Then oConn.Close:Set oConn=Nothing
    End Sub

    Private Function CheckNum(ByVal strStr,ByVal blnMin,ByVal blnMax,ByVal intMin,ByVal intMax)
        Dim i,s,iMi,iMa
        s=Left(Trim(""&strStr),32):iMi=intMin:iMa=intMax
        If IsNumeric(s) Then
            i=CDbl(s)
            i=IIf(blnMin=1 And i<iMi,iMi,i)
            i=IIf(blnMax=1 And i>iMa,iMa,i)
        Else
            i=iMi
        End If
        CheckNum=i
    End Function

    Private Function IIf(ByVal blnBool,ByVal strStr1,ByVal strStr2)
        Dim s
        If blnBool Then
            s=strStr1
        Else
            s=strStr2
        End If
        IIf=s
    End Function

    Public Sub ShowPage()
    %>
        <script language="javascript" type="text/javascript" src="<%=sJsUrl%>/page.js"></script>
        <script language="javascript" type="text/javascript">
            var s = new Cls_jsPage(<%=iRecCount%>,<%=iPageSize%>,3,"s");
            s.setPageSE("<%=sPageName%>=","");
            s.setPageInput("<%=sPageName%>");
            s.setUrl("");
            s.setPageFrist("首页","<<");
            s.setPagePrev("上页","<");
            s.setPageNext("下页",">");
            s.setPageLast("尾页",">>");
            s.setPageText("[{$PageNum}]","第{$PageNum}页");
            s.setPageTextF(" {$PageTextF} "," {$PageTextF} ");
            s.setPageSelect("{$PageNum}","第{$PageNum}页");
            s.setPageCss("","","");
            s.setHtml("共{$RecCount}记录 页次{$Page}/{$PageCount} 每页{$PageSize}条 {$PageFrist} {$PagePrev} {$PageText} {$PageNext} {$PageLast} {$PageInput} {$PageSelect}");
            s.Write();
        </script>
    <%
    End Sub
End Class

Function GetHttpPage(HttpUrl)
    On Error Resume Next
    If IsNull(HttpUrl) = True Or Len(HttpUrl) < 18 Or HttpUrl = "$False$" Then
        GetHttpPage = "$False$"
        Exit Function
    End If
    Dim Http
    Set Http = Server.CreateObject("Microsoft.XMLHTTP")
        Http.Open "GET",HttpUrl,False
        Http.Send()
    If Http.Readystate <> 4 Then
        Set Http = Nothing
        GetHttpPage = "$False$"
        Exit function
    End If
    GetHTTPPage = BytesToBstr(Http.ResponseBody,"GB2312")
    Set Http = Nothing
    If Err.Number <> 0 Then
        Err.Clear
        Exit Function
    End If
End Function

Function BytesToBstr(Body,Cset)
    Dim ObjStream
    Set ObjStream = Server.CreateObject("ADODB.Stream")
        ObjStream.Type = 1
        ObjStream.Mode = 3
        ObjStream.Open
        ObjStream.Write Body
        ObjStream.Position = 0
        ObjStream.Type = 2
        ObjStream.Charset = Cset
        BytesToBstr = ObjStream.ReadText 
        ObjStream.Close
    Set ObjStream = Nothing
End Function

Function GetAllLinkTags(ContStr)
    Dim RegEx,Match,Matches,TempStr
    Set RegEx = New RegExp
        RegEx.Pattern = "<a .*?>.*?</a>"
        RegEx.IGnoreCase = True
        RegEx.Global = True
    Set Matches = RegEx.Execute(ContStr)
    For Each Match In Matches
        TempStr = TempStr & Match.Value & "
回复 支持 反对

使用道具 举报

0

主题

55

回帖

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2008-1-12 16:39:24 | 显示全部楼层
"
    Next
    Set Matches = Nothing
    Set RegEx = Nothing
    GetAllLinkTags = TempStr
End Function

Function GetOtherContent(Str,StartStr,LastStr)
    On Error Resume Next
    Dim RegEx,SearchStr,Matches,Matche
    Str = Replace(Replace(Str,Chr(13),""),Chr(10),"")
    StartStr = Replace(Replace(StartStr,Chr(13),""),Chr(10),"")
    LastStr = Replace(Replace(LastStr,Chr(13),""),Chr(10),"")
    SearchStr = StartStr & ".*" & LastStr
    Set RegEx = New RegExp
        RegEx.IgnoreCase = True
        RegEx.Global = True
        RegEx.Pattern = SearchStr
    Set Matches = RegEx.Execute(Str)
    For Each Matche In Matches
        If Matche <> "" Then
            GetOtherContent = Matche
            RegEx.Pattern = StartStr
            GetOtherContent = RegEx.Replace(GetOtherContent,"")
            RegEx.Pattern = LastStr & ".*|\n"
            GetOtherContent = RegEx.Replace(GetOtherContent,"")
        Else
            GetOtherContent = ""
        End If
        If Err.Number <> 0 Then
            Err.Clear
            GetOtherContent = ""
        End If
        Exit For
    Next
End Function

Function FormatUrl(NewsLinkStr,ObjUrl)
    Dim URLSearchLoc
    If Left(LCase(NewsLinkStr),7) <> "http://" Then
        Dim CheckURLStr,TempCollectObjUrl,CheckObjUrl
            NewsLinkStr = Replace(Replace(Replace(NewsLinkStr,"'",""),"""","")," ","")
            TempCollectObjUrl = Left(ObjUrl,InStrRev(ObjUrl,"/"))
            CheckObjUrl = NewsLinkStr
            CheckURLStr = Left(NewsLinkStr,3)
        If Left(NewsLinkStr,1) = "/" Then
            URLSearchLoc = InStr(ObjUrl,"//") + 2
            FormatUrl = Left(ObjUrl,InStr(URLSearchLoc,ObjUrl,"/") - 1)
            FormatUrl = FormatUrl & NewsLinkStr
        ElseIf CheckURLStr = "../" Then
            Do While Not CheckURLStr <> "../"
                CheckObjUrl = Mid(CheckObjUrl,4)
                If Right(TempCollectObjUrl,1) = "/" Then TempCollectObjUrl = Left(TempCollectObjUrl,Len(TempCollectObjUrl) - 1)
                TempCollectObjUrl = Left(TempCollectObjUrl,InStrRev(TempCollectObjUrl,"/"))
                CheckURLStr = Left(CheckObjUrl,3)
            Loop
            FormatUrl = TempCollectObjUrl & CheckObjUrl
        Else
            FormatUrl = TempCollectObjUrl & NewsLinkStr
        End If
    Else
        FormatUrl = NewsLinkStr
    End If
End Function

Function ReplaceContentStr(ContentStr)
    Dim TempContentStr
        TempContentStr = ContentStr
    If RuleDataBox(14,0) = 1 Then
        TempContentStr = LoseHtml(TempContentStr)
    Else
        TempContentStr = LoseNoteTag(TempContentStr)
        If RuleDataBox(15,0) = 1 Then TempContentStr = LoseStyleTag(TempContentStr)
        If RuleDataBox(16,0) = 1 Then TempContentStr = LoseDivTag(TempContentStr)
        If RuleDataBox(17,0) = 1 Then TempContentStr = LoseATag(TempContentStr)
        If RuleDataBox(18,0) = 1 Then TempContentStr = LoseFontTag(TempContentStr)
        If RuleDataBox(19,0) = 1 Then TempContentStr = LoseSpanTag(TempContentStr)
        If RuleDataBox(20,0) = 1 Then TempContentStr = LoseObjectTag(TempContentStr)
        If RuleDataBox(21,0) = 1 Then TempContentStr = LoseIFrameTag(TempContentStr)
        If RuleDataBox(22,0) = 1 Then TempContentStr = LoseScriptTag(TempContentStr)
        If RuleDataBox(23,0) = 1 Then TempContentStr = LoseClassTag(TempContentStr)
        TempContentStr = LoseTableTag(TempContentStr)
        TempContentStr = LoseTDTag(TempContentStr)
        TempContentStr = LoseTRTag(TempContentStr)
    End If
    ReplaceContentStr = TempContentStr
End Function

Function CNReplaceContentStr(ContentStr)
    Dim TempContentStr
        TempContentStr = ContentStr
    If CNRuleDataBox(14,0) = 1 Then
        TempContentStr = LoseHtml(TempContentStr)
    Else
        TempContentStr = LoseNoteTag(TempContentStr)
        If CNRuleDataBox(15,0) = 1 Then TempContentStr = LoseStyleTag(TempContentStr)
        If CNRuleDataBox(16,0) = 1 Then TempContentStr = LoseDivTag(TempContentStr)
        If CNRuleDataBox(17,0) = 1 Then TempContentStr = LoseATag(TempContentStr)
        If CNRuleDataBox(18,0) = 1 Then TempContentStr = LoseFontTag(TempContentStr)
        If CNRuleDataBox(19,0) = 1 Then TempContentStr = LoseSpanTag(TempContentStr)
        If CNRuleDataBox(20,0) = 1 Then TempContentStr = LoseObjectTag(TempContentStr)
        If CNRuleDataBox(21,0) = 1 Then TempContentStr = LoseIFrameTag(TempContentStr)
        If CNRuleDataBox(22,0) = 1 Then TempContentStr = LoseScriptTag(TempContentStr)
        If CNRuleDataBox(23,0) = 1 Then TempContentStr = LoseClassTag(TempContentStr)
        TempContentStr = LoseTableTag(TempContentStr)
        TempContentStr = LoseTDTag(TempContentStr)
        TempContentStr = LoseTRTag(TempContentStr)
    End If
    CNReplaceContentStr = TempContentStr
End Function

Function LoseHtml(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<\/*[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    Set RegEx = Nothing
    LoseHtml = ClsTempLoseStr
End function

Function LoseClassTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "(class=){1,}(""|\'){0,1}\S+(""|\'|>|\s){0,1}"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseClassTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseScriptTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "(<script){1,}[^<>]*>[^\0]*(<\/script>){1,}"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseScriptTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseIFrameTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "(<iframe){1,}[^<>]*>[^\0]*(<\/iframe>){1,}"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseIFrameTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseObjectTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "(<object){1,}[^<>]*>[^\0]*(<\/object>){1,}"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseObjectTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseSpanTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}span[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseSpanTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseFontTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}font[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseFontTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseATag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}a[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseATag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseDivTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}div[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseDivTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseStyleTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "(<style){1,}[^<>]*>[^\0]*(<\/style>){1,}"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseStyleTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseNoteTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<!--\/*[^<>]*-->"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseNoteTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseTableTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}table[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseTableTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseTDTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}td[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseTDTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function

Function LoseTRTag(ContentStr)
    Dim ClsTempLoseStr,RegEx
        ClsTempLoseStr = Cstr(ContentStr)
    Set RegEx = New RegExp
        RegEx.Pattern = "<(\/){0,1}tr[^<>]*>"
        RegEx.IgnoreCase = True
        RegEx.Global = True
    ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
    LoseTRTag = ClsTempLoseStr
    Set RegEx = Nothing
End Function
%>
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-10-23 08:10:03 | 显示全部楼层
刷刷刷刷刷刷刷刷刷刷刷刷刷刷刷
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

473

积分

中级会员

Rank: 3Rank: 3

积分
473
发表于 2023-6-24 22:40:13 | 显示全部楼层
收下来看看怎么样
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-10-17 20:10:06 | 显示全部楼层
很不错的玩意
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

473

积分

中级会员

Rank: 3Rank: 3

积分
473
发表于 2023-11-4 05:11:18 | 显示全部楼层
来看看!!!
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

155

积分

注册会员

Rank: 2

积分
155
发表于 2023-12-11 03:09:52 | 显示全部楼层
还有人在不。。。。。。。。。。啊
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-21 23:58 , Processed in 0.346748 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表