⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bl.asp

📁 电子备课系统
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<!--#include file="inc/inc_syssite.asp"-->
<%
Dim ErrMsg
'Argue.asp
'---------------------------------------------------
'业务逻辑节
'---------------------------------------------------
Function GetArgues(iMode)
	Dim sRet
	select Case iMode
		Case 1
			'最新
			Sql="select top 2 argueid,topic,a_ico,actions Where istate=1 Order By argueid Desc"
		Case 2
			'最热
			Sql="select top 2 argueid,topic,a_ico,actions Where istate=1 Order By actions Desc"
		Case 3
			Sql="select top 5 argueid,topic,a_ico,actions Where istate=3 Order By  argueid Desc"
	End select
	If Sql="" Then
		ErrMsg="错误的操作参数"
		Exit Function
	End If
	Do While Not rs.Eof 
		sRet=sRet & "<li>" & rs("topic") & "</li>" & vbcrlf
		rs.Movenext
	Loop
	Set rs=Nothing
	GetArgues=sRet
	sRet=""
End Function

Function GetArgueList(iMode)
	Dim sRet,Sql,rs,sState
	select Case iMode
		Case 1
			'待审核
			Sql="select top 5 argueid,topic,a_ico,actions From oblog_argue Where istate=1 Order By argueid Desc"
		Case 2
			'最新的
			Sql="select top 5 argueid,topic,a_ico,actions  From oblog_argue Where istate=2 Order By argueid Desc"
		Case 3
			'关闭的
			Sql="select top 5 argueid,topic,a_ico,actions  From oblog_argue Where istate=3 Order By argueid Desc"
		Case 4
			Sql="select argueid,topic,a_ico,actions,addtime,idays,actions1,actions2,actions3,istate,istop From oblog_argue Where   userid=" & oblog.l_uid &" Order By argueid Desc"
		Case Else 'All
			Sql="select argueid,topic,a_ico,actions  From oblog_argue Where  Order By argueid Desc"
	End select
	If Sql="" Then
		ErrMsg="错误的操作参数"
		Exit Function
	End If
	Set rs=oblog.Execute(Sql)
	Do While Not rs.Eof
		If rs("istate")=1 Then
			sState="[待审]"
		ElseIf rs("istate")=2 Then
			sState="[正常]"
		ElseIf rs("istate")=3 Then
			sState="[关闭]"
		End If
		If rs("istop")=1 Then
			sState="[置顶]" & sState
		End If
		sRet=sRet & "<ul class=""a_title""><li>" & sState &"<a href=""bl.asp?cmd=show&blid=" & rs("argueid") & """ target=""_blank"">" & rs("topic") & "</a>&nbsp;&nbsp;" &  rs("addtime") & "&nbsp;&nbsp;" & rs("actions1") & "/" & rs("actions2") & "/" &  rs("actions3") 
		If rs("istate")=1 Or rs("istate")=2 Then
			sRet=sRet & "&nbsp;&nbsp;<a href=""bl.asp?cmd=edit&blid=" & rs("argueid") & """>修改</a>"
		End If
		sRet=sRet & "</li></ul>"
		rs.Movenext
	Loop
	Set rs=Nothing
	GetArgueList=sRet
	sRet=""
End Function

'首页显示
Function GetOptions(Argueid,action)
	Dim rs,sRet,sRet1,i,sClass,sql,sStyle,sState,iPage,lPage,lAll,lPages
	Set rs=Server.CreateObject("Adodb.Recordset")
	If Argueid="" Then
	'仅显示一屏即可
		Sql="select top 20 a.topic,b.* From oblog_argue a,oblog_arguelist b Where a.argueid=b.argueid Order By b.id Desc"
	Else
		Sql="select a.topic,b.* From oblog_argue a,oblog_arguelist b Where a.argueid=b.argueid And a.argueid=" & Argueid & "  Order By b.id Desc"
	End If
	rs.Open sql,conn,1,3
	If rs.Eof Then
		GetOptions="<div id=argue_list_none></div>"
		Set rs=Nothing
		Exit Function
	End If
	iPage=20
	sRet="<div id=argue_list_options>"
	'分页
	If Request("page") = "" Or Request("page") ="0" then
		lPage = 1 
	Else
		lPage = Int(Request("page"))
	End If
	lAll=Int(rs.recordcount)
	'设置缓存大小 = 每页需显示的记录数目
	rs.CacheSize = iPage
	rs.PageSize = iPage
	rs.movefirst		
	lPages = rs.PageCount
	If lPage>lPages Then lPage=lPages
	rs.AbsolutePage = lPage
	sRet1=""
	i=0
	Do While Not rs.Eof And i < rs.PageSize
		If rs("action")=1 Then
			sState="正方"
			sStyle=0
		ElseIf rs("action")=2 Then
			sState="反方"
			sStyle=1
		ElseIf rs("action")=3 Then
			sState="第三方"
			sStyle=2
		Else
			sStyle=3
		End If
		If rs("rejoin")=1 Then 
			sState=sState & "," & "再次参与"
			sStyle=3
		End If
		sRet= sRet & "<div class=""a_option_title" & sStyle & """>" & Vbcrlf
		sRet= sRet & "<div class=""top""><div class=""title"">"
		If IsManager Then
			sRet= sRet & "[<a href=""bl.asp?cmd=dela&blid=" & rs("argueid") & "&a=" & rs("action") & "&re=" & rs("rejoin") & "&aid=" & rs("id") & """ onclick=""javascript:if (confirm('确认要删除该讨论吗?')==false) return false;"">删除</a>]"
		End If
		sRet= sRet & "<a href=""bl.asp?cmd=show&blid=" & rs("argueid") & """ class=""title"">" & rs("topic") & "</a></div><div class=""dire"">" & sState & "</div><div class=""both""></div></div>" & Vbcrlf
		sRet= sRet & "<div class=""content"">" & "<pre>" & Server.HtmlEncode(rs("content")) & "</pre></div>" & Vbcrlf
		sRet= sRet & "<div class=""end""><div class=""username""><a href=""#"">" & rs("author") & "</a></div><div class=""time"">" & rs("addtime")&"</div></div>" & Vbcrlf
		sRet= sRet & "<div class=""both""></div>" & Vbcrlf
		sRet= sRet & "</div>" & Vbcrlf
		i=i+1
		rs.Movenext
	Loop
	'挂分页代码
	G_P_Filename="bl.asp?cmd=show&blid=" & argueid & "&page="
	sRet= sRet & "<div class=a_option_title3>" & PageBarNum(lAll,iPage,lPage,G_P_Filename) & "</div>"
	GetOptions=sRet
	sRet=""
End Function

Function GetOneArgue(argueid,action,itype)
	Dim Sql,rs,sRet,sRet1
	If Argueid="" Then
		itype="1"
	Else
		Argueid=Int(Argueid)
	End If 
	If action="1" Then
		action="And action=1 "
	ElseIf action="2" Then
		action="And action=2 "
	End If
	'获取基本信息
	If itype="1" Then
		Sql="select top 1 * From oblog_argue Where istop=1 And istate=2 Order By argueid Desc" 
		Set rs=oblog.Execute(Sql)
		If rs.Eof Then
			Sql="select top 1 * From oblog_argue Where istop=0  And istate=2  Order By argueid Desc" 
			Set rs=oblog.Execute(Sql)
		End If
	Else
		Sql="select * From oblog_argue Where argueid=" & argueid
		Set rs=oblog.Execute(Sql)
	End If
	
	If rs.Eof Then
		ErrMsg="目标数据不存在"
		Exit Function
	End If
	sRet=sRet & "<div class=""c_Debate"">" & Vbcrlf
	sRet=sRet & "<div class=""title""><a href=""bl.asp?cmd=show&blid=" & rs("argueid") & """>" & rs("topic") & "</a></div>" & Vbcrlf
	sRet=sRet & "<a href=""#""><img src=""" & OB_IIF(rs("a_ico"),"plus/skins/bl/default/ico_bl.gif") & """ /></a>" & Vbcrlf
	sRet=sRet & "<div>开始时间:" & rs("addtime") & "</div>" & Vbcrlf
	sRet=sRet & "<div>结束时间:" & CheckDays(rs("addtime"),rs("iDays")) &"</div>" & Vbcrlf
	sRet=sRet & "<div>发起人:<a href=""go.asp?userid=" & rs("userid") & """ target=""target=_blank"">" & rs("username") &"</a>   关注程度:<span class=""blue"">" & IfHot(rs("actions")) &"</span> (" & rs("actions")&"人次)</div>" & Vbcrlf
	sRet=sRet & "<div><span class=""red_b"">正方观点:" & rs("action1") & "</span></div>" & Vbcrlf
	sRet=sRet & "<div><span class=""red"">得票" & rs("actions1")&" </span></div>" & Vbcrlf
	sRet=sRet & "<div><span class=""blue_b"">反方观点:" & rs("action2") & "</span></div>" & Vbcrlf
	sRet=sRet & "<div><span class=""blue"">得票" & rs("actions2")&" </span></div>" & Vbcrlf
	sRet=sRet & "<div><span class=""green"">第三方:得票" & rs("actions3")&" </span></div>" & Vbcrlf
	sRet=sRet & "<div class=""txt_b13"">相关资料:</div>" & Vbcrlf
	sRet=sRet & "<div class=""txt_p"">" & rs("content")&"</div>" & Vbcrlf
	sRet=sRet & "</div>"
	GetOneArgue=sRet
	sRet=""
	sRet1=""
End Function

'仅管理员可以删除辩题
Function isManager()
	isManager=false
	If Session("adminname")<>"" Or Session("m_name")<>""  Then
		isManager=true
	End If
End Function

Function JoinArgue()
	Dim Sql,rs,bJoined,action,actionSql,Content
	'判断是否登录
	If oblog.checkuserlogined()=false Then
		ErrMsg="必须登录才能参与辩论"
		Exit Function
	End If
	
	oblog.chk_commenttime
	
	argueid=Int(Request("blid"))	
	action=CInt(Request("action"))
	Content=Trim(Request("edit"))
	
	If Content="" Then
		oblog.AddErrStr ("请输入评论内容!") 
	Else
		If Len(Content)>1000 Then
			oblog.AddErrStr ("评论内容不能大于1000字!")
		Else
			If oblog.chk_badword(Content) > 0 Then oblog.AddErrStr ("内容中含有系统不允许发布的关键字!") 
		End If
	End If
	If oblog.Errstr<>"" Then oblog.showUserErr
	'判断当前状态
	Sql="select addtime,idays,istate From oblog_argue Where argueid=" & argueid
	Set rs=oblog.Execute(Sql)
	If rs.Eof Then
		ErrMsg="目标数据不存在"
	Else
		If rs("istate")=1 Then
			ErrMsg="该辩题还没有被审核"
		ElseIf rs("istate")=3 Then
			ErrMsg="该辩题已经结束"
		Else
			If CheckDays(rs(0),rs(1))<=Now Then
				'关闭
				oblog.Execute("Update oblog_argue Set istate=3 Where argueid=" & argueid)
				ErrMsg="辩论已关闭"
			End If
		End If
		If ErrMsg<>"" Then
			rs.Close
			Exit Function
		End If
	End If
	Set rs=Nothing
	'判断之前是否参加
	
	Sql="select action From oblog_arguelist Where userid=" & oblog.l_uid & " And argueid=" & argueid
	Set rs=oblog.Execute(Sql)
	If Not rs.Eof Then
		bJoined=1
		action=rs(0)
	Else
		bJoined=0
	End If	
	select Case action
		Case 1
			actionSql="actions1=actions1+1"
		Case 2
			actionSql="actions2=actions2+1"
		Case 3
			actionSql="actions3=actions3+1"
	End select
	rs.Close
	rs.Open "select *  From oblog_arguelist Where 1=0",conn,1,3
	rs.AddNew
	rs("argueid")=Int(argueid)
	rs("action")=Cint(action)
	rs("content")=Request("edit")
	rs("userid")=oblog.l_uid
	rs("addtime")=oblog.ServerDate(Now)
	rs("addip")=oblog.userip
	rs("author")=oblog.l_uname
	rs("rejoin")=bJoined
	rs.update
	rs.Close
	'数据更新
	If bJoined=0 Then oblog.execute ("Update oblog_argue Set " & actionSql & " Where argueid=" & argueid)
	oblog.execute ("Update oblog_argue Set actions=actions+1 Where argueid=" & argueid)
	Session("chk_commenttime")=oblog.ServerDate(now())
	Response.Cookies(cookies_name)("LastComment") = oblog.ServerDate(now())
	Response.Redirect "bl.asp?blid=" & argueid
End Function

Function CheckDays(byval addtime,byval idays)
	CheckDays=Dateadd("d",addtime,iDays)
End Function

Function JoinForm(id)
	Dim sRet,rs,sErr
	If id="" Then 
		Exit Function
	End If
	Set rs=oblog.Execute("select istate From oblog_argue Where argueid=" & Int(Id))
	If rs.Eof Then
		sErr="该辩论不存在"
	Else
		If rs(0)=1 Then
			sErr="该辩论还未通过审核"
		ElseIf rs(0)=3 Then
			sErr="该辩论已经关闭"
		End If
	End If
		
	sRet="<div class=""a_option_title3"">"
	If sErr<>"" Then
		sRet=sRet & sErr
	Else
		sRet=sRet &"<form action='bl.asp?cmd=joinsave&blid=" & id &"' method='post' name='commentform' id='commentform'>"& vbcrlf 
		sRet=sRet & "<input type=radio name=action value=1>支持正方<input type=radio name=action value=2>支持反方<input type=radio name=action value=3 checked>第三方观点"
		sRet=sRet & "<br/>观点只记录一次,但是你可以随时发布评论(小于1000字)"
		sRet=sRet & "<br/><textarea cols=""50"" rows=""5"" name=""edit""></textarea>" & vbcrlf 
		sRet=sRet & "<br/><span id=""ob_code""></span><input type='submit' value=' 提交 '></ul>" & vbcrlf 
		sRet=sRet & "</form>"
	End If
	sRet=sRet & "</div>"& vbcrlf 
	JoinForm=sRet
	sRet=""
