<!--#include file="conno.asp"-->
<!--#include file="function.asp"-->
<%
ArticleID=trim(request("ArticleID"))
if ArticleID<>"" then
if not isNumeric(ArticleID) then
	Response.Write("<script language=javascript>alert('错误:错误的参数!\n\n襄樊生活网提醒您请从正常路径进行浏览');window.location.replace('../');</script>")
    Response.End()
end if
end if
if ArticleId="" then
	ArticleID=0
else
	ArticleID=Clng(ArticleID)
end if

if ArticleID>0 then
	sql="select id,lm,lm2,Title,hit,author,time,Content,xgnews from tb_news where lm='8' and ID=" & ArticleID & ""
	Set rs= Server.CreateObject("ADODB.Recordset")
	rs.open sql,conn,1,3
	if rs.bof and rs.eof then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>你要找的文章不存在，或者已经被管理员删除！</li>"
	else	
			ClassID=rs("lm")
			SpecialID=rs("lm2")
			newsSort=SpecialID
			SpecialIDs=SpecialID
            topTitle=rs("Title")
			ArticleTitle=rs("Title")
			rs("hit")=rs("hit")+1
			rs.update
	end if
end if
if FoundErr=True then
	Call WriteErrMsg()
	response.end
end if


if request("page")<>"" then
    currentPage=cint(request("page"))
else
	currentPage=1
end if

'==================================================
'过程名:ShowNewsType
'作  用:显示新闻的栏目名称
'==================================================
sub ShowNewsType
	dim rsPrev,sqlPrev
	sqlPrev="select top 1 ID,n_name from tb_news_menu where id="&SpecialID&" order by id desc"
	Set rsPrev= Server.CreateObject("ADODB.Recordset")
	rsPrev.open sqlPrev,conn,1,1
	if TitleLen<0 or TitleLen>255 then TitleLen=50
	if rsPrev.Eof then
	  	response.write "未知栏目"
	else
	   n_name=rsPrev("n_name")
		response.write " <a href='List.asp?newsSort=" & rsPrev("ID")& "'>" & n_name & "</a>"
	end if
	rsPrev.close
	set rsPrev=nothing
end sub
'=================================================
'过程名：ShowPrevArticle
'作  用：显示上一篇文章
'参  数：TitleLen   ----标题最多字符数，一个汉字=两个英文字符
'=================================================
sub ShowPrevArticle(TitleLen)
	dim rsPrev,sqlPrev
	sqlPrev="select top 1 ID,Title,author,time,hit from tb_news where lm2='"&SpecialIDs&"' and ID > " & ArticleID & " order by id"
	Set rsPrev= Server.CreateObject("ADODB.Recordset")
	rsPrev.open sqlPrev,conn,1,1
	if TitleLen<0 or TitleLen>255 then TitleLen=50
	if rsPrev.Eof then
	  	response.write "没有了"
	else
		response.write "<a href='Show.asp?ArticleID=" & rsPrev("ID")& "' title='文章标题：" & rsPrev("Title") & vbcrlf & "作    者：" & rsPrev("author") & vbcrlf & "更新时间：" & rsPrev("time") & vbcrlf & "点击次数：" & rsPrev("hit") &"'>" & gotTopic(rsPrev("Title"),TitleLen) & "</a>"
	end if
	rsPrev.close
	set rsPrev=nothing
end sub

'=================================================
'过程名：ShowNextArticle
'作  用：显示上一篇文章
'参  数：TitleLen   ----标题最多字符数，一个汉字=两个英文字符
'=================================================
sub ShowNextArticle(TitleLen)
	dim rsNext,sqlNext
	sqlNext="select top 1 ID,Title,author,time,hit from tb_news where lm2='"&SpecialID&"' and id <"&ArticleID&" order by id desc"
	Set rsNext= Server.CreateObject("ADODB.Recordset")
	rsNext.open sqlNext,conn,1,1
	if TitleLen<0 or TitleLen>255 then TitleLen=50
	if rsNext.Eof then
	 	response.write "没有了"
	else
		response.write "<a href='Show.asp?ArticleID=" & rsNext("ID")& "' title='文章标题：" & rsNext("Title") & vbcrlf & "作    者：" & rsNext("author") & vbcrlf & "更新时间：" & rsNext("time") & vbcrlf & "点击次数：" & rsNext("hit") &"'>" & gotTopic(rsNext("Title"),TitleLen) & "</a>"
	end if
	rsNext.close
	set rsNext=nothing
end sub

'=================================================
'过程名：ShowArticleContent
'作  用：显示文章具体的内容，可以分页显示
'参  数：无
'=================================================
sub ShowArticleContent()
    if FoundErr=True then
		ErrMsg="<p align=left><b>内容预览：</b><br><br>" & left(nohtml(rs("Content")),300) & "……</p>" & ErrMsg
		response.write ErrMsg
		exit sub
	end if	
	dim PaginationType
	PaginationType=2
	select case PaginationType
		case 0    '不分页显示
			response.write rs("Content")
		case 1    '自动分页显示
			call AutoPagination()
		case 2    '手动分页显示
			call ManualPagination()
	end select
end sub
'=================================================
'过程名：listpage
'作  用：采用手动分页方式显示文章具体的内容
'参  数：无
'=================================================
sub listpage()
	dim ArticleID,strContent,CurrentPage
	dim ContentLen,MaxPerPage,pages,i
	dim arrContent
	ArticleID=rs("id")
	strContent=rs("Content")
	stitle=left(rs("title"),11)
	ContentLen=len(strContent)
	CurrentPage=trim(request("ArticlePage"))
	if Instr(strContent,"[NextPage]")<=0 then
		response.write "</p>"
	else
		arrContent=split(strContent,"[NextPage]")

		pages=Ubound(arrContent)+1
		if CurrentPage="" then
			CurrentPage=1
		else
			CurrentPage=Cint(CurrentPage)
		end if
		if CurrentPage<1 then CurrentPage=1
		if CurrentPage>pages then CurrentPage=pages
       
		response.write "</p><b>"
		if CurrentPage>1 then
			response.write "<a href='" & strFileName & "?ArticleID=" & ArticleID & "&ArticlePage=" & CurrentPage-1 & "'>上一页</a>&nbsp;&nbsp;"
		end if
		for i=1 to pages
			if i=CurrentPage then
				response.write "<font color='red'>[" & cstr(i) & "]</font>&nbsp;"
			else
				response.write "<a href='" & strFileName & "?ArticleID=" & ArticleID & "&ArticlePage=" & i & "'>[" & i & "]</a>&nbsp;"
			end if
		next
		if CurrentPage<pages then
			response.write "&nbsp;<a href='" & strFileName & "?ArticleID=" & ArticleID & "&ArticlePage=" & CurrentPage+1 & "'>下一页</a>"
		end if
		response.write "</b>"
	end if

end sub

'=================================================
'过程名：ManualPagination
'作  用：采用手动分页方式显示文章具体的内容
'参  数：无
'=================================================
sub ManualPagination()
	dim ArticleID,strContent,CurrentPage
	dim ContentLen,MaxPerPage,pages,i
	dim arrContent
	ArticleID=rs("id")
	strContent=rs("Content")
	ContentLen=len(strContent)
	CurrentPage=trim(request("ArticlePage"))
	if Instr(strContent,"[NextPage]")<=0 then
		response.write strContent
		response.write "</p>"
	else
		arrContent=split(strContent,"[NextPage]")

		pages=Ubound(arrContent)+1
		if CurrentPage="" then
			CurrentPage=1
		else
			CurrentPage=Cint(CurrentPage)
		end if
		if CurrentPage<1 then CurrentPage=1
		if CurrentPage>pages then CurrentPage=pages

		response.write arrContent(CurrentPage-1)

		response.write "</p><p align='center'><b>"
		if CurrentPage>1 then
			response.write "<a href='" & strFileName & "?ArticleID=" & ArticleID & "&ArticlePage=" & CurrentPage-1 & "'>上一页</a>&nbsp;&nbsp;"
		end if
		for i=1 to pages
			if i=CurrentPage then
				response.write "<font color='red'>[" & cstr(i) & "]</font>&nbsp;"
			else
				response.write "<a href='" & strFileName & "?ArticleID=" & ArticleID & "&ArticlePage=" & i & "'>[" & i & "]</a>&nbsp;"
			end if
		next
		if CurrentPage<pages then
			response.write "&nbsp;<a href='" & strFileName & "?ArticleID=" & ArticleID & "&ArticlePage=" & CurrentPage+1 & "'>下一页</a>"
		end if
		response.write "</b></p>"
		
	end if

end sub
'=================================================
'过程名：AutoPagination
'作  用：采用自动分页方式显示文章具体的内容
'参  数：无
'=================================================
sub AutoPagination()
	dim ArticleID,strContent,CurrentPage
	dim ContentLen,MaxPerPage,pages,i,lngBound
	dim BeginPoint,EndPoint
	ArticleID=rs("ArticleID")
	strContent=rs("Content")
	ContentLen=len(strContent)
	CurrentPage=trim(request("ArticlePage"))
	if ContentLen<=rs("MaxCharPerPage") then
		response.write strContent
		response.write "</p><p align='center'><font color='red'><b>[1]</b></font></p>"
	else
		if CurrentPage="" then
			CurrentPage=1
		else
			CurrentPage=Cint(CurrentPage)
		end if
		pages=ContentLen\rs("MaxCharPerPage")
		if rs("MaxCharPerPage")*pages<ContentLen then
			pages=pages+1
		end if
		lngBound=ContentLen          '最大误差范围
		if CurrentPage<1 then CurrentPage=1
		if CurrentPage>pages then CurrentPage=pages

		dim lngTemp
		dim lngTemp1,lngTemp1_1,lngTemp1_2,lngTemp1_1_1,lngTemp1_1_2,lngTemp1_1_3,lngTemp1_2_1,lngTemp1_2_2,lngTemp1_2_3
		dim lngTemp2,lngTemp2_1,lngTemp2_2,lngTemp2_1_1,lngTemp2_1_2,lngTemp2_2_1,lngTemp2_2_2
		dim lngTemp3,lngTemp3_1,lngTemp3_2,lngTemp3_1_1,lngTemp3_1_2,lngTemp3_2_1,lngTemp3_2_2
		dim lngTemp4,lngTemp4_1,lngTemp4_2,lngTemp4_1_1,lngTemp4_1_2,lngTemp4_2_1,lngTemp4_2_2
		dim lngTemp5,lngTemp5_1,lngTemp5_2
		dim lngTemp6,lngTemp6_1,lngTemp6_2
		
		if CurrentPage=1 then
			BeginPoint=1
		else
			BeginPoint=rs("MaxCharPerPage")*(CurrentPage-1)+1
			
			lngTemp1_1_1=instr(BeginPoint,strContent,"</table>",1)
			lngTemp1_1_2=instr(BeginPoint,strContent,"</TABLE>",1)
			lngTemp1_1_3=instr(BeginPoint,strContent,"</Table>",1)
			if lngTemp1_1_1>0 then
				lngTemp1_1=lngTemp1_1_1
			elseif lngTemp1_1_2>0 then
				lngTemp1_1=lngTemp1_1_2
			elseif lngTemp1_1_3>0 then
				lngTemp1_1=lngTemp1_1_3
			else
				lngTemp1_1=0
			end if
							
			lngTemp1_2_1=instr(BeginPoint,strContent,"<table",1)
			lngTemp1_2_2=instr(BeginPoint,strContent,"<TABLE",1)
			lngTemp1_2_3=instr(BeginPoint,strContent,"<Table",1)
			if lngTemp1_2_1>0 then
				lngTemp1_2=lngTemp1_2_1
			elseif lngTemp1_2_2>0 then
				lngTemp1_2=lngTemp1_2_2
			elseif lngTemp1_2_3>0 then
				lngTemp1_2=lngTemp1_2_3
			else
				lngTemp1_2=0
			end if
			
			if lngTemp1_1=0 and lngTemp1_2=0 then
				lngTemp1=BeginPoint
			else
				if lngTemp1_1>lngTemp1_2 then
					lngtemp1=lngTemp1_2
				else
					lngTemp1=lngTemp1_1+8
				end if
			end if

			lngTemp2_1_1=instr(BeginPoint,strContent,"</p>",1)
			lngTemp2_1_2=instr(BeginPoint,strContent,"</P>",1)
			if lngTemp2_1_1>0 then
				lngTemp2_1=lngTemp2_1_1
			elseif lngTemp2_1_2>0 then
				lngTemp2_1=lngTemp2_1_2
			else
				lngTemp2_1=0
			end if
						
			lngTemp2_2_1=instr(BeginPoint,strContent,"<p",1)
			lngTemp2_2_2=instr(BeginPoint,strContent,"<P",1)
			if lngTemp2_2_1>0 then
				lngTemp2_2=lngTemp2_2_1
			elseif lngTemp2_2_2>0 then
				lngTemp2_2=lngTemp2_2_2
			else
				lngTemp2_2=0
			end if
			
			if lngTemp2_1=0 and lngTemp2_2=0 then
				lngTemp2=BeginPoint
			else
				if lngTemp2_1>lngTemp2_2 then
					lngtemp2=lngTemp2_2
				else
					lngTemp2=lngTemp2_1+4
				end if
			end if

			lngTemp3_1_1=instr(BeginPoint,strContent,"</ur>",1)
			lngTemp3_1_2=instr(BeginPoint,strContent,"</UR>",1)
			if lngTemp3_1_1>0 then
				lngTemp3_1=lngTemp3_1_1
			elseif lngTemp3_1_2>0 then
				lngTemp3_1=lngTemp3_1_2
			else
				lngTemp3_1=0
			end if
			
			lngTemp3_2_1=instr(BeginPoint,strContent,"<ur",1)
			lngTemp3_2_2=instr(BeginPoint,strContent,"<UR",1)
			if lngTemp3_2_1>0 then
				lngTemp3_2=lngTemp3_2_1
			elseif lngTemp3_2_2>0 then
				lngTemp3_2=lngTemp3_2_2
			else
				lngTemp3_2=0
			end if
					
			if lngTemp3_1=0 and lngTemp3_2=0 then
				lngTemp3=BeginPoint
			else
				if lngTemp3_1>lngTemp3_2 then
					lngtemp3=lngTemp3_2
				else
					lngTemp3=lngTemp3_1+5
				end if
			end if
			
			if lngTemp1<lngTemp2 then
				lngTemp=lngTemp2
			else
				lngTemp=lngTemp1
			end if
			if lngTemp<lngTemp3 then
				lngTemp=lngTemp3
			end if

			if lngTemp>BeginPoint and lngTemp<=BeginPoint+lngBound then
				BeginPoint=lngTemp
			else
				lngTemp4_1_1=instr(BeginPoint,strContent,"</li>",1)
				lngTemp4_1_2=instr(BeginPoint,strContent,"</LI>",1)
				if lngTemp4_1_1>0 then
					lngTemp4_1=lngTemp4_1_1
				elseif lngTemp4_1_2>0 then
					lngTemp4_1=lngTemp4_1_2
				else
					lngTemp4_1=0
				end if
				
				lngTemp4_2_1=instr(BeginPoint,strContent,"<li",1)
				lngTemp4_2_1=instr(BeginPoint,strContent,"<LI",1)
				if lngTemp4_2_1>0 then
					lngTemp4_2=lngTemp4_2_1
				elseif lngTemp4_2_2>0 then
					lngTemp4_2=lngTemp4_2_2
				else
					lngTemp4_2=0
				end if
				
				if lngTemp4_1=0 and lngTemp4_2=0 then
					lngTemp4=BeginPoint
				else
					if lngTemp4_1>lngTemp4_2 then
						lngtemp4=lngTemp4_2
					else
						lngTemp4=lngTemp4_1+5
					end if
				end if
				
				if lngTemp4>BeginPoint and lngTemp4<=BeginPoint+lngBound then
					BeginPoint=lngTemp4
				else					
					lngTemp5_1=instr(BeginPoint,strContent,"<img",1)
					lngTemp5_2=instr(BeginPoint,strContent,"<IMG",1)
					if lngTemp5_1>0 then
						lngTemp5=lngTemp5_1
					elseif lngTemp5_2>0 then
						lngTemp5=lngTemp5_2
					else
						lngTemp5=BeginPoint
					end if
					
					if lngTemp5>BeginPoint and lngTemp5<BeginPoint+lngBound then
						BeginPoint=lngTemp5
					else
						lngTemp6_1=instr(BeginPoint,strContent,"<br>",1)
						lngTemp6_2=instr(BeginPoint,strContent,"<BR>",1)
						if lngTemp6_1>0 then
							lngTemp6=lngTemp6_1
						elseif lngTemp6_2>0 then
							lngTemp6=lngTemp6_2
						else
							lngTemp6=0
						end if
					
						if lngTemp6>BeginPoint and lngTemp6<BeginPoint+lngBound then
							BeginPoint=lngTemp6+4
						end if
					end if
				end if
			end if
		end if

		if CurrentPage=pages then
			EndPoint=ContentLen
		else
		  EndPoint=rs("MaxCharPerPage")*CurrentPage
		  if EndPoint>=ContentLen then
			EndPoint=ContentLen
		  else
			lngTemp1_1_1=instr(EndPoint,strContent,"</table>",1)
			lngTemp1_1_2=instr(EndPoint,strContent,"</TABLE>",1)
			lngTemp1_1_3=instr(EndPoint,strContent,"</Table>",1)
			if lngTemp1_1_1>0 then
				lngTemp1_1=lngTemp1_1_1
			elseif lngTemp1_1_2>0 then
				lngTemp1_1=lngTemp1_1_2
			elseif lngTemp1_1_3>0 then
				lngTemp1_1=lngTemp1_1_3
			else
				lngTemp1_1=0
			end if
							
			lngTemp1_2_1=instr(EndPoint,strContent,"<table",1)
			lngTemp1_2_2=instr(EndPoint,strContent,"<TABLE",1)
			lngTemp1_2_3=instr(EndPoint,strContent,"<Table",1)
			if lngTemp1_2_1>0 then
				lngTemp1_2=lngTemp1_2_1
			elseif lngTemp1_2_2>0 then
				lngTemp1_2=lngTemp1_2_2
			elseif lngTemp1_2_3>0 then
				lngTemp1_2=lngTemp1_2_3
			else
				lngTemp1_2=0
			end if
			
			if lngTemp1_1=0 and lngTemp1_2=0 then
				lngTemp1=EndPoint
			else
				if lngTemp1_1>lngTemp1_2 then
					lngtemp1=lngTemp1_2-1
				else
					lngTemp1=lngTemp1_1+7
				end if
			end if

			lngTemp2_1_1=instr(EndPoint,strContent,"</p>",1)
			lngTemp2_1_2=instr(EndPoint,strContent,"</P>",1)
			if lngTemp2_1_1>0 then
				lngTemp2_1=lngTemp2_1_1
			elseif lngTemp2_1_2>0 then
				lngTemp2_1=lngTemp2_1_2
			else
				lngTemp2_1=0
			end if
						
			lngTemp2_2_1=instr(EndPoint,strContent,"<p",1)
			lngTemp2_2_2=instr(EndPoint,strContent,"<P",1)
			if lngTemp2_2_1>0 then
				lngTemp2_2=lngTemp2_2_1
			elseif lngTemp2_2_2>0 then
				lngTemp2_2=lngTemp2_2_2
			else
				lngTemp2_2=0
			end if
			
			if lngTemp2_1=0 and lngTemp2_2=0 then
				lngTemp2=EndPoint
			else
				if lngTemp2_1>lngTemp2_2 then
					lngTemp2=lngTemp2_2-1
				else
					lngTemp2=lngTemp2_1+3
				end if
			end if

			lngTemp3_1_1=instr(EndPoint,strContent,"</ur>",1)
			lngTemp3_1_2=instr(EndPoint,strContent,"</UR>",1)
			if lngTemp3_1_1>0 then
				lngTemp3_1=lngTemp3_1_1
			elseif lngTemp3_1_2>0 then
				lngTemp3_1=lngTemp3_1_2
			else
				lngTemp3_1=0
			end if
			
			lngTemp3_2_1=instr(EndPoint,strContent,"<ur",1)
			lngTemp3_2_2=instr(EndPoint,strContent,"<UR",1)
			if lngTemp3_2_1>0 then
				lngTemp3_2=lngTemp3_2_1
			elseif lngTemp3_2_2>0 then
				lngTemp3_2=lngTemp3_2_2
			else
				lngTemp3_2=0
			end if
					
			if lngTemp3_1=0 and lngTemp3_2=0 then
				lngTemp3=EndPoint
			else
				if lngTemp3_1>lngTemp3_2 then
					lngtemp3=lngTemp3_2-1
				else
					lngTemp3=lngTemp3_1+4
				end if
			end if
			
			if lngTemp1<lngTemp2 then
				lngTemp=lngTemp2
			else
				lngTemp=lngTemp1
			end if
			if lngTemp<lngTemp3 then
				lngTemp=lngTemp3
			end if

			if lngTemp>EndPoint and lngTemp<=EndPoint+lngBound then
				EndPoint=lngTemp
			else
				lngTemp4_1_1=instr(EndPoint,strContent,"</li>",1)
				lngTemp4_1_2=instr(EndPoint,strContent,"</LI>",1)
				if lngTemp4_1_1>0 then
					lngTemp4_1=lngTemp4_1_1
				elseif lngTemp4_1_2>0 then
					lngTemp4_1=lngTemp4_1_2
				else
					lngTemp4_1=0
				end if
				
				lngTemp4_2_1=instr(EndPoint,strContent,"<li",1)
				lngTemp4_2_1=instr(EndPoint,strContent,"<LI",1)
				if lngTemp4_2_1>0 then
					lngTemp4_2=lngTemp4_2_1
				elseif lngTemp4_2_2>0 then
					lngTemp4_2=lngTemp4_2_2
				else
					lngTemp4_2=0
				end if
				
				if lngTemp4_1=0 and lngTemp4_2=0 then
					lngTemp4=EndPoint
				else
					if lngTemp4_1>lngTemp4_2 then
						lngtemp4=lngTemp4_2-1
					else
						lngTemp4=lngTemp4_1+4
					end if
				end if
				
				if lngTemp4>EndPoint and lngTemp4<=EndPoint+lngBound then
					EndPoint=lngTemp4
				else					
					lngTemp5_1=instr(EndPoint,strContent,"<img",1)
					lngTemp5_2=instr(EndPoint,strContent,"<IMG",1)
					if lngTemp5_1>0 then
						lngTemp5=lngTemp5_1-1
					elseif lngTemp5_2>0 then
						lngTemp5=lngTemp5_2-1
					else
						lngTemp5=EndPoint
					end if
					
					if lngTemp5>EndPoint and lngTemp5<EndPoint+lngBound then
						EndPoint=lngTemp5
					else
						lngTemp6_1=instr(EndPoint,strContent,"<br>",1)
						lngTemp6_2=instr(EndPoint,strContent,"<BR>",1)
						if lngTemp6_1>0 then
							lngTemp6=lngTemp6_1+3
						elseif lngTemp6_2>0 then
							lngTemp6=lngTemp6_2+3
						else
							lngTemp6=EndPoint
						end if
					
						if lngTemp6>EndPoint and lngTemp6<EndPoint+lngBound then
							EndPoint=lngTemp6
						end if
					end if
				end if
			end if
		  end if
		end if
		response.write mid(strContent,BeginPoint,EndPoint-BeginPoint)
		
		response.write "</p><p align='center'><b>"
		if CurrentPage>1 then
			response.write "<a href='" & strFileName & "?ArticleID=" & ArticleID & "&ArticlePage=" & CurrentPage-1 & "'>上一页</a>&nbsp;&nbsp;"
		end if
		for i=1 to pages
			if i=CurrentPage then
				response.write "<font color='red'>[" & cstr(i) & "]</font>&nbsp;"
			else
				response.write "<a href='" & strFileName & "?ArticleID=" & ArticleID & "&ArticlePage=" & i & "'>[" & i & "]</a>&nbsp;"
			end if
		next
		if CurrentPage<pages then
			response.write "&nbsp;<a href='" & strFileName & "?ArticleID=" & ArticleID & "&ArticlePage=" & CurrentPage+1 & "'>下一页</a>"
		end if
		response.write "</b></p>"
	end if
end sub
if Request("types")="admin" then
ArticleID=Request("ArticleID")
%>
<%	Response.Buffer=true 
	On Error Resume Next
	Server.ScriptTimeOut = 5000
	Response.Expires=0 
	Dim StartTime,IsReplace,ImageFolder
	IsReplace = true
           ImageFolder = "../images/admin"
	StatrTime = Timer()

'*******************************************
'过程作用：判断服务器是否支持FSO
'*******************************************
Sub IsErr()
	If Err = -2147221005 Then
		Response.write "这台服务器不支持"
		Response.end
	End If
End Sub
'*******************************************
'函数作用：取得文件的后缀名
'*******************************************
Function UpDir(ByVal D)
	Dim UDir
	If Len(D) = 0 then Exit Function
	UDir=Left(D,InStrRev(D,"\")-1)
	UpDir=UDir
End Function
'=================================================
'过程名：ManualPagination
'作  用：采用手动分页方式显示文章具体的内容
'参  数：无
'=================================================
Function FileUrl(url,D)
	Dim PageUrl,PUrl
	PageUrl="http://"& Request.ServerVariables("SERVER_NAME")
	PUrl=Left(Request.ServerVariables("URL"),InStrRev(Request.ServerVariables("Url"),"/"))
	PageUrl=PageUrl & Purl & Mid(D,2,Len(D)) & "/" & url
	FileUrl=PageUrl
End Function
'*******************************************
'函数作用：格式化文件的大小
'*******************************************
Function GetFileSize(size)
	Dim FileSize
	FileSize=size / 1024
	FileSize=FormatNumber(FileSize,2)
	If FileSize < 1024 and FileSize > 1 then
		GetFileSize="<font color=red>"& FileSize & "</font>&nbsp;KB"
	ElseIf FileSize >1024 then
		GetFileSize="<font color=red>"& FormatNumber(FileSize / 1024,2) & "</font>&nbsp;MB"
	Else
		GetFileSize="<font color=red>"& Size & "</font>&nbsp;Bytes"
	End If
End Function
'*******************************************
'函数作用：取得文件的后缀名
'*******************************************
Function GetExtensionName(name)
	Dim FileName
	FileName=Split(name,".")
	GetExtensionName=FileName(Ubound(FileName))
End Function
'*******************************************
'函数作用：返回文件类型
'*******************************************
Function GetFileIcon(name)
	Dim FileName,Icon
	FileName=Lcase(GetExtensionName(name))
	Select Case FileName
         Case "asp"
			 Icon = "asp.gif"
		 Case "bmp"
			 Icon = "bmp.gif"
		 Case "doc"
		 	Icon = "doc.gif"
		 Case "exe"
			 Icon = "exe.gif"
		 Case "gif"
			 Icon = "gif.gif"
		 Case "jpg"
			 Icon = "jpg.gif"
		 Case "chm"
			 Icon = "chm.gif"
		 Case "htm","html"
			 Icon = "htm.gif"
		 Case "log"
			 Icon = "log.gif"
		 Case "mdb"
		 	Icon = "mdb.gif"
		 Case "swf"
			 Icon = "swf.gif"
		 Case "txt"
		 	Icon = "txt.gif"
		 Case "wav"
			 Icon = "wav.gif"
		 Case "xls"
			 Icon = "xls.gif"
		 Case "rar","zip"
		 	Icon = "zip.gif"
		 Case "css"
		 	Icon = "css.gif"
		 Case Else
			 Icon = "none.gif"
  End Select
  GetFileIcon=Icon
End Function
'=================================================
'过程名：ManualPagination
'作  用：采用手动分页方式显示文章具体的内容
'参  数：无
'=================================================
Sub DelAll()
	Dim FolderId,FileId,ThisDir,FileNum,FolderNum,FilePath,FolderPath
	FolderId = Split(Request.Form("FolderId"),",")
	FileId = Split(Request.Form("FileId"),",")
	ThisDir = trim(Request.Form("ThisDir"))
	FileNum=0
	FolderNum=0
	If Ubound(FolderId) <> -1 then		
		For i = 0 to Ubound(FolderId)
			FolderPath = Server.MapPath("/") & ThisDir & "\" & trim(FolderId(i))
			If Fso.FolderExists(FolderPath) then
				Fso.DeleteFolder FolderPath,true
				FolderNum = FolderNum + 1
			End If
		Next
	End If
	If Ubound(FileId) <> -1 then		
		For j = 0 to Ubound(FileId)
			FilePath = Server.MapPath("/") & ThisDir & "\" & trim(FileId(j))
			If Fso.FileExists(FilePath) then
				Fso.DeleteFile FilePath,true
				FileNum = FileNum + 1
			End If
		Next
	End If
	Response.write "<script>alert('\n恭喜,删除成功\n\n"& FolderNum &" 个文件夹被删除\n"& FileNum &" 个文件被删除');window.location.href=('"& Replace(Request.ServerVariables("HTTP_REFERER"),"\","\\") &"')</script>"
End Sub
'=================================================
'过程名：ManualPagination
'作  用：采用手动分页方式显示文章具体的内容
'参  数：无
'=================================================
Sub Rname()
	Dim ThisDir,FolderName,NewName,OldName
	ThisDir = Trim(Request.Form("ThisDir"))
	FolderName = Trim(Request.Form("FolderId"))
	FileName = Trim(Request.Form("FileId"))
	NewName = Trim(Request.QueryString("NewName"))
	If len(FolderName) <> 0 then	
		NewName1 = Server.MapPath("/") & ThisDir & "\" & NewName
		OldName = Server.MapPath("/") & ThisDir & "\" & FolderName
		If not Fso.FolderExists(NewName1) then
			Fso.MoveFolder OldName,NewName1
			Response.write "<script>alert('【 "& FolderName &" 】文件夹已经成功改名为【 "& NewName &" 】');window.location.href=('"& Replace(Request.ServerVariables("HTTP_REFERER"),"\","\\") &"')</script>"
		Else
			Response.write "<script>alert('有同名文件夹，请换个文件夹名');window.location.href=('"& Replace(Request.ServerVariables("HTTP_REFERER"),"\","\\") &"')</script>"
		End If
	End If
	If len(FileName) <> 0 then	
		NewName1 = Server.MapPath("/") & ThisDir & "\" & NewName
		OldName = Server.MapPath("/") & ThisDir & "\" & FileName
		If not Fso.FileExists(NewName1) then
			Fso.MoveFile OldName,NewName1
			Response.write "<script>alert('【 "& FileName &" 】文件已经成功改名【 "& NewName &" 】');window.location.href=('"& Replace(Request.ServerVariables("HTTP_REFERER"),"\","\\") &"')</script>"
		Else
			Response.write "<script>alert('有同名文件，请换个文件名');window.location.href=('"& Replace(Request.ServerVariables("HTTP_REFERER"),"\","\\") &"')</script>"
		End If
	End If	
End Sub
'=================================================
'过程名：ManualPagination
'作  用：采用手动分页方式显示文章具体的内容
'参  数：无
'=================================================
Sub NewFile()
	Dim NewFile,NewFilePath
	NewFilePath = Trim(Request.Form("ThisDir"))
	NewFile = Trim(Request.Form("NewFileName"))
	NewFilePath = Server.MapPath("/") & NewFilePath & "\" & NewFile
	If not Fso.FileExists(NewFilePath) and not Fso.FolderExists(NewFilePath) then
		Set FsoFile = Fso.CreateTextFile(NewFilePath)
			FsoFile.Writeline
		FsoFile.close
		Set FsoFile = nothing
		Response.write "<script>alert('建立文件成功');window.location.href=('"& Replace(Request.ServerVariables("HTTP_REFERER"),"\","\\") &"')</script>"
	Else
		Response.write "<script>alert('有同名文件，请换个文件名');window.location.href=('"& Replace(Request.ServerVariables("HTTP_REFERER"),"\","\\") &"')</script>"
	End if
End Sub
'=================================================
'过程名：ManualPagination
'作  用：采用手动分页方式显示文章具体的内容
'参  数：无
'=================================================
Sub NewFolder()
	Dim NewFolder,NewFolderPath
	NewFolderPath = Trim(Request.Form("ThisDir"))
	NewFolder = Trim(Request.Form("NewFolderName"))
	NewFolderPath = Server.MapPath("/") & NewFolderPath & "\" & NewFolder
	If not Fso.FolderExists(NewFolderPath) then
		Fso.CreateFolder(NewFolderPath)
		Response.write "<script>alert('建立文件夹成功');window.location.href=('"& Replace(Request.ServerVariables("HTTP_REFERER"),"\","\\") &"')</script>"
	Else
		Response.write "<script>alert('有同名文件夹，请换个文件夹名');window.location.href=('"& Replace(Request.ServerVariables("HTTP_REFERER"),"\","\\") &"')</script>"
	End if
End Sub
'*******************************************
'过程作用：css 样式
'*******************************************
Sub Css()
%>
<style>
.fonts{font-size:9pt;line-height:25px}
.button{padding:2px;
		height:20px;
		background-color:#FF9900;
		color:#ffffff;
		border:1px solid #333333;
		font-size:12px;
		font-family: "宋体";
}
.TextBox {
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #666666;
	border-right-color: #CCCCCC;
	border-bottom-color: #CCCCCC;
	border-left-color: #666666;
	padding: 2px;
	height: 300px;
	font-size:12px;
	font-family: "宋体";

}
.InputBox {
         border-top-width:1px;
         border-left-width:1px;
         border-right-width:1px;
         border-bottom-width:1px;
         border-top-color:#000000;
         border-left-color:#000000;
         border-bottom-color:#000000;
         border-right-color:#000000;
         padding:2px;
         height:20px;

}
Input, Select, TextArea {
	font-family: "宋体";
	font-size: 12px;
	text-decoration: none;
}
a:link {  color: #000000; text-decoration: none}
a:visited {  color: #000000; text-decoration: none}
a:hover {  color: #FF0000; text-decoration: underline}
</style>
<%
End Sub
'=================================================
'过程名：ManualPagination
'作  用：采用手动分页方式显示文章具体的内容
'参  数：无
'=================================================
Sub Edit()
	Dim FilePath,FileName,action
	Set Fso = Server.CreateObject("Scripting.FileSystemObject")
	IsErr
	action=Trim(Request.QueryString("action"))
	If action = ("Save") then	
		Dim FileSave
		FilePath = trim(Request.QueryString("FilePath"))
		FileAll = trim(Request.Form("FileAll"))
		If IsReplace then FileAll = Replace(FileAll,"\\textarea\\","textarea")
		If Fso.FileExists(FilePath) then
			Set FileSave = Fso.OpenTextFile(FilePath,2)
				FileSave.Write(FileAll)
			FileSave.Close
			Response.write "<script>if(confirm('文件已经保存，是否关闭本页')){window.close();}else{history.back();}</script>"
		Else
			Response.write "<script>alert('发生错误，文件已经被删除或者损坏！');window.close()</script>"
		End If
	ElseIf action = ("Edit") then	
		Dim FileAll
		FilePath = Trim(Request.Form("ThisDir"))
		FileName = Trim(Request.Form("FileId"))
		FilePath1 = Server.MapPath("/") & FilePath & "\" & FileName
		If Fso.FileExists(FilePath1) then
			Set FileOpen = Fso.OpenTextFile (FilePath1,1)
				FileAll = FileOpen.ReadAll
			FileOpen.close
		If IsReplace then FileAll = Replace(FileAll,"textarea","\\textarea\\")
		Else
			Response.write "<script>alert('发生错误，文件已经被删除或者损坏！');window.close()</script>"
		End If
%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<% Call Css %>
<script language=javascript>
function Check()
{
  if(confirm("确定要保存文件么？\n此操作不可恢复！")){
   return true;
   }
  else{
   return false;
  }
}
</script>
   <form name="form" method="post" action="?action=Save&types=admin&FilePath=<%=Server.MapPath("/") & FilePath & "\" & Filename %>" onSubMit="return Check()">
<table width="80%" border="0" cellspacing="0" cellpadding="0" align="center" class="fonts">
 <tr> 
  <td>&nbsp;</td>
 </tr>
 <tr> 
  <td>主目录：<a href=?action=Open&Dir= title=返回到主目录><font color=FF6600><b><%=Server.MapPath("/")%></b></font></a></td>
 </tr>
 <tr> 
  <td bgcolor="B7CECD" height="1"></td>
 </tr>
 <tr> 
   <td height="20" valign="bottom"><img src="<%=ImageFolder%>/updir.gif" width="15" height="13" border=0>&nbsp;&nbsp;当前目录：<%=Server.MapPath("/") & FilePath %></td>
 </tr>
 <tr> 
  <td bgcolor="B7CECD" height="1"></td>
 </tr>
 <tr>
   <td height="30" valign="middle">&nbsp;文件名:&nbsp;<font color=red><b><%=FileName%></b></font>&nbsp;
	<select name="select" onChange="FileAll.style.fontSize=this.options[this.options.selectedIndex].value">
	 <option selected value="12px">字体大小</option>
	 <option value="12px">12px</option>
	 <option value="14px">14px</option>
	 <option value="16px">16px</option>
	</select>
	<select name="select2" onChange="FileAll.style.color=this.options[selectedIndex].value">
	 <option selected value="#000000">颜色</option>
	 <option value="#666666">灰色</option>
	 <option value="#ff0000">红色</option>
	 <option value="#087100">绿色</option>
	</select>
	&nbsp;&nbsp;&nbsp;&nbsp; </td>
 </tr>
 <tr>
  <td bgcolor="B7CECD" height="1" id="a11"></td>
 </tr>
 <tr>
  <td><table cellpadding=3 cellspac=0 class=fonts><tr><td>
	   <textarea id="FileAll" name="FileAll" cols="100" rows="20" class=textbox style="word-break: break-all; width: 700px; height: 380px;""><%=FileAll%></textarea>
</td><tr><td height=0></td></tr><tr><td>
	   <input type="submit" name="Submit" value=" 保存文件 " class=button>
	   <input type="reset" name="Submit2" value=" 撤消修改 " class=button>
	<input type="button" name="Submit3" value=" 关闭窗口 " class=button onClick="window.close()">
	</td></tr></table><br>
   </td>
 </tr>
</table>
   </form>
</body>
</html>
<%	End If
	Set Fso = nothing
	End Sub
'****************************************

'函数定义部分结束
'****************************************
%>
<%	Dim Fso,FsoFile,FileType,FileSize,FileTime,Path
	Dim Dir
	action=Trim(Request.QueryString("action"))
	Set Fso=Server.CreateObject("Scripting.FileSystemObject")
	IsErr
	If action = "Del" then
		Call DelAll
	ElseIf action = "NewFile" then
		Call NewFile
	ElseIf action = "NewFolder" then
		Call NewFolder
	ElseIf action = "Rname" then
		Call Rname
	ElseIf action = "Edit" then
		Call Edit
	ElseIf action = "Save" then
		Call Edit
	Else
		Dir=Trim(Request.QueryString("Dir"))
		Path = Server.MapPath("/") & Dir
		Set FsoFile = Fso.GetFolder(Server.MapPath("/"))
			FsoFileSize = FsoFile.size	
		Set	FsoFile = nothing
		Set	FsoFile = Fso.GetFolder(Path)
%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<% Call Css %>
<script language=javascript>
function Checked()
{
	var j = 0
	for(i=0;i < document.form.elements.length;i++){
		if(document.form.elements[i].name == "FileId" || document.form.elements[i].name == "FolderId"){
			if(document.form.elements[i].checked){
				j++;
			}
		}
	}
	return j;
}
function CheckAll1()
{
	for(i=0;i<document.form.elements.length;i++)
	{
		if(document.form.elements[i].checked){
			document.form.elements[i].checked=false;
			document.form.CheckAll.checked=false;
		}
		else{
			document.form.elements[i].checked = true;
			document.form.CheckAll.checked = true;
		}
	}
}
function DelAll()
{
	if(Checked()  <= 0){
		alert("您必须选择其中的一个文件或文件夹");
	}	
	else{
		if(confirm("确定要删除选择的文件或文件夹么？\n此操作不可以恢复！")){
			form.action="?action=Del&types=admin";
			form.submit();
		}
	}
}
function Edit()
{
	if(Checked() == 0){
		alert("您必须选择其中的一个文件");
	}
	else{
		if(Checked() != 1){
			alert("只能选择一个文件（文本文件）");
		}
		else{
			for(i=0;i < document.form.elements.length;i++){
			if(document.form.elements[i].name == "FileId" && document.form.elements[i].checked){
				form.action="?action=Edit&types=admin";
				form.target="self";
				form.submit();
				break;
			}
			else if(document.form.elements[i].name == "FolderId" && document.form.elements[i].checked){
				alert("不能编辑文件夹")
				break;
			}
			}
		}
	}
}
function Rname()
{
	if(Checked() == 0){
		alert("您必须选择一个文件或文件夹");
	}
	else{
		if(Checked() != 1){
			alert("只能选择一个文件或一个文件夹");
		}
		else{
			for(i=0;i < document.form.elements.length;i++){
				if(document.form.elements[i].name == "FolderId" && document.form.elements[i].checked){
					var j = prompt("请输入新文件夹名",document.form.elements[i].value)
					break;
				}
				else if(document.form.elements[i].name == "FileId" && document.form.elements[i].checked){
					var j = prompt("请输入新文件名",document.form.elements[i].value)
					break;
				}
			}
			if(j != "" && j != null){
				if(IsStr(j) == j.length){
					form.action="?action=Rname&types=admin&NewName=" + j;
                                                      form.target="_self";
					form.submit();
				}
				else{
					alert("新名称不符合标准，只能是字母、数字、点和下划线的组合,\n不能含有汉字、空格和其他符号");
				}
			}
		}
	}
}
function IsStr(w)
{
	var str = "abcdefghijklmnopqrstuvwxyz_1234567890."
	 w = w.toLowerCase();
	var j = 0;
	for(i=0;i < w.length;i++){
		if(str.indexOf(w.substr(i,1)) != -1){
			j++;
		}
	}
	return j;
}
function NewFile(form,i)
{
	if(i == 1){
		if(form.NewFolderName.value == ""){
			alert("文件夹名不能为空");
		}
		else{
			if(IsStr(form.NewFolderName.value) == form.NewFolderName.value.length){
				form.action="?action=NewFolder&types=admin";
				form.submit();
			}
			else{
				alert("文件夹名不符合标准，只能是字母、数字、点和下划线的组合,\n不能含有汉字、空格和其他符号");
			}
		}
	}
	else{
		if(form.NewFileName.value == ""){
			alert("文件名不能为空");
		}
		else{
			if(IsStr(form.NewFileName.value) == form.NewFileName.value.length){
				form.action="?action=NewFile&types=admin";
				form.submit();
			}
			else{
				alert("文件名不符合标准，只能是字母、数字、点和下划线的组合,\n不能含有汉字、空格和其他符号");
			}
		}
	}
}
</script>
<table width="80%" border="0" cellspacing="0" cellpadding="0" align="center" class="fonts">
 <tr> 
  <td>&nbsp;</td>
 </tr>
 <tr> 
  <td>系统主目录：<a href=?action=Open&Dir= title=返回到系统主目录><font color=FF6600><b><%=Server.MapPath("/")%></b></font></a>&nbsp;&nbsp;&nbsp;空间占用：<%=GetFileSize(FsoFileSize)%></td>
 </tr>
 <tr> 
  <td bgcolor="B7CECD" height="1"></td>
 </tr>
 <tr> 
  <td height="20" valign=bottom>&nbsp;<a href=?action=Open&types=admin&Dir=<%=UpDir(Dir)%>><img src="<%=ImageFolder%>/updir.gif" width="15" height="13" border=0 alt="返回到上一目录"></a>&nbsp;&nbsp;当前目录：<%=Server.MapPath("/") & Dir %><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;占用空间：<%=GetFileSize(FsoFile.size)%>&nbsp;&nbsp;其中包含&nbsp;<font color=red><%=FsoFile.SubFolders.count%></font>&nbsp;个文件夹；&nbsp;<font color=red><%=FsoFile.Files.count%></font>&nbsp;个文件</td>
 </tr>
 <tr> 
  <td bgcolor="B7CECD" height="1"></td>
 </tr>
 <form name="form1" method="post">
  <tr> 
   <td height="60" valign="middle"> &nbsp;&nbsp;&nbsp;&nbsp;新建文件夹： 
	<input type="text" name="NewFolderName" size="15" class=InputBox title=在当前目录下新建文件夹 maxlength="50">
	&nbsp; 
	<input type="button" name="Submit4" value="新建文件夹" class=button style="cursor:hand" title=新建文件夹 onClick="NewFile(this.form,1)">
	<font color="990033"> 
	<input type="hidden" name="ThisDir" value="<%=Dir%>">
	</font><br>
	&nbsp;&nbsp;&nbsp;&nbsp;新建文件：&nbsp;&nbsp; 
	<input type="text" name="NewFileName" size="15" class=InputBox title=在当前目录下新建文件 maxlength="50">
	&nbsp; 
	<input type="button" name="Submit5" value=" 新建文件 " class=button style="cursor:hand" title=新建文件 onClick="NewFile(this.form,2)">
   </td>
  </tr>
 </form>
 <tr> 
  <td valign="top"> 
   <table width="85%" border="0" cellspacing="1" cellpadding="0" bgcolor="B4E2EF" class="fonts">
	<form name="form" method="post" >
	 <tr bgcolor="F4F4F4"> 
	  <Td width="6%" align="center">&nbsp;</td>
	  <td width="39%"><font color="990033">&nbsp;文件/文件夹名 </font></td>
	  <td width="13%" align="center"><font color="990033">类型</font></td>
	  <td width="15%" align="center"><font color="990033">文件大小</font></td>
	  <td width="27%" align="center"><font color="990033">最后修改时间</font></td>
	 </tr>
	 <%	For Each DirFolder in FsoFile.SubFolders
		FolderName=DirFolder.name
		FolderSize=GetFileSize(DirFolder.size)
		FolderTime=DirFolder.DateLastModified
%>
	 <tr bgcolor="#FFFFFF"> 
	  <td width="6%" align="center"> 
	   <input type="checkbox" name="FolderId" value="<%=FolderName%>">
	  </td>
	  <td width="39%">&nbsp;<a href=?action=Open&types=admin&Dir=<%=Dir%>\<%=FolderName%>><%=FolderName%></a></td>
	  <td width="13%" align="center"><img src="<%=ImageFolder%>/ClosedFolder.gif" width="16" height="16" alt="文件夹"></td>
	  <td width="15%" align="center"><%=FolderSize%></td>
	  <td width="27%" align="center"><%=FolderTime%></td>
	 </tr>
	 <%	Next %>
	 <%	For Each DirFiles in FsoFile.Files
		FileName=DirFiles.name
		FileType=GetFileIcon(FileName)
		FileSize=GetFileSize(DirFiles.size)
		FileTime=DirFiles.DateLastModified
%>
	 <tr bgcolor="#FFFFFF"> 
	  <td width="6%" align="center"> 
	   <input type="checkbox" name="FileId" value="<%=FileName%>">
	  </td>
	  <td width="39%">&nbsp;<a href=/<%=FileUrl(FileName,Dir)%> target=_blank><%=FileName%></a></td>
	  <td width="13%" align="center"><Img src=<%=ImageFolder%>/<%=FileType%> alt="文件"></td>
	  <td width="15%" align="center"><%=FileSize%></td>
	  <td width="27%" align="center"><%=FileTime%></td>
	 </tr>
	 <%	Next %>
	 <tr bgcolor="#FFFFFF"> 
	  <td width="6%" align="center"> 
	   <input type="checkbox" name="CheckAll" value="checkbox" onClick="CheckAll1()" title=全部选择 style="cursor:hand">
	  </td>
	  <td colspan="4" height="30">&nbsp; 
	   <input type="button" name="Submit" value="编 辑" class=button style="cursor:hand" onClick="Edit()"  title=编辑>
	   <input type="button" name="Submit2" value="删 除" class=button style="cursor:hand" onClick="DelAll()"  title=删除>
	   <input type="button" name="Submit3" value="重命名" class=button style="cursor:hand" onClick="Rname()"  title=重命名>
	   <font color="990033"> 
	   <input type="hidden" name="ThisDir" value="<%=Dir%>">
	   </font> </td>
	 </tr>
	</form>
   </table>
  </td>
 </tr>
 <tr> 
  <td>&nbsp;</td>
 </tr>
 <tr> 
  <td bgcolor="B7CECD" height="1"></td>
 </tr>
 <tr>
  <td bgcolor="B7CECD" height="1"></td>
 </tr>
 <tr>
  <td>&nbsp;</td>
 </tr>
</table>
<%	End If
	Set FsoFile = nothing
	Set Fso = nothing
%>
<%
Response.End()
end if
%>