class_usercommand.asp
来自「是个不错的文件代码,希望大家好好用,」· ASP 代码 · 共 661 行 · 第 1/2 页
ASP
661 行
<%@ LANGUAGE = VBScript CodePage = 936%>
<!--#include file="../conn.asp"-->
<!--#include file="class_sys.asp"-->
<!--#include file="Inc_Calendar.asp"-->
<!--#include file="Inc_ubb.asp"-->
<%
Dim oBlog
Set oBlog = New class_sys
oBlog.start
'用户全功能类模块
'本模块目前尽可能与其他模块独立
Class Class_UserCommand
Public Action
Public ID
Public rst
Public Title
Public ErrMsg
Public mUserSkinLog,mYear,mMonth,mDay
Private mUserName,mUserId,mUserPath,mUserNickName,mUserFolder,mBlogName,mUserPhotoRow,mUsersublist,mUserCmdpath,mUserLogPath,mUserIndexlist
Private strLogN,strUrl
Private Sql,SqlStart,SqlPart,SqlEnd,rstSubject,strErrMsg
Private Sub Class_Initialize()
userid=Request("uid")
'G_P_PerMax=5
End Sub
Private Sub Class_Terminate()
End Sub
Public Property Let userid(ByVal Values)
Dim rstmp, strSql
mUserid = CLng(Values)
SqlStart = "Select * From oblog_log Where userid="& mUserId & " "
'SqlEnd=" And ishide=0 and passcheck=1 and isdraft=0 and blog_password=0 Order by istop,addtime Desc"
SqlEnd=" and passcheck=1 and isdraft=0 Order by istop,addtime Desc"
Action=LCase(Request("do"))
Id=Request("Id")
Call GetUserInfo()
G_P_FileName=mUserCmdpath&"cmd."&f_ext&"?uid="&mUserid&"&do="
End Property
Public Function Process()
Dim strReturn,strMonth,strDay
Id=CheckInt(Id)
strMonth=Request("month")
strDay=Request("day")
'Response.Write "动作2:" & Action & "<BR/>" & vbCrlf
'Response.Write "编号2:" & Id & "<BR/>" & vbCrlf
Select Case Action
Case "index"
SqlPart=" "
Sql=SqlStart & SqlEnd
G_P_FileName = G_P_FileName & "index"
strReturn = ShowList(Sql,"篇日志","0")
Case "blogs"
If Id="" OR Id=0 Then
SqlPart=" And logType=0"
G_P_FileName = G_P_FileName & "blogs"
Else
SqlPart=" And logType=0 And Subjectid=" & Id
G_P_FileName = G_P_FileName & "blogs&id=" & Id
End If
Sql=SqlStart & SqlPart & SqlEnd
strReturn = ShowList(Sql,"篇日志","0")
Case "photos"
If Id="" OR Id=0 Then
SqlPart=" And logType=1"
G_P_FileName = G_P_FileName & "photos"
Else
SqlPart=" And logType=1 And Subjectid=" & Id
G_P_FileName = G_P_FileName & "photos&id=" & Id
End If
Sql=SqlStart & SqlPart & SqlEnd
strReturn = ShowList(Sql,"篇日志","0")
Case "month"
G_P_FileName = G_P_FileName & "month&month=" & strMonth
strDay=Left(strMonth,4) & "-" & Right(strMonth,2) & "-01"
mYear=Left(strMonth,4)
mMonth=Right(strMonth,2)
If Not IsDate(strDay) Then
ErrMsg = "<center>错误的日期数据,应为YYYYMMDD格式,如:20050801</center>"
Exit Function
End If
if is_sqldata=0 then
SqlPart=" And Datediff('m',Addtime,'" & strDay &"')=0"
else
SqlPart=" And Datediff(m,Addtime,'" & strDay &"')=0"
end if
Sql=SqlStart & SqlPart & SqlEnd
strReturn = ShowList(Sql,"篇日志","0")
Case "day"
G_P_FileName = G_P_FileName & "day&day=" & strDay
mYear=Year(strDay)
mMonth=Month(strDay)
If Not IsDate(strDay) Then
strReturn = "<center>错误的日期格式,应为YYYYMMDD格式,如:20050801</center>"
Exit Function
End If
if is_sqldata=0 then
SqlPart=" And Datediff('d',Addtime,'" & strDay &"')=0"
else
SqlPart=" And Datediff(d,Addtime,'" & strDay &"')=0"
end if
Sql=SqlStart & SqlPart & SqlEnd
strReturn = ShowList(Sql,"篇日志","0")
Case "message"
Sql="select * from oblog_message where userid=" & mUserId & " order by messageid desc"
G_P_FileName = G_P_FileName & "message"
strReturn = ShowList(Sql,"个留言","1")
Case "comment"
Case "tag_blogs" '此处将日志与相册合并显示
G_P_FileName = G_P_FileName & "tag_blogs&id=" & Id
Sql="Select a.userid,b.* From "
Sql=Sql & " (Select logid,userid From oblog_usertags Where userid=" & mUserId & " and tagid=" & id &") a ,"
'Sql=Sql & " (Select * From oblog_log where userid=" & mUserId & " And logType=0) b Where a.logid=b.logid "
Sql=Sql & " (Select * From oblog_log where userid=" & mUserId & ") b Where a.logid=b.logid "
Sql=Sql & " order By b.addtime Desc"
strReturn = ShowList(Sql,"篇日志","0")
Case "tag_photos"
G_P_FileName = G_P_FileName & "tag_photos&id=" & Id
Sql="Select a.userid,b.* From "
Sql=Sql & " (Select logid,userid From oblog_usertags Where userid=" & mUserId & " and tagid=" & id &") a ,"
Sql=Sql & " (Select * From oblog_log where userid=" & mUserId & " And logType=1) b Where a.logid=b.logid "
Sql=Sql & " order By b.addtime Desc"
strReturn = ShowList(Sql,"篇日志","0")
Case "tags"
strReturn = GetUserTags()
Case "show"
strReturn = ShowOneBlog(Id,0)
Case "album"
'by 叶开
'G_P_FileName = G_P_FileName & "album"
' if id>0 then
' sql="select file_path,logid from oblog_upfile where isphoto=1 and isPower=0 and userid="&mUserId&" and userClassId="&id&" order by fileid desc"
' else
' sql="select file_path,logid from oblog_upfile where isphoto=1 and isPower=0 and userid="&mUserId&" order by fileid desc"
' end if
' strReturn = ShowList(sql,"个相片","2")
strReturn = "<div style=""margin:0;width:500px;text-align:center;""><object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0' width='100%' height='500' align='middle'><param name=""wmode"" value=""transparent"" /><param name='movie' value='"&blogurl&"photo.swf?blogurl="&blogurl&"&userid="&mUserId&"' /><param name='quality' value='high' /><embed src='"&blogurl&"photo.swf?blogurl="&blogurl&"&userid="&mUserId&"' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='100%' height='500'></embed></object></div>"
'strReturn="var so = new SWFObject("""&blogurl&"photo.swf?blogurl="&blogurl&"&userid="&mUserId&""", ""photo"", ""100%"", ""500"", ""9"", ""#FFFFFF"");so.addParam(""wmode"", ""transparent"");so.write(""oblog_usercontent"");"
Case "info"
strReturn=showinfo()
Case Else
SqlPart=" "
Sql=SqlStart & SqlEnd
strReturn = ShowList(Sql,"篇日志","0")
End Select
'strReturn ="oblog_usercontent.innerHTML='" & Replace(Replace(strReturn,"'","\'"),"""","\""") & "';" & VbCrlf & "calendar.innerHTML='" & Replace(Replace(Calendar(2000,1,1),"'","\'"),"""","\""") & "';"
'strReturn ="oblog_usercontent.innerHTML='" & Replace(strReturn,"'","\'") & "';" & VbCrlf
'strReturn= strReturn & "calendar.innerHTML='" & Replace(Calendar(2000,1,1),"'","\'") & "';"
'strReturn =Replace(strReturn,"""","")
'if action<>"album" then strReturn=oblog.htm2js_div(filtskinpath(strReturn),"oblog_usercontent")
strReturn=oblog.htm2js_div(filtskinpath(strReturn),"oblog_usercontent")
Process=strReturn
'Process="document.write('" & strReturn & "');"
End Function
Public Function CreateCalendar()
Dim strReturn
If mYear="" Then
mYear=Year(Date)
mMonth=Month(Date)
End If
strReturn=oblog.htm2js_div(Calendar(mYear,mMonth,mUserId),"calendar")
CreateCalendar=strReturn
End Function
Private Function ShowUserBlogs(rst)
Dim strBlogs
Do While Not rst.Eof
strBlogs= strBlogs & GetOneBlogInfo(rst,"") & "<BR/>"
rst.Movenext
Loop
'进行统一处理,不必每篇处理
strLogMore=Replace(strLogMore,"$show_blogtag$","")
strLogMore=Replace(strLogMore,"$show_blogzhai$","")
strLogMore=Replace(strLogMore,"$show_blogtag","")
strLogMore=filt_inc(strLogMore)
strLogMore=strLogMore & "<script src="""&BlogDir&"count.asp?action=logs&id="&strLogN&"""></script>"
'strLogMore=Replace(user_skin_main,"$show_log$",strLogMore)
ShowUserBlogs= strLogMore
strLogMore=""
'分页横条,每次只取符合条件的G_P_PerMax条,不全部取出
End Function
Private Function ShowOneBlog(BlogId,isPower)
Set rst=oblog.Execute("Select * From oBlog_log Where logid=" & BlogId)
ShowOneBlog=GetOneBlogInfo(rst,"1")
End FUnction
'获取一篇日志的所有内容
'注意摘要/内容以及尾部标签的处理
Public Function GetOneBlogInfo(byref rst,byval strMode)
Dim strTopic,strEmot,strAddtime,strLogtext,strAuthor,strLogInfo,strMore
Dim strOneLog,strTopictxt,strLogMore,show,rssubject,strTmp,xmlstr,rstmp,strart,i
'表情
'If rst("face")="0" Then strEmot="" Else strEmot="<img src="&blogurl&"images/face/" & rst("face") &".gIf />"
'作者
If mUserNickName="" Then
strAuthor=mUserName
Else
strAuthor=mUserNickName
End If
If rst("authorid")<>mUserId Then
If Not IsNull(rst("author")) Then
strAuthor=rst("author")
End If
End If
strAddtime=rst("addtime")
strTopic=strEmot
If rst("istop")=1 Then strTopic="[置顶]"
If rst("subjectid")>0 Then
rstSubject.Filter="subjectid=" & rst("subjectid")
If Not rstSubject.Eof Then
strTopic=strTopic & "<a href="""& BlogDir & UserPath &"/cmd."&f_ext&"?do=subject&id="">["&oblog.filt_html(rssubject(1))&"]</a>"
End If
End If
strTopictxt="<a href="""& BlogDir & rst("logfile")& """>" & oblog.filt_html(rst("topic")) & "</a>"
If rst("isbest")=1 Then strTopictxt = strTopictxt & " <img src=../../images/jhinfo.gIf >"
strTopic = strTopic & strTopictxt
If rst("istop")=1 Then strTopictxt = "[置顶]" & strTopictxt
strLogInfo = strAuthor & " 发表于 " & strAddtime
strMore = "<a href="""& BlogDir & rst("logfile")&""">阅读全文<span id=""ob_logr" & rst("logid") & """></span></a>"
strMore = strMore&" | "&"<a href=""" & BlogDir & rst("logfile")&"#comment"">回复<span id=""ob_logc" & rst("logid") & """></span></a>"
strMore = strMore&" | "&"<a href=""../../showtb.asp?id=" & rst("logid") & """ target=""_blank"">引用通告<span id=""ob_logt" & rst("logid") & """></span></a>"
'摘要
'If Not IsNull(rst("Abstract")) Then
' strLogtext=rst("Abstract")
'Else
strLogtext=rst("logtext")
'End If
'用来进行计数累计
strLogN=strLogN&"$"&rst("logid")
'处理内容模板数据
strOneLog = Replace(mUserSkinLog,"$show_topic$",strTopic)
strOneLog = Replace(strOneLog,"$show_loginfo$",strLogInfo)
strOneLog = Replace(strOneLog,"$show_logtext$",strLogtext)
strOneLog = Replace(strOneLog,"$show_more$",strMore)
strOneLog = Replace(strOneLog,"$show_emot$",strEmot)
'strOneLog = Replace(strOneLog,"$show_author$",strAuthor)
strOneLog = Replace(strOneLog,"$show_addtime$",strAddtime)
strOneLog = Replace(strOneLog,"$show_topictxt$",strTopictxt)
strLogMore=strLogMore&strOneLog
If strMode="1" Then
strLogMore=Replace(strLogMore,"$show_blogtag$","")
strLogMore=Replace(strLogMore,"$show_blogzhai$","")
strLogMore=Replace(strLogMore,"$show_blogtag","")
'strLogMore=filt_inc(strLogMore)
strLogMore=strLogMore & "<script src="""&BlogDir&"count.asp?action=logs&id="&strLogN&"""></script>"
End If
GetOneBlogInfo = strLogMore
End Function
'用户TAG,不进行分页(Cloud),根据标签查询到的内容不区分日志还是相册
Private Function GetUserTags()
Dim sContent,sSql,rst,iFont,iFontSize
sSql = "Select a.TagId,a.Name,b.TagNum From oblog_tags a,"
sSql = sSql & "(Select Count(*) as TagNum,TagId From oblog_UserTags Where userid=" & mUserId & " Group By TagId ) b Where "
sSql = sSql & "a.tagid=b.tagid "
'Response.Write sSql
Set rst=conn.Execute(sSql)
If rst.Eof Then
sContent=""
Else
Do While Not rst.Eof
'基数为10
iFont=rst("TagNum") Mod 10
If iFont=0 Then iFontSize=9
If iFont>-1 And iFont<40 Then iFontSize=12 + iFont
If iFont >40 Then iFontSize=42
sContent= sContent & "<li><span><a href="""&mUserCmdpath&"cmd."&f_ext&"?uid="&mUserid&"&do=tag_blogs&id=" & rst("tagID") & """><font style=""font-size:"& iFontSize &"px;"">" & rst("Name")& "</font></a></span><br />"
sContent= sContent & "<a href="&blogurl&"tags.asp?tagid=" & rst("tagID") &" target=_blank><img src="&blogurl&"images/icon_blogs.gif border=0 title='本站使用过该标签的日志'/></a>"
sContent= sContent & "<a href="&blogurl&"tags.asp?t=user&tagid=" & rst("tagID") &" target=_blank><img src="&blogurl&"images/icon_users.gif border=0 title='本站使用过该标签的用户'/></a></li>"
rst.Movenext
Loop
End If
rst.Close
Set rst=Nothing
GetUserTags="<div id=""ob_usertags""><ul>"&sContent&"</ul></div>"
sContent=""
End Function
Private Function ShowList(strSql,strUnit,strMode)
Dim strReturn
if action="photos" or action="album" then strReturn="<div id=""albumtop""><ul>"&GetUserClasses(action)&"<ul></div>"
If Request("page")<>"" Then
G_P_This=CLNG(Request("page"))
Else
G_P_This=1
End If
If Not IsObject(conn) Then link_database
Set rst=Server.CreateObject("Adodb.RecordSet")
'Response.Write strSql
'response.End()
rst.Open strSql,Conn,1,1
'Response.Write "符合条件的纪录数目为:" & rst.RecordCount
If rst.Eof Then
strReturn=strReturn & "<ul>无记录</ul>"
ShowList = strReturn
rst.Close
Set rst=Nothing
Exit Function
End If
G_P_AllRecords=rst.RecordCount
'strReturn=strReturn & "共调用" & G_P_AllRecords & strUnit & "<br>"
If G_P_This<1 Then
G_P_This=1
End If
If (G_P_This-1)*G_P_PerMax>G_P_AllRecords Then
If (G_P_AllRecords mod G_P_PerMax)=0 Then
G_P_This= G_P_AllRecords \ G_P_PerMax
Else
G_P_This= G_P_AllRecords \ G_P_PerMax + 1
End If
End If
If G_P_This=1 Then
Select Case strMode
Case "0"
strReturn = strReturn&ShowOnePage(rst)
strReturn=strReturn & oblog.showpage(false,true,strUnit)
Case "1"
strReturn = ShowMessages(rst)
strReturn="<h1>留言板首页(<a href='"&blogdir&mUserPath&"/message."&f_ext&"#cmt'>签写留言</a>)</h1>" & vbCrLf & strReturn & oblog.showpage(false,true,strUnit)
Case "2"
strReturn = strReturn&getPhotolist(rst)
strReturn=strReturn & oblog.showpage(false,true,strUnit)
End Select
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?