End Function

Function MainForm()
	Dim sRet,rs,sTopic,a_ico,sAction1,sAction2,argueid,sContent,sDays
	argueid=Request("blid")
	If argueid<>"" Then argueid=Int(argueid)
	If argueid<>"" Then
		'关闭后不允许再编辑
		Set rs=oblog.Execute("select * From oblog_argue Where argueid=" & argueid & " And istate<>3")
		If rs.Eof Then
			MainForm="辩论编号不存在或已关闭,不能进行修改<br/>如果您是管理员,请重开该辩论后进行操作"
			Exit Function
		End If
		If (Not IsManager) And rs("userid")<>oblog.l_uid Then
			MainForm="您无权编辑该信息"
			Set rs=Nothing
			Exit Function			
		End If
		sTopic=rs("topic")
		a_ico=OB_IIF(rs("a_ico"),"plus/skins/bl/default/ico_bl.gif")
		sAction1=rs("action1")
		sAction2=rs("action2")
		sContent=rs("content")
		sDays=rs("iDays")
		Set rs=Nothing
	Else
		a_ico="plus/skins/bl/default/ico_bl.gif"
	End If
	sRet=sRet & "<div class=""a_option_title1"">"
	sRet=sRet & "<div id=""list"">" &vbCrLf 
	sRet=sRet & "    <form action=""bl.asp?blid=" & argueid &""" method=""post"" name=""oblogform"" id=""oblogform"" onSubmit=""return VerifySubmit()"">" &vbCrLf 
	sRet=sRet & "    <ul class=""list_edit"">" &vbCrLf 
	sRet=sRet & "    辩论标题:<input name=""topic"" type=text id=""topic"" size=""50"" maxlength=""100"" value=""" & sTopic &"""> <font color=""#FF0000""> *</font>" &vbCrLf 
	sRet=sRet & "    </ul>" &vbCrLf 
	sRet=sRet & "    <ul class=""list_edit"">" &vbCrLf 
	sRet=sRet & "    设置图标:<input name=""a_ico"" type=text id=""a_ico"" size=""50"" maxlength=""200"" value=""" & a_ico & """ onblur=""checkImg();""> <font color=""#FF0000""> *</font>" &vbCrLf 
	sRet=sRet & "    </ul>" &vbCrLf 
	sRet=sRet & "  	</ul>" &vbCrLf 
	sRet=sRet & "  	<ul class=""list_edit"">" &vbCrLf 
	sRet=sRet & "  		<img id=""argueImg"" src=""" & a_ico &""" width=""66"" height=""50"">" &vbCrLf 
	sRet=sRet & "  	</ul>" &vbCrLf 
	sRet=sRet & "  	" &vbCrLf 
	sRet=sRet & "    <ul class=""list_edit"">" &vbCrLf 
	sRet=sRet & "       正文,不超过5000字符(不支持任意Html标记) :<br/>" &vbCrLf 
	sRet=sRet & "       <textarea id=""edit"" name=""edit"" rows=""10"" cols=""57"">" & Server.HtmlEncode(sContent) & "</textarea > " &vbCrLf 
	sRet=sRet & "    </ul>" &vbCrLf 
	sRet=sRet & "	" &vbCrLf 
	sRet=sRet & "    <ul class=""list_edit"">正方观点:<input name=""action1"" type=text id=""action1"" size=""50"" maxlength=""200"" value=""" & sAction1 & """> <font color=""#FF0000""> *</font>(最多100字)" &vbCrLf 
	sRet=sRet & "    </ul>" &vbCrLf 
	sRet=sRet & "    <ul class=""list_edit"">反方观点:<input name=""action2"" type=text id=""action2"" size=""50"" maxlength=""200"" value=""" & sAction2 & """> <font color=""#FF0000""> *</font>(最多100字)" &vbCrLf 
	sRet=sRet & "    </ul>" &vbCrLf 
	sRet=sRet & "    <ul class=""list_edit"">辩论天数:<input name=""idays"" type=text id=""idays"" size=""6"" maxlength=""8"" value=""" & sDays & """> <font color=""#FF0000""> *</font>(自审核通过之日算起)" &vbCrLf 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -