%@language=vbscript codepage=936 %>
<%
option explicit
response.buffer=true
'强制浏览器重新访问服务器下载页面,而不是从缓存读取页面
Response.Buffer = True
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
%>
<%
dim strChannel,sqlChannel,rsChannel,ChannelUrl,ChannelName
dim PhotoID,PhotoTitle
dim FileName,strFileName,MaxPerPage,ShowSmallClassType
dim totalPut,CurrentPage,TotalPages
dim BeginTime,EndTime
dim founderr, errmsg
dim ClassID,SpecialID,keyword,strField,SpecialName
dim rs,sql,sqlPhoto,rsPhoto,sqlSearch,rsSearch,rsPic,sqlSpecial,rsSpecial,sqlUser,rsUser
dim tClass,ClassName,RootID,ParentID,Depth,ParentPath,Child,SkinID,LayoutID,LayoutFileName,ChildID,tID,tChild
dim tSpecial
dim strPic,AnnounceCount
dim PageTitle,strPath,strPageTitle
dim strClassTree
BeginTime=Timer
PhotoID=trim(request("PhotoID"))
ClassID=trim(request("ClassID"))
SpecialID=trim(request("SpecialID"))
strField=trim(request("Field"))
keyword=trim(request("keyword"))
UserLogined=CheckUserLogined()
if PhotoId="" then
PhotoID=0
else
PhotoID=Clng(PhotoID)
end if
if ClassID<>"" then
ClassID=CLng(ClassID)
else
ClassID=0
end if
if SpecialID="" then
SpecialID=0
else
SpecialID=CLng(SpecialID)
end if
if UserLevel="" then
UserLevel=5000
else
UserLevel=Cint(UserLevel)
end if
strPath= " 您现在的位置: " & SiteName & ""
strPageTitle= SiteTitle
if ShowSiteChannel="Yes" then
strChannel= "| "
sqlChannel="select * from Channel order by OrderID"
set rsChannel=server.CreateObject("adodb.recordset")
rsChannel.open sqlChannel,conn,1,1
do while not rsChannel.eof
if rsChannel("ChannelID")=ChannelID then
ChannelUrl=rsChannel("LinkUrl")
ChannelName=rsChannel("ChannelName")
strChannel=strChannel & "" & ChannelName & " | "
else
strChannel=strChannel & "" & rsChannel("ChannelName") & " | "
end if
rsChannel.movenext
loop
rsChannel.close
set rsChannel=nothing
strPath=strPath & " >> " & ChannelName & ""
strPageTitle=strPageTitle & " >> " & ChannelName
end if
if PhotoID>0 then
sql="select * from Photo where PhotoID=" & PhotoID & ""
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,3
if rs.bof and rs.eof then
FoundErr=True
ErrMsg=ErrMsg & "
你要找的图片不存在,或者已经被管理员删除!
"
else
ClassID=rs("ClassID")
'SpecialID=rs("SpecialID")
'SkinID=rs("SkinID")
'LayoutID=rs("LayoutID")
PhotoTitle=rs("PhotoName")
end if
end if
if ClassID>0 then
sql="select C.ClassName,C.RootID,C.ParentID,C.Depth,C.ParentPath,C.Child,C.SkinID,L.LayoutID,L.LayoutFileName,C.BrowsePurview From PhotoClass C"
sql=sql & " inner join Layout L on C.LayoutID=L.LayoutID where C.ClassID=" & ClassID
set tClass=conn.execute(sql)
if tClass.bof and tClass.eof then
FoundErr=True
ErrMsg=ErrMsg & "
找不到指定的栏目
"
Call WriteErrMsg()
response.end
else
if tClass(9)
对不起,你没有浏览本栏目的权限!
"
ErrMsg=ErrMsg & "你不是" & CheckLevel(tClass(9)) & "!"
Call WriteErrMsg()
response.end
else
ClassName=tClass(0)
RootID=tClass(1)
ParentID=tClass(2)
Depth=tClass(3)
ParentPath=tClass(4)
Child=tClass(5)
if PhotoID<=0 then
SkinID=tClass(6)
LayoutID=tClass(7)
end if
LayoutFileName=tClass(8)
strPath=strPath & " >> "
strPageTitle=strPageTitle & " >> "
if ParentID>0 then
dim sqlPath,rsPath
sqlPath="select PhotoClass.ClassID,PhotoClass.ClassName,Layout.LayoutFileName,Layout.LayoutID From PhotoClass"
sqlPath= sqlPath & " inner join Layout on PhotoClass.LayoutID=Layout.LayoutID where PhotoClass.ClassID in (" & ParentPath & ") order by PhotoClass.Depth"
set rsPath=server.createobject("adodb.recordset")
rsPath.open sqlPath,conn,1,1
do while not rsPath.eof
strPath=strPath & "" & rsPath(1) & " >> "
strPageTitle=strPageTitle & rsPath(1) & " >> "
rsPath.movenext
loop
rsPath.close
set rsPath=nothing
end if
strPath=strPath & "" & ClassName & ""
strPageTitle=strPageTitle & ClassName
end if
end if
end if
if SpecialID>0 then
sql="select S.SpecialID,S.SpecialName,S.SkinID,S.LayoutID,L.LayoutFileName,S.BrowsePurview from Special S inner join Layout L on L.LayoutID=S.LayoutID where S.SpecialID=" & SpecialID
set tSpecial=conn.execute(sql)
if tSpecial.bof and tSpecial.eof then
founderr=True
ErrMsg=ErrMsg & "
找不到指定的栏目
"
Call WriteErrMsg()
response.end
else
if tSpecial(5)
对不起,你没有浏览本专题的权限!
"
ErrMsg=ErrMsg & "你不是" & CheckLevel(tSpecial(5)) & "!"
Call WriteErrMsg()
response.end
else
SpecialName=tSpecial(1)
if PhotoID<=0 then
SkinID=tSpecial(2)
LayoutID=tSpecial(3)
end if
LayoutFilename=tSpecial(4)
strPath=strPath & " >> [专题]" & SpecialName & ""
strPageTitle=strPageTitle & " >> [专题]" & SpecialName
end if
end if
end if
if keyword<>"" then
keyword=ReplaceBadChar(keyword)
end if
if request("page")<>"" then
currentPage=cint(request("page"))
else
currentPage=1
end if
'=================================================
'过程名:ShowRootClass
'作 用:显示一级栏目(无特殊效果)
'参 数:无
'=================================================
sub ShowRootClass()
dim sqlRoot,rsRoot
sqlRoot="select C.ClassID,C.ClassName,C.RootID,L.LayoutFileName,C.LinkUrl From PhotoClass C"
sqlRoot= sqlRoot & " inner join Layout L on C.LayoutID=L.LayoutID where C.ParentID=0 and C.ShowOnTop=True order by C.RootID"
Set rsRoot= Server.CreateObject("ADODB.Recordset")
rsRoot.open sqlRoot,conn,1,1
if rsRoot.bof and rsRoot.eof then
response.Write("还没有任何栏目,请首先添加栏目。")
else
if ClassID>0 then
response.write "| "&ChannelName&"首页 |"
else
response.write "| "&ChannelName&"首页 |"
end if
do while not rsRoot.eof
if rsRoot(4)<>"" then
response.write " " & rsRoot(1) & " |"
else
if rsRoot(2)=RootID then
response.Write " " & rsRoot(1) & " |"
else
response.Write " " & rsRoot(1) & " |"
end if
end if
rsRoot.movenext
loop
end if
rsRoot.close
set rsRoot=nothing
if ShowMyStyle="Yes" then
response.write " 自选风格 |"
end if
end sub
dim pNum,pNum2
pNum=1
pNum2=0
'=================================================
'过程名:ShowRootClass_Menu
'作 用:显示一级栏目(下拉菜单效果)
'参 数:无
'=================================================
sub ShowRootClass_Menu()
response.write "" & vbcrlf
end sub
sub GetClassMenu(ID,ShowType)
dim sqlClass,rsClass,k
if pNum=1 then
response.write "stm_bp('p" & pNum & "',[1,4,0,0,2,3,6,7,100,'progid:DXImageTransform.Microsoft.Fade(overlap=.5,enabled=0,Duration=0.43)',-2,'',-2,67,2,3,'#999999','#ffffff','',3,1,1,'#aca899']);" & vbcrlf
else
if ShowType=0 then
response.write "stm_bpx('p" & pNum & "','p" & pNum2 & "',[1,4,0,0,2,3,6]);" & vbcrlf
else
response.write "stm_bpx('p" & pNum & "','p" & pNum2 & "',[1,2,-2,-3,2,3,0]);" & vbcrlf
end if
end if
k=0
sqlClass="select C.ClassID,C.ClassName,C.Depth,L.LayoutFileName,C.NextID,C.LinkUrl,C.Child,C.Readme From PhotoClass C"
sqlClass= sqlClass & " inner join Layout L on C.LayoutID=L.LayoutID where C.ParentID=" & ID & " order by C.OrderID asc"
Set rsClass= Server.CreateObject("ADODB.Recordset")
rsClass.open sqlClass,conn,1,1
do while not rsClass.eof
if rsClass(5)<>"" then
if rsClass(6)>0 then
response.write "stm_aix('p"&pNum&"i"&k&"','p"&pNum2&"i0',[0,'" & rsClass(1) & "','','',-1,-1,0,'" & rsClass(5) & "','_blank','" & rsClass(5) & "','" & rsClass(7) & "','','',6,0,0,'images/arrow_r.gif','images/arrow_w.gif',7,7,0,0,1,'#ffffff',0,'#cccccc',0,'','',3,3,0,0,'#fffff7','#000000','#000000','#ffffff','9pt 宋体']);" & vbcrlf
pNum=pNum+1
pNum2=pNum2+1
call GetClassMenu(rsClass(0),1)
else
response.write "stm_aix('p"&pNum&"i"&k&"','p"&pNum2&"i0',[0,'" & rsClass(1) & "','','',-1,-1,0,'" & rsClass(5) & "','_blank','" & rsClass(5) & "','" & rsClass(7) & "','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',0,'','',3,3,0,0,'#fffff7','#ff0000','#000000','#cc0000','9pt 宋体']);" & vbcrlf
end if
else
if rsClass(6)>0 then
response.write "stm_aix('p"&pNum&"i"&k&"','p"&pNum2&"i0',[0,'" & rsClass(1) & "','','',-1,-1,0,'" & rsClass(3) & "?ClassID=" & rsClass(0) & "','_self','" & rsClass(3) & "?ClassID=" & rsClass(0) & "','" & rsClass(7) & "','','',6,0,0,'images/arrow_r.gif','images/arrow_w.gif',7,7,0,0,1,'#ffffff',0,'#cccccc',0,'','',3,3,0,0,'#fffff7','#000000','#000000','#ffffff','9pt 宋体']);" & vbcrlf
pNum=pNum+1
pNum2=pNum2+1
call GetClassMenu(rsClass(0),1)
else
response.write "stm_aix('p"&pNum&"i"&k&"','p"&pNum2&"i0',[0,'" & rsClass(1) & "','','',-1,-1,0,'" & rsClass(3) & "?ClassID=" & rsClass(0) & "','_self','" & rsClass(3) & "?ClassID=" & rsClass(0) & "','" & rsClass(7) & "','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',0,'','',3,3,0,0,'#fffff7','#ff0000','#000000','#cc0000','9pt 宋体']);" & vbcrlf
end if
end if
k=k+1
rsClass.movenext
loop
rsClass.close
set rsClass=nothing
response.write "stm_ep();" & vbcrlf
end sub
'=================================================
'过程名:ShowJumpClass
'作 用:显示“跳转栏目到…”下拉列表框
'参 数:无
'=================================================
sub ShowJumpClass()
response.write ""
end sub
'=================================================
'过程名:ShowClass_Tree
'作 用:显示所有栏目(树形目录效果)
'参 数:无
'=================================================
sub ShowClass_Tree()
dim arrShowLine(20)
for i=0 to ubound(arrShowLine)
arrShowLine(i)=False
next
dim rsClass,sqlClass,tmpDepth,i
sqlClass="select C.ClassID,C.ClassName,C.Depth,L.LayoutFileName,C.NextID,C.LinkUrl,C.Child From PhotoClass C"
sqlClass= sqlClass & " inner join Layout L on C.LayoutID=L.LayoutID order by C.RootID,C.OrderID"
set rsClass=server.CreateObject("adodb.recordset")
rsClass.open sqlClass,conn,1,1
if rsClass.bof and rsClass.bof then
strClassTree="没有任何栏目"
else
strClassTree=""
do while not rsClass.eof
tmpDepth=rsClass(2)
if rsClass(4)>0 then
arrShowLine(tmpDepth)=True
else
arrShowLine(tmpDepth)=False
end if
if tmpDepth>0 then
for i=1 to tmpDepth
if i=tmpDepth then
if rsClass(4)>0 then
strClassTree=strClassTree & ""
else
strClassTree=strClassTree & ""
end if
else
if arrShowLine(i)=True then
strClassTree=strClassTree & ""
else
strClassTree=strClassTree & ""
end if
end if
next
end if
if rsClass(6)>0 then
strClassTree=strClassTree & ""
else
strClassTree=strClassTree & ""
end if
if rsClass(5)="" then
strClassTree=strClassTree & ""
else
strClassTree=strClassTree & ""
end if
if rsClass(2)=0 then
strClassTree=strClassTree & "" & rsClass(1) & ""
else
strClassTree=strClassTree & rsClass(1)
end if
'if rsClass(5)<>"" then
' strClassTree=strClassTree & "(外)"
'end if
strClassTree=strClassTree & ""
if rsClass(6)>0 then
strClassTree=strClassTree & "(" & rsClass(6) & ")"
end if
strClassTree=strClassTree & " "
rsClass.movenext
loop
end if
rsClass.close
set rsClass=nothing
response.write strClassTree
end sub
'=================================================
'过程名:ShowChildClass
'作 用:显示当前栏目的下一级子栏目
'参 数:ShowType--------显示方式,1为竖向列表,2为横向列表
'=================================================
sub ShowChildClass(ShowType)
dim sqlChild,rsChild,i
sqlChild="select C.ClassID,C.ClassName,C.Depth,L.LayoutFileName,C.NextID,C.LinkUrl,C.Child From PhotoClass C"
sqlChild= sqlChild & " inner join Layout L on C.LayoutID=L.LayoutID where C.ParentID=" & ClassID & " order by C.OrderID"
Set rsChild= Server.CreateObject("ADODB.Recordset")
rsChild.open sqlChild,conn,1,1
if rsChild.bof and rsChild.eof then
response.write "没有任何子栏目"
else
if ShowType=1 then
do while not rsChild.eof
if rsChild(5)<>"" then
response.write "
"
end if
if rsChild(6)>0 then
response.write "(" & rsChild(6) & ")"
end if
response.write " "
rsChild.movenext
loop
else
i=0
do while not rsChild.eof
if rsChild(5)<>"" then
response.write " " & rsChild(1) & ""
else
response.Write " " & rsChild(1) & ""
end if
if rsChild(6)>0 then
response.write "(" & rsChild(6) & ")"
end if
rsChild.movenext
i=i+1
if i mod 5=0 then
response.write " "
end if
loop
end if
end if
rsChild.close
set rsChild=nothing
end sub
'=================================================
'过程名:ShowClassNavigation
'作 用:显示栏目导航
'参 数:无
'=================================================
sub ShowClassNavigation()
dim rsNavigation,sqlNavigation,strNavigation,PrevRootID,i
sqlNavigation="select C.ClassID,C.ClassName,C.Depth,L.LayoutFileName,C.RootID,C.LinkUrl,C.Child,C.Readme From PhotoClass C"
sqlNavigation= sqlNavigation & " inner join Layout L on C.LayoutID=L.LayoutID where C.Depth<=1 order by C.RootID,C.OrderID"
Set rsNavigation= Server.CreateObject("ADODB.Recordset")
rsNavigation.open sqlNavigation,conn,1,1
if rsNavigation.bof and rsNavigation.eof then
response.write "没有任何栏目"
else
strNavigation="
"
PrevRootID=rsNavigation(4)
rsNavigation.movenext
i=1
do while not rsNavigation.eof
if PrevRootID=rsNavigation(4) then
if i mod 6=0 then
strNavigation=strNavigation & " "
end if
strNavigation=strNavigation & "" & rsNavigation(1) & " "
i=i+1
else
strNavigation=strNavigation & "
"
i=1
end if
PrevRootID=rsNavigation(4)
rsNavigation.movenext
loop
strNavigation=strNavigation & "
"
response.write strNavigation
end if
rsNavigation.close
set rsNavigation=nothing
end sub
'=================================================
'过程名:ShowSiteCount
'作 用:显示站点统计信息
'参 数:无
'=================================================
sub ShowSiteCount()
dim sqlCount,rsCount
Set rsCount= Server.CreateObject("ADODB.Recordset")
sqlCount="select count(PhotoID) from Photo where Deleted=False"
rsCount.open sqlCount,conn,1,1
response.write "图片总数:" & rsCount(0) & "个 "
rsCount.close
sqlCount="select count(PhotoID) from Photo where Passed=False and Deleted=False"
rsCount.open sqlCount,conn,1,1
response.write "待审图片:" & rsCount(0) & "个 "
rsCount.close
sqlCount="select count(CommentID) from PhotoComment"
rsCount.open sqlCount,conn,1,1
response.write "评论总数:" & rsCount(0) & "条 "
rsCount.close
sqlCount="select count(SpecialID) from Special"
rsCount.open sqlCount,conn,1,1
response.write "专题总数:" & rsCount(0) & "个 "
rsCount.close
sqlCount="select count(" & db_User_ID & ") from " & db_User_Table & ""
rsCount.open sqlCount,Conn_User,1,1
response.write "注册用户:" & rsCount(0) & "名 "
rsCount.close
sqlCount="select sum(Hits) from Photo"
rsCount.open sqlCount,conn,1,1
response.write "图片查看:" & rsCount(0) & "人次 "
rsCount.close
set rsCount=nothing
end sub
'=================================================
'过程名:ShowPhoto
'作 用:分页显示图片标题等信息
'参 数:TitleLen ----标题最多字符数,一个汉字=两个英文字符
'=================================================
sub ShowPhoto(TitleLen,strClassID)
if TitleLen<0 or TitleLen>200 then
TitleLen=50
end if
sqlPhoto="select P.PhotoID,P.ClassID,C.ClassName,L.LayoutFileName,P.PhotoName,P.PhotoUrl_Thumb,P.Author,P.AuthorEmail,P.Keyword,P.UpdateTime,P.Editor,P.Hits,P.DayHits,P.WeekHits,P.MonthHits,P.PhotoSize,P.OnTop,P.Elite,P.Passed,P.Stars,P.PhotoLevel,P.PhotoPoint from Photo P"
sqlPhoto=sqlPhoto & " inner join (PhotoClass C inner join Layout L on C.LayoutID=L.LayoutID) on P.ClassID=C.ClassID where P.Deleted=False and P.Passed=True "
'if SpecialID>0 then
' sqlPhoto=sqlPhoto & " and P.SpecialID=" & SpecialID
'end if
if instr(strClassID,",")>0 then
sqlPhoto=sqlPhoto & " and P.ClassID in (" & strClassID & ")"
else
sqlPhoto=sqlPhoto & " and P.ClassID=" & Clng(strClassID)
end if
if keyword<>"" then
select case strField
case "PhotoName"
sqlPhoto=sqlPhoto & " and P.PhotoName like '%" & keyword & "%' "
case "PhotoIntro"
sqlPhoto=sqlPhoto & " and P.PhotoIntro like '%" & keyword & "%' "
case "Author"
sqlPhoto=sqlPhoto & " and P.Author like '%" & keyword & "%' "
case "Editor"
sqlPhoto=sqlPhoto & " and P.Editor like '%" & keyword & "%' "
case else
sqlPhoto=sqlPhoto & " and P.PhotoName like '%" & keyword & "%' "
end select
end if
sqlPhoto=sqlPhoto & " order by P.OnTop,P.PhotoID desc"
Set rsPhoto= Server.CreateObject("ADODB.Recordset")
rsPhoto.open sqlPhoto,conn,1,1
if rsPhoto.bof and rsPhoto.eof then
totalput=0
response.Write("
没有任何图片
")
else
totalput=rsPhoto.recordcount
if currentpage<1 then
currentpage=1
end if
if (currentpage-1)*MaxPerPage>totalput then
if (totalPut mod MaxPerPage)=0 then
currentpage= totalPut \ MaxPerPage
else
currentpage= totalPut \ MaxPerPage + 1
end if
end if
if currentPage=1 then
call PhotoContent(TitleLen,True)
else
if (currentPage-1)*MaxPerPage
"
if rsPhoto.bof and rsPhoto.eof then
response.write "
没有图片
"
else
i=0
do while not rsPhoto.eof
if i>0 and i mod 4=0 then
response.write "
"
i=i+1
if i>=MaxPerPage then exit do
rsPhoto.movenext
loop
end if
response.write "
"
end sub
'=================================================
'过程名:ShowNewPhoto
'作 用:显示最近更新的图片
'参 数:PhotoNum ----最多显示多少个图片
' ShowTitle ----是否显示图片名称,True为显示,False为不显示
' TitleLen ----标题最多字符数,一个汉字=两个英文字符
'=================================================
sub ShowNewPhoto(PhotoNum,ShowTitle,TitleLen)
dim sqlNew,rsNew,i
if PhotoNum>0 and PhotoNum<=100 then
sqlNew="select top " & PhotoNum
else
sqlNew="select top 10 "
end if
sqlNew=sqlNew & " P.PhotoID,P.PhotoName,P.PhotoUrl_Thumb,P.Author,P.Keyword,P.UpdateTime,P.Editor,P.Hits,P.DayHits,P.WeekHits,P.MonthHits,P.PhotoSize,P.PhotoLevel,P.PhotoPoint from Photo P where P.Deleted=False and P.Passed=True "
sqlNew=sqlNew & " order by P.PhotoID desc"
Set rsNew= Server.CreateObject("ADODB.Recordset")
rsNew.open sqlNew,conn,1,1
if TitleLen<0 or TitleLen>255 then TitleLen=100
response.write "
"
if rsNew.bof and rsNew.eof then
response.write "
没有图片
"
else
i=0
do while not rsNew.eof
if i>0 and i mod 4=0 then
response.write "
"
i=i+1
rsNew.movenext
loop
end if
response.write "
"
rsNew.close
set rsNew=nothing
end sub
'=================================================
'过程名:ShowTop
'作 用:显示累计下载TOP N,N由参数PhotoNum指定
'参 数:PhotoNum ----最多显示多少个图片
' TitleLen ----标题最多字符数,一个汉字=两个英文字符
'=================================================
sub ShowTop(PhotoNum,TitleLen,strClassID)
dim sqlTop,rsTop
if PhotoNum>0 and PhotoNum<=100 then
sqlTop="select top " & PhotoNum
else
sqlTop="select top 10 "
end if
sqlTop=sqlTop & " P.PhotoID,P.PhotoName,P.PhotoVersion,P.Author,P.Keyword,P.UpdateTime,P.Editor,P.Hits,P.DayHits,P.WeekHits,P.MonthHits,P.PhotoSize,P.PhotoLevel,P.PhotoPoint from Photo S where P.Deleted=False and P.Passed=True "
if instr(strClassID,",")>0 then
sqlTop=sqlTop & " and P.ClassID in (" & strClassID & ")"
else
if CLng(strClassID)>0 then
sqlTop=sqlTop & " and P.ClassID=" & strClassID
end if
end if
sqlTop=sqlTop & " order by P.Hits desc,P.PhotoID desc"
Set rsTop= Server.CreateObject("ADODB.Recordset")
rsTop.open sqlTop,conn,1,1
if TitleLen<0 or TitleLen>255 then TitleLen=100
if rsTop.bof and rsTop.eof then
response.write "
"
rsTop.movenext
loop
end if
rsTop.close
set rsTop=nothing
end sub
'=================================================
'过程名:ShowTopDay
'作 用:显示本日下载TOP N,N由参数PhotoNum指定
'参 数:PhotoNum ----最多显示多少个图片
' TitleLen ----标题最多字符数,一个汉字=两个英文字符
'=================================================
sub ShowTopDay(PhotoNum,TitleLen)
dim sqlTop,rsTop
if PhotoNum>0 and PhotoNum<=100 then
sqlTop="select top " & PhotoNum
else
sqlTop="select top 10 "
end if
sqlTop=sqlTop & " S.PhotoID,S.PhotoName,S.PhotoVersion,S.Author,S.Keyword,S.UpdateTime,S.Editor,S.Hits,S.DayHits,S.WeekHits,S.MonthHits,S.PhotoSize,S.PhotoLevel,S.PhotoPoint from Photo S where S.Deleted=False and S.Passed=True And datediff('D',LastHitTime,now())<=0 order by S.DayHits desc,S.PhotoID desc"
Set rsTop= Server.CreateObject("ADODB.Recordset")
rsTop.open sqlTop,conn,1,1
if TitleLen<0 or TitleLen>255 then TitleLen=100
if rsTop.bof and rsTop.eof then
response.write "
"
rsTop.movenext
loop
end if
rsTop.close
set rsTop=nothing
end sub
'=================================================
'过程名:ShowTopWeek
'作 用:显示本周下载TOP N,N由参数PhotoNum指定
'参 数:PhotoNum ----最多显示多少个图片
' TitleLen ----标题最多字符数,一个汉字=两个英文字符
'=================================================
sub ShowTopWeek(PhotoNum,TitleLen)
dim sqlTop,rsTop
if PhotoNum>0 and PhotoNum<=100 then
sqlTop="select top " & PhotoNum
else
sqlTop="select top 10 "
end if
sqlTop=sqlTop & " S.PhotoID,S.PhotoName,S.PhotoVersion,S.Author,S.Keyword,S.UpdateTime,S.Editor,S.Hits,S.DayHits,S.WeekHits,S.MonthHits,S.PhotoSize,S.PhotoLevel,S.PhotoPoint from Photo S where S.Deleted=False and S.Passed=True And datediff('ww',LastHitTime,now())<=0 order by S.WeekHits desc,S.PhotoID desc"
Set rsTop= Server.CreateObject("ADODB.Recordset")
rsTop.open sqlTop,conn,1,1
if TitleLen<0 or TitleLen>255 then TitleLen=100
if rsTop.bof and rsTop.eof then
response.write "
"
rsTop.movenext
loop
end if
rsTop.close
set rsTop=nothing
end sub
'=================================================
'过程名:ShowTopMonth
'作 用:显示本月下载TOP N,N由参数PhotoNum指定
'参 数:PhotoNum ----最多显示多少个图片
' TitleLen ----标题最多字符数,一个汉字=两个英文字符
'=================================================
sub ShowTopMonth(PhotoNum,TitleLen)
dim sqlTop,rsTop
if PhotoNum>0 and PhotoNum<=100 then
sqlTop="select top " & PhotoNum
else
sqlTop="select top 10 "
end if
sqlTop=sqlTop & " S.PhotoID,S.PhotoName,S.PhotoVersion,S.Author,S.Keyword,S.UpdateTime,S.Editor,S.Hits,S.DayHits,S.WeekHits,S.MonthHits,S.PhotoSize,S.PhotoLevel,S.PhotoPoint from Photo S where S.Deleted=False and S.Passed=True And datediff('m',LastHitTime,now())<=0 order by S.MonthHits desc,S.PhotoID desc"
Set rsTop= Server.CreateObject("ADODB.Recordset")
rsTop.open sqlTop,conn,1,1
if TitleLen<0 or TitleLen>255 then TitleLen=100
if rsTop.bof and rsTop.eof then
response.write "
"
rsTop.movenext
loop
end if
rsTop.close
set rsTop=nothing
end sub
'=================================================
'过程名:ShowHot
'作 用:显示热门下载
'参 数:PhotoNum ----最多显示多少个图片
' TitleLen ----标题最多字符数,一个汉字=两个英文字符
'=================================================
sub ShowHot(PhotoNum,TitleLen)
dim sqlHot,rsHot
if PhotoNum>0 and PhotoNum<=100 then
sqlHot="select top " & PhotoNum
else
sqlHot="select top 10 "
end if
sqlHot=sqlHot & " P.PhotoID,P.PhotoName,P.PhotoUrl_Thumb,P.Author,P.Keyword,P.UpdateTime,P.Editor,P.Hits,P.DayHits,P.WeekHits,P.MonthHits,P.PhotoSize,P.PhotoLevel,P.PhotoPoint from Photo P where P.Deleted=False and P.Passed=True And P.Hits>=" & HitsOfHot
sqlHot=sqlHot & " order by P.PhotoID desc"
Set rsHot= Server.CreateObject("ADODB.Recordset")
rsHot.open sqlHot,conn,1,1
if TitleLen<0 or TitleLen>255 then TitleLen=50
if rsHot.bof and rsHot.eof then
response.write "
"
rsHot.movenext
loop
end if
rsHot.close
set rsHot=nothing
end sub
'=================================================
'过程名:ShowElite
'作 用:显示推荐图片
'参 数:PhotoNum ----最多显示多少个图片
' TitleLen ----标题最多字符数,一个汉字=两个英文字符
'=================================================
sub ShowElite(PhotoNum,TitleLen)
dim sqlElite,rsElite
if PhotoNum>0 and PhotoNum<=100 then
sqlElite="select top " & PhotoNum
else
sqlElite="select top 10 "
end if
sqlElite=sqlElite & " P.PhotoID,P.PhotoName,P.PhotoUrl_Thumb,P.Author,P.Keyword,P.UpdateTime,P.Editor,P.Hits,P.DayHits,P.WeekHits,P.MonthHits,P.PhotoSize,P.PhotoLevel,P.PhotoPoint from Photo P where P.Deleted=False and P.Passed=True And P.Elite=True "
sqlElite=sqlElite & " order by P.PhotoID desc"
Set rsElite= Server.CreateObject("ADODB.Recordset")
rsElite.open sqlElite,conn,1,1
if TitleLen<0 or TitleLen>255 then TitleLen=50
if rsElite.bof and rsElite.eof then
response.write "
"
rsElite.movenext
loop
end if
rsElite.close
set rsElite=nothing
end sub
'=================================================
'过程名:ShowCorrelative
'作 用:显示相关图片
'参 数:PhotoNum ----最多显示多少个图片
' TitleLen ----标题最多字符数,一个汉字=两个英文字符
'=================================================
sub ShowCorrelative(PhotoNum,TitleLen)
dim rsCorrelative,sqlCorrelative
dim strKey,arrKey,i
if PhotoNum>0 and PhotoNum<=100 then
sqlCorrelative="select top " & PhotoNum
else
sqlCorrelative="Select Top 5 "
end if
strKey=mid(rs("Keyword"),2,len(rs("Keyword"))-2)
if instr(strkey,"|")>1 then
arrKey=split(strKey,"|")
strKey="((S.Keyword like '%|" & arrKey(0) & "|%')"
for i=1 to ubound(arrKey)
strKey=strKey & " or (S.Keyword like '%|" & arrKey(i) & "|%')"
next
strKey=strKey & ")"
else
strKey="(S.Keyword like '%|" & strKey & "|%')"
end if
sqlCorrelative=sqlCorrelative & " S.PhotoID,S.PhotoName,S.PhotoVersion,S.Author,S.Keyword,S.UpdateTime,S.Editor,S.Hits,S.PhotoSize,S.PhotoLevel,S.PhotoPoint from Photo S Where S.Deleted=False and S.Passed=True and " & strKey & " and S.PhotoID<>" & PhotoID & " Order by S.PhotoID desc"
Set rsCorrelative= Server.CreateObject("ADODB.Recordset")
rsCorrelative.open sqlCorrelative,conn,1,1
if TitleLen<0 or TitleLen>255 then TitleLen=50
if rsCorrelative.bof and rsCorrelative.Eof then
response.write "没有相关图片"
else
do while not rsCorrelative.eof
response.Write "
"
rsCorrelative.movenext
loop
end if
rsCorrelative.close
set rsCorrelative=nothing
end sub
'=================================================
'过程名:ShowComment
'作 用:显示相关评论
'参 数:CommentNum ----最多显示多少个评论
'=================================================
sub ShowComment(CommentNum)
dim rsComment,sqlComment,rsCommentUser
if CommentNum>0 and CommentNum<=100 then
sqlComment="select top " & CommentNum
else
sqlComment="select top 10 "
end if
sqlComment=sqlComment & " * from PhotoComment where PhotoID=" & PhotoID & " order by CommentID desc"
Set rsComment= Server.CreateObject("ADODB.Recordset")
rsComment.open sqlComment,conn,1,1
if rsComment.bof and rsComment.eof then
response.write " 没有任何评论"
else
response.write "
"
do while not rsComment.eof
response.write "
"
if rsComment("UserType")=1 then
response.write "
会员"
set rsCommentUser=Conn_User.execute("select " & db_User_ID & "," & db_User_Name & "," & db_User_Email & "," & db_User_QQ & "," & db_User_Homepage & " from " & db_User_Table & " where " & db_User_Name & "='" & rsComment("UserName") & "'")
if rsCommentUser.bof and rsCommentUser.eof then
response.write rsComment("UserName")
else
response.write "『" & rsComment("UserName") & "』"
end if
else
response.write "
游客『" & rsComment("UserName") & "』"
end if
response.write "于" & rsComment("WriteTime") & "发表评论:
"
response.write "
评分:"&rsComment("Score")&"分
"
response.write "
"
response.write " " & rsComment("Content") & " "
if rsComment("ReplyContent")<>"" then
response.write " ★ 管理员『" & rsComment("ReplyName") & "』于 " & rsComment("ReplyTime") & " 回复道: " & rsComment("ReplyContent") & " "
end if
response.write "