admin_makelist.asp
来自「关于网络渗透技术的详细讲解」· ASP 代码 · 共 490 行 · 第 1/2 页
ASP
490 行
<!-- #include file="../Conn.asp" -->
<!-- #include file="Inc.asp" -->
<!-- #include file="Cls_MakeHTML.asp" -->
<%
'====================================================================
'= Copyright (c) 2004,NB联盟 E.P.K开发小组 =
'= All rights reserved. =
'=------------------------------------------------------------------=
'= 文件名称:Admin_MakeList.asp =
'= 摘 要:后台—栏目列表生成文件 =
'=------------------------------------------------------------------=
'= 最后更新:eason007 =
'= 最后日期:2004-12-22 =
'====================================================================
Admin_Nav
Server.ScriptTimeout=9999999
If Instr(1,Session("Master_Power"),"42,")<=0 Then
ErrMsg="对不起,你没有访问该页面的权限"
Call Error(1)
End If
Dim Atcion,NBArticle_HTML,PostId
Atcion=Request.QueryString ("atcion")
PostId=Request.Form ("PostId")
Select Case Lcase(Atcion)
Case "mark"
Response.Flush
Response.Flush
Response.Write "正在生成栏目列表,请稍候。。<br><br>"
Response.Flush
Response.Flush
Call MarkList
Case Else
Call Main
End Select
Sub Main
Dim Level
%>
<SCRIPT LANGUAGE=javascript>
function SelectAll() {
for (var i=0;i<document.selform.selType.length;i++) {
var e=document.selform.selType[i];
e.checked=!e.checked;
}
}
</script>
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="1" class=TableBorder>
<form action="?atcion=mark" method="post" name="selform">
<tr>
<th colspan="2">批量生成分列表静态网页</th>
</tr>
<tr>
<td colspan="2" class=forumrow><font color="#FF0000">说明:</font>本系统提供八种列表排序方式,根据文章数量及服务器性能不同,生成的时间也不同,一般2000篇文章12个分类,每页15个软件每种排序列表文件生成时间需要1分钟左右,建议每天批量更新文章两次,每次按时间降序排列生成一次,其他排序方式可以每两天批量生成一次。</td>
</tr>
<tr>
<td width="10%">选择栏目</td>
<td width="90%"><select name="postid">
<option value="">所有栏目</option>
<%Sql="select id,title,code from [NB_Column] order by code"
set rs=conn.execute(sql)
Do While Not rs.eof
Level=(Len(rs(2))/4-1)*2
Response.Write "<option value="""&rs(0)&""">"
If Len(rs(2))>4 Then Response.Write "├"
Response.Write String(Level,"-")
Response.Write rs(1)&"</option>"
rs.movenext
Loop
rs.close%>
</select></td>
</tr>
<tr>
<td colspan="2">排序方式 (说明:降序是从大到小,升序是从小到大)</td>
</tr>
<tr>
<td> <input name="selType" type="checkbox" id="selType" value="1" checked></td>
<td>第一种:按 <font color=800000>发布时间 降序</font> 排列</td>
</tr>
<tr>
<td> <input name="selType" type="checkbox" id="selType" value="2"></td>
<td>第二种:按 <font color=800000>发布时间 升序</font> 排列</td>
</tr>
<tr>
<td> <input name="selType" type="checkbox" id="selType" value="3"></td>
<td>第三种:按 <font color=800000>文章标题 降序</font> 排列</td>
</tr>
<tr>
<td> <input name="selType" type="checkbox" id="selType" value="4"></td>
<td>第四种:按 <font color=800000>文章标题 升序</font> 排列</td>
</tr>
<tr>
<td> <input name="selType" type="checkbox" id="selType" value="5"></td>
<td>第五种:按 <font color=800000>浏览人数 降序</font> 排列</td>
</tr>
<tr>
<td> <input name="selType" type="checkbox" id="selType" value="6"></td>
<td>第六种:按 <font color=800000>浏览人数 升序</font> 排列</td>
</tr>
<tr>
<td> <input name="selType" type="checkbox" id="selType" value="7"></td>
<td>第七种:按 <font color=800000>评论人数 降序</font> 排列</td>
</tr>
<tr>
<td> <input name="selType" type="checkbox" id="selType" value="8"></td>
<td>第八种:按 <font color=800000>评论人数 升序</font> 排列</td>
</tr>
<tr>
<td colspan="2">(<input type="checkbox" name="checkbox" value="checkbox" onClick="javascript:SelectAll()">选择/反选) <input type="submit" name="Submit" value="执行操作"></td>
</tr>
<tr>
<td colspan="2" class=forumRowHighlight>提示:每页显示的数量越多,服务器执行速度越快;系统第一次使用必须全部生成一次。</td>
</tr>
</form>
</table>
<%
End Sub
Sub MarkList
Dim SelType,ColumnList
Dim k,l,TmpStr
If Not ChkPost Then
ErrMsg="对不起,请不要从外部提交数据!"
Call Error(1)
End If
SelType=Request("seltype")
SQL="select id from [NB_Column]"
If PostId<>"" Then SQL=SQL&" Where [Id]="&PostId
Set Rs=Conn.Execute(SQL)
If Not rs.eof And Not rs.bof Then
ColumnList=Rs.GetRows()
For k=0 To Ubound(ColumnList,2)
TmpStr=Split(SelType,", ")
For l=0 To Ubound(TmpStr)
Select Case TmpStr(l)
Case "1"
MakeColumn ColumnList(0,k),"AddDate","Desc"
Case "2"
MakeColumn ColumnList(0,k),"AddDate","Asc"
Case "3"
MakeColumn ColumnList(0,k),"Title","Desc"
Case "4"
MakeColumn ColumnList(0,k),"Title","Asc"
Case "5"
MakeColumn ColumnList(0,k),"ViewNum","Desc"
Case "6"
MakeColumn ColumnList(0,k),"ViewNum","Asc"
Case "7"
MakeColumn ColumnList(0,k),"CommentNum","Desc"
Case "8"
MakeColumn ColumnList(0,k),"CommentNum","Asc"
End Select
Next
Next
End If
response.write "<font color=red>栏目列表生成完成。</font>"
End Sub
Function MakeColumn(ColumnId,Field,Order)
Dim ColumnFriend,TopicNav,PageNumNav
Dim PageTop,PageContent,PageFoot
Dim RCount,PCount,PageSize
Dim Tmp,i,j,TempStr
Dim TopicJSList,ColumnInfo
Dim FileName,S
Set NBArticle_HTML=New Cls_MakeHTML
PageSize=NBArticle_HTML.SysInfo(10)
'读取栏目信息
ColumnInfo=GetColumnInfo(ColumnId)
'读取栏目友情连接
ColumnFriend=GetColumnFriend(ColumnId)
NBArticle_HTML.PageTitle=ColumnInfo(1,0)&" - "&NBArticle_HTML.SiteName
NBArticle_HTML.PageNav="<strong><a href=""../"">"&NBArticle_HTML.SiteName&"</a></strong> - <a href=""Article_"&ColumnId&"_AddDate_Desc_1.Htm""><font color=3366cc>"&ColumnInfo(1,0)&"</font></a> - 列表"
PageTop=NBArticle_HTML.Top
PageTop=Replace(PageTop,"images/","../Images/")
PageTop=Replace(PageTop,"pic/","../pic/")
PageTop=Replace(PageTop,"js/","../js/")
PageFoot=NBArticle_HTML.Foot
PageFoot=Replace(PageFoot,"images/","../Images/")
PageFoot=Replace(PageFoot,"pic/","../pic/")
PageFoot=Replace(PageFoot,"js/","../js/")
If ColumnInfo(3,0) Then
PageContent=NBArticle_HTML.JumpOutUrl(ColumnInfo(4,0))
FileName=Server.MapPath("../ArticleList/Article_"&ColumnId&"_"&Field&"_"&Order&"_1.Htm")
Set S = Server.CreateObject("ADODB.STREAM")
With S
.Open
.Charset = "GB2312"
.WriteText PageContent
.SaveToFile FileName,2
.Close
End With
Set S = Nothing
Exit Function
End If
TopicNav="<table border=""0"" cellpadding=""0"" cellspacing=""0"" align=""center"" width=""100%"">"&Chr(10)
TopicNav=TopicNav&"<tr align=""center"">"&Chr(10)
TopicNav=TopicNav&"<td width=""65%"" height=""28"" background=""images/TitleTop.gif"">"
If Field="Title" And Order="Desc" Then
TopicNav=TopicNav&"<a href=""Article_"&ColumnId&"_Title_Asc_1.Htm"" title=""按文章标题升序排列"">↓"
Else
TopicNav=TopicNav&"<a href=""Article_"&ColumnId&"_Title_Desc_1.Htm"" title=""按文章标题降序排列"">"
If Field="Title" Then TopicNav=TopicNav&"↑"
End If
TopicNav=TopicNav&"<strong><font color=""#FFFFFF"">标题</font></strong></a></td>"&Chr(10)
TopicNav=TopicNav&"<td width=""20%"" background=""images/TitleTop.gif"">"
If Field="AddDate" And Order="Desc" Then
TopicNav=TopicNav&"<a href=""Article_"&ColumnId&"_AddDate_Asc_1.Htm"" title=""按文章发布日期升序排列"">↓"
Else
TopicNav=TopicNav&"<a href=""Article_"&ColumnId&"_AddDate_Desc_1.Htm"" title=""按文章发布日期降序排列"">"
If Field="AddDate" Then TopicNav=TopicNav&"↑"
End If
TopicNav=TopicNav&"<strong><font color=""#FFFFFF"">发布日期</font></strong></a></td>"&Chr(10)
TopicNav=TopicNav&"<td width=""15%"" background=""images/TitleTop.gif"">"
If Field="ViewNum" And Order="Desc" Then
TopicNav=TopicNav&"<a href=""Article_"&ColumnId&"_ViewNum_Asc_1.Htm"" title=""按浏览人数升序排列"">↓"
Else
TopicNav=TopicNav&"<a href=""Article_"&ColumnId&"_ViewNum_Desc_1.Htm"" title=""按浏览人数降序排列"">"
If Field="ViewNum" Then TopicNav=TopicNav&"↑"
End If
TopicNav=TopicNav&"<strong><font color=""#FFFFFF"">浏览</font></strong></a><strong><font color=""#FFFFFF"">/</font></strong>"
If Field="CommentNum" And Order="Desc" Then
TopicNav=TopicNav&"<a href=""Article_"&ColumnId&"_CommentNum_Asc_1.Htm"" title=""按回复人数升序排列"">↓"
Else
TopicNav=TopicNav&"<a href=""Article_"&ColumnId&"_CommentNum_Desc_1.Htm"" title=""按回复人数降序排列"">"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?