📄 class_usercommand.asp
字号:
<%@ 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,mFileName,mUserFolder,mBlogName,mUserPhotoRow
Private MaxPerPage,Total,strLogN,strUrl
Private Sql,SqlStart,SqlPart,SqlEnd,rstSubject,strErrMsg
Private Sub Class_Initialize()
userid=Request("uid")
MaxPerPage=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()
mFileName=blogdir&muserpath&"/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
mFileName = mFileName & "index"
strReturn = ShowList(Sql,"篇日志","0")
Case "blogs"
If Id="" OR Id=0 Then
SqlPart=" And logType=0"
mFileName = mFileName & "blogs"
Else
SqlPart=" And logType=0 And Subjectid=" & Id
mFileName = mFileName & "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"
mFileName = mFileName & "photos"
Else
SqlPart=" And logType=1 And Subjectid=" & Id
mFileName = mFileName & "photos&id=" & Id
End If
Sql=SqlStart & SqlPart & SqlEnd
strReturn = ShowList(Sql,"篇日志","0")
Case "month"
mFileName = mFileName & "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"
mFileName = mFileName & "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"
mFileName = mFileName & "message"
strReturn = ShowList(Sql,"个留言","1")
Case "comment"
Case "tag_blogs" '此处将日志与相册合并显示
mFileName = mFileName & "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"
mFileName = mFileName & "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"
mFileName = mFileName & "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")
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,"""","")
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=""
'分页横条,每次只取符合条件的MaxPerPage条,不全部取出
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=../../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,i
Dim sSPlit
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 & "<a href="""&blogdir&muserpath&"/cmd."&f_ext&"?uid="&mUserid&"&do=tag_blogs&id=" & rst("tagID") & """><font style=""font-size:"& iFontSize &"px"">" & rst("Name")& "</font></a>"
sContent= sContent & "<a href="&blogdir&"tags.asp?tagid=" & rst("tagID") &" target=_blank><img src="&blogdir&"images/icon_blogs.gif border=0 title='查找本站使用过该标签的日志'/></a>"
sContent= sContent & "<a href="&blogdir&"tags.asp?t=user&tagid=" & rst("tagID") &" target=_blank><img src="&blogdir&"images/icon_users.gif border=0 title='查找本站使用过该标签的用户'/></a> " & sSPlit
i=i+1
If i Mod 5 = 0 Then
sContent = sContent & "<BR/>"
End If
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
CurrentPage=CLNG(Request("page"))
Else
CurrentPage=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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -