PageRenderTime 30ms CodeModel.GetById 1ms RepoModel.GetById 1ms app.codeStats 0ms

/Wap/User/User_Message.asp

https://github.com/joechen2010/health
ASP | 670 lines | 633 code | 25 blank | 12 comment | 0 complexity | 9a9ff08899c84f0390712e971e9a18c5 MD5 | raw file
  1. <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
  2. <%option explicit%>
  3. <!--#include file="../Conn.asp"-->
  4. <!--#include file="../KS_Cls/Kesion.CommonCls.asp"-->
  5. <% Response.ContentType="text/vnd.wap.wml" %><?xml version="1.0" encoding="utf-8"?>
  6. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
  7. <wml>
  8. <head>
  9. <meta http-equiv="Cache-Control" content="no-Cache"/>
  10. <meta http-equiv="Cache-Control" content="max-age=0"/>
  11. </head>
  12. <card id="main" title="短消息服务">
  13. <p>
  14. <%
  15. Dim KSCls
  16. Set KSCls = New User_Message
  17. KSCls.Kesion()
  18. Set KSCls = Nothing
  19. %>
  20. </p>
  21. </card>
  22. </wml>
  23. <%
  24. Class User_Message
  25. Private KS
  26. Private Max_sEnd,Max_sms,Max_Num,DomainStr
  27. Private Action
  28. Private RS,SqlStr,Prev
  29. Private FoundErr,Errmsg
  30. Private i
  31. Private Sub Class_Initialize()
  32. Set KS=New PublicCls
  33. Max_sEnd=KS.Setting(49) '群发限制人数
  34. Max_sms=KS.Setting(48) '内容最多字符数
  35. Max_Num=KS.Setting(47) '最多允许存放条数
  36. DomainStr=KS.GetDomain
  37. End Sub
  38. Private Sub Class_Terminate()
  39. Set KS=Nothing
  40. Set KSUser=Nothing
  41. End Sub
  42. Public Sub Kesion()
  43. IF Cbool(KSUser.UserLoginChecked)=False Then
  44. Response.redirect DomainStr&"User/Login/"
  45. Exit Sub
  46. End If
  47. Action=Lcase(Request("Action"))
  48. IF Action<>"read" And Action<>"outread" Then
  49. %>
  50. <a href="User_Message.asp?Action=new&amp;<%=KS.WapValue%>">发送短消息</a><br/>
  51. <a href="User_Message.asp?Action=inbox&amp;<%=KS.WapValue%>">收件箱</a>
  52. <a href="User_Message.asp?Action=outbox&amp;<%=KS.WapValue%>">发件箱</a>
  53. <a href="User_Message.asp?Action=issend&amp;<%=KS.WapValue%>">已发送</a>
  54. <a href="User_Message.asp?Action=recycle&amp;<%=KS.WapValue%>">废件箱</a><br/>
  55. <%
  56. End IF
  57. Select Case Action
  58. Case "new" : sendMessage'发送消息
  59. Case "read" : read'阅读消息
  60. Case "outread" : read
  61. Case "delet" : delete
  62. Case "newmsg" : newmsg
  63. Case "send" : SavEmsg
  64. Case "fw" : fw
  65. Case "edit" : Edit
  66. Case "savedit" : SavEdit
  67. Case "delinbox" : Delinbox'删除收件
  68. Case "alldelinbox" : AllDelinbox'清空收件箱
  69. Case "deloutbox" : Deloutbox'删除草稿
  70. Case "alldeloutbox" : AllDeloutbox'清空草稿箱
  71. Case "delissend" : DelIsSend'删除已发送的消息
  72. Case "alldelissend" : AllDelIsSend'清空已发送的消息
  73. Case "delrecycle" : Delrecycle'删除垃圾
  74. Case "alldelrecycle" : AllDelrecycle'清空垃圾箱
  75. Case Else : MessageMain
  76. End Select
  77. If Prev=True Then
  78. Response.Write "<anchor>返回上一页<prev/></anchor><br/>"
  79. End If
  80. Response.Write "<br/>"
  81. Response.Write "<a href=""Index.asp?" & KS.WapValue & """>我的地盘</a><br/>" &vbcrlf
  82. Response.Write "<a href=""" & KS.GetGoBackIndex & """>返回首页</a>" &vbcrlf
  83. End Sub
  84. '发送信息
  85. Sub sendMessage()
  86. Dim SendTime,Title,Content
  87. Dim ToUser:ToUser=KS.S("ToUser")
  88. If KS.S("ID")<>"" and isNumeric(KS.S("ID")) Then
  89. Set rs=server.createobject("adodb.recordSet")
  90. SqlStr="Select SendTime,title,content from KS_Message where Incept='"&KSUser.UserName&"' and id="&Clng(KS.S("ID"))
  91. RS.open SqlStr,Conn,1,1
  92. If not(RS.EOF And RS.BOF) Then
  93. SendTime=RS("SendTime")
  94. Title="RE " & RS("Title")
  95. Content=RS("Content")
  96. End If
  97. RS.Close:Set RS=Nothing
  98. End If
  99. %>
  100. 发送信息<br/>
  101. 收件人<input name="ToUser<%=Minute(Now)%><%=Second(Now)%>" title="收件人" type="text" maxlength="10" size="10" value="<%=ToUser%>"/>
  102. <select name="font">
  103. <option>选择好友...</option>
  104. <option onpick="User_Friend.asp?Action=addF&amp;<%=KS.WapValue%>">添加好友...</option>
  105. <%
  106. Set RS=server.createobject("adodb.recordSet")
  107. SqlStr="select friend from KS_Friend where Username='"&KSUser.UserName&"' order by Addtime desc"
  108. RS.Open SqlStr,Conn,1,1
  109. Do While not RS.EOF
  110. If ToUser="" Then
  111. Response.Write "<option onpick=""User_Message.asp?Action=new&amp;ToUser="&RS(0)&"&amp;"&KS.WapValue&""">"&RS(0)&"</option>"
  112. Else
  113. Response.Write "<option onpick=""User_Message.asp?Action=new&amp;ToUser="&ToUser&","&RS(0)&"&amp;"&KS.WapValue&""">"&RS(0)&"</option>"
  114. End If
  115. RS.Movenext
  116. Loop
  117. RS.Close:Set RS=Nothing
  118. %>
  119. </select>
  120. <br/>
  121.  <input name="Title<%=Minute(Now)%><%=Second(Now)%>" title="标题" type="text" maxlength="30" size="30" value="<%=Title%>"/><br/>
  122. <%
  123. If KS.S("ID")<>"" Then
  124. Content="在"&SendTime&"您来信中写道:<br/>"&Content&"<br/>"
  125. Else
  126. Content=""
  127. End If
  128. %>
  129.  <input name="Message<%=Minute(Now)%><%=Second(Now)%>" title="内容" type="text" maxlength="500" size="30" value="<%=Server.Htmlencode(Content)%>"/><br/>
  130. <anchor>发送<go href="User_Message.asp?Action=sEnd&amp;<%=KS.WapValue%>" method="post" accept-charset="utf-8">
  131. <postfield name="ToUser" value="$(ToUser<%=Minute(Now)%><%=Second(Now)%>)"/>
  132. <postfield name="Title" value="$(Title<%=Minute(Now)%><%=Second(Now)%>)"/>
  133. <postfield name="Message" value="$(Message<%=Minute(Now)%><%=Second(Now)%>)"/>
  134. <postfield name="Submit" value="发送"/>
  135. </go></anchor>
  136. <anchor>保存<go href="User_Message.asp?Action=sEnd&amp;<%=KS.WapValue%>" method="post" accept-charset="utf-8">
  137. <postfield name="ToUser" value="$(ToUser<%=Minute(Now)%><%=Second(Now)%>)"/>
  138. <postfield name="Title" value="$(Title<%=Minute(Now)%><%=Second(Now)%>)"/>
  139. <postfield name="Message" value="$(Message<%=Minute(Now)%><%=Second(Now)%>)"/>
  140. <postfield name="Submit" value="保存"/>
  141. </go></anchor>
  142. <br/><br/>
  143. 可以用英文状态下的逗号将用户名隔开实现群发最多<b><%=max_sEnd%></b>个用户<br/>
  144. 标题最多<b>50</b>个字符内容最多<b><%=max_sms%></b>个字符<br/>
  145. <%
  146. End Sub
  147. '读取信息
  148. Sub read()
  149. Prev=True
  150. If KS.S("ID")=0 Then
  151. Response.Write "请指定正确的参数。<br/>"
  152. Exit Sub
  153. End If
  154. Set RS=Server.Createobject("adodb.recordSet")
  155. If Request("Action")="read" Then
  156. Conn.Execute("Update KS_Message Set flag=1 where ID="&Clng(KS.S("id")))
  157. End If
  158. SqlStr="Select * from KS_Message where (Incept='"&KSUser.UserName&"' or sEnder='"&KSUser.UserName&"') And ID="&Clng(KS.S("ID"))
  159. RS.open SqlStr,Conn,1,1
  160. If RS.EOF And RS.BOF Then
  161. RS.Close:Set RS=Nothing
  162. Response.Write "你是不是跑到别人的信箱啦、或者该信息已经被收件人删除。<br/>"
  163. Exit Sub
  164. Else
  165. %>
  166. 欢迎使用短消息接收<%=KSUser.UserName%><br/>
  167. <a href="User_Message.asp?Action=delet&amp;id=<%=RS("ID")%>&amp;<%=KS.WapValue%>">删除</a>
  168. <a href="User_Message.asp?Action=new&amp;<%=KS.WapValue%>">发送</a>
  169. <a href="User_Message.asp?Action=new&amp;ToUser=<%=KS.HTMLEncode(RS("sEnder"))%>&amp;id=<%=KS.S("ID")%>&amp;<%=KS.WapValue%>">回复</a>
  170. <a href="User_Message.asp?Action=fw&amp;id=<%=KS.S("ID")%>&amp;<%=KS.WapValue%>">转发</a>
  171. <br/>
  172. <%
  173. If Request("Action")="outread" Then
  174. Response.Write "在<b>"&RS("SendTime")&"</b>,您发送此消息给<b>"&KS.HTMLEncode(RS("Incept"))&"</b>!<br/>"
  175. Else
  176. Response.Write "在<b>"&RS("SendTime")&"</b>,<b>"&KS.HTMLEncode(RS("sEnder"))&"</b>给您发送的消息!<br/>"
  177. End If
  178. Dim Content
  179. Content=KS.UBBToHTML(KS.LoseHtml(KS.HTMLToUBB(KS.HTMLCode(RS("Content")))))
  180. If InStr(Content, "Shop/Show.asp") <> 0 Then
  181. Content= Replace(Content,KS.Setting(2)&KS.Setting(3)&"Shop/Show.asp?",DomainStr&"Show.asp?ChannelID=5&amp;" & KS.WapValue & "&amp;")
  182. End If
  183. %>
  184. 消息标题<%=KS.HTMLencode(RS("Title"))%><br/>
  185. <%=KS.ContentPagination(Content,"200","User_Message.asp?Action=read&amp;ID="&KS.S("ID")&"&amp;" & KS.WapValue & "",False,False)%><br/>
  186. <%
  187. RS.Close:Set RS=Nothing
  188. SqlStr="Select id,sEnder from KS_Message where Incept='"&KSUser.UserName&"' and flag=0 and IsSend=1 and id>"&KS.ChkClng(KS.S("ID")&" order by SendTime")
  189. Set RS=Conn.Execute(SqlStr)
  190. If not (RS.EOF And RS.BOF) Then
  191. Response.Write "<a href=""User_Message.asp?Action=read&amp;id="&RS(0)&"&amp;sEnder="&RS(1)&"&amp;" & KS.WapValue & """>[读取下一条信息]</a><br/><br/>"
  192. End If
  193. RS.Close:Set RS=Nothing
  194. End If
  195. End Sub
  196. '转发信息
  197. Sub fw()
  198. Dim Title,Content,sEnder
  199. Dim ToUser:ToUser=KS.S("ToUser")
  200. If KS.S("ID")<>"" And isNumeric(KS.S("ID")) Then
  201. Set RS=Server.Createobject("adodb.recordSet")
  202. SqlStr="Select title,content,sEnder from KS_Message where (Incept='"&KSUser.UserName&"' or sEnder='"&KSUser.UserName&"') and id="&Clng(KS.S("ID"))
  203. RS.Open SqlStr,Conn,1,1
  204. If RS.EOF And RS.BOF Then
  205. RS.Close:Set RS=Nothing
  206. Response.Write "请指定正确的参数。<br/>"
  207. Prev=True
  208. Exit Sub
  209. Else
  210. Title=RS("Title"):Content=RS("Content"):sEnder=RS("sEnder")
  211. End If
  212. RS.Close:Set RS=Nothing
  213. End If
  214. %>
  215. 转发信息<br/>
  216. 收件人<input name="ToUser<%=Minute(Now)%><%=Second(Now)%>" type="text" size="10" value="<%=ToUser%>"/>
  217. <select value="0">
  218. <option>选择好友...</option>
  219. <option onpick="User_Friend.asp?Action=addF&amp;<%=KS.WapValue%>">添加好友...</option>
  220. <%
  221. Set RS=server.createobject("adodb.recordSet")
  222. SqlStr="Select friend from KS_Friend where Username='"&KSUser.UserName&"' order by Addtime desc"
  223. RS.Open SqlStr,Conn,1,1
  224. Do While not RS.eof
  225. If ToUser="" Then
  226. Response.Write "<option onpick=""User_Message.asp?Action=fw&amp;ID="&KS.S("ID")&"&amp;ToUser="&RS(0)&"&amp;"&KS.WapValue&""">"&RS(0)&"</option>"
  227. Else
  228. Response.Write "<option onpick=""User_Message.asp?Action=fw&amp;ID="&KS.S("ID")&"&amp;ToUser="&ToUser&","&RS(0)&"&amp;"&KS.WapValue&""">"&RS(0)&"</option>"
  229. End If
  230. RS.Movenext
  231. Loop
  232. RS.Close:Set RS=Nothing
  233. %>
  234. </select><br/>
  235.  <input type="text" name="Title<%=Minute(Now)%><%=Second(Now)%>" maxlength="90" value="Fw:<%=Title%>"/><br/>
  236. <%
  237. Content="下面是转发信息<br/> 原发件人:"&sEnder&"<br/>"&Content&""
  238. %>
  239.  <input type="text" name="Message<%=Minute(Now)%><%=Second(Now)%>" maxlength="300" value="<%=Server.Htmlencode(Content)%>"/><br/>
  240. <anchor>发送<go href="User_Message.asp?Action=sEnd&amp;<%=KS.WapValue%>" method="post" accept-charset="utf-8">
  241. <postfield name="ToUser" value="$(ToUser<%=Minute(Now)%><%=Second(Now)%>)"/>
  242. <postfield name="Title" value="$(Title<%=Minute(Now)%><%=Second(Now)%>)"/>
  243. <postfield name="Message" value="$(Message<%=Minute(Now)%><%=Second(Now)%>)"/>
  244. <postfield name="Submit" value="发送"/>
  245. </go></anchor>
  246. <anchor>保存<go href="User_Message.asp?Action=sEnd&amp;<%=KS.WapValue%>" method="post" accept-charset="utf-8">
  247. <postfield name="ToUser" value="$(ToUser<%=Minute(Now)%><%=Second(Now)%>)"/>
  248. <postfield name="Title" value="$(Title<%=Minute(Now)%><%=Second(Now)%>)"/>
  249. <postfield name="Message" value="$(Message<%=Minute(Now)%><%=Second(Now)%>)"/>
  250. <postfield name="Submit" value="保存"/>
  251. </go></anchor>
  252. <br/><br/>
  253. 可以用英文状态下的逗号将用户名隔开实现群发最多<b><%=max_sEnd%></b>个用户<br/>
  254. 标题最多<b>50</b>个字符内容最多<b><%=max_sms%></b>个字符<br/>
  255. <%
  256. End Sub
  257. Sub savemsg()
  258. Dim Incept,title,message,Subtype,i,sUname
  259. If KS.S("ToUser")="" Then
  260. Response.Write "您忘记填写发送对象了吧。<br/>"
  261. Prev=True
  262. Exit Sub
  263. Else
  264. Incept=KS.S("ToUser")
  265. Incept=split(Incept,",")
  266. End If
  267. If KS.S("Title")="" Then
  268. Response.Write "您还没有填写标题呀。<br/>"
  269. Prev=True
  270. Exit Sub
  271. ElseIf KS.strLength(KS.S("Title"))>50 Then
  272. Response.Write "标题限定最多50个字符。<br/>"
  273. Prev=True
  274. Exit Sub
  275. Else
  276. Title=KS.S("Title")
  277. End If
  278. If KS.S("Message")="" Then
  279. Response.Write "内容是必须要填写的噢。<br/>"
  280. Prev=True
  281. Exit Sub
  282. ElseIf KS.strLength(KS.S("Message"))>Cint(max_sms) Then
  283. Response.Write "内容限定最多"&max_sms&"个字符。<br/>"
  284. Prev=True
  285. Exit Sub
  286. Else
  287. Message=KS.S("Message")
  288. End If
  289. For i=0 To Ubound(Incept)
  290. sUname=replace(Incept(i),"'","")
  291. SqlStr="Select UserName from KS_User where UserName='"&sUname&"'"
  292. Set rs=Conn.Execute(SqlStr)
  293. If RS.EOF And RS.BOF Then
  294. RS.Close:Set RS=Nothing
  295. Response.Write "系统没有这个用户,看看你的发送对象写对了嘛?<br/>"
  296. Prev=True
  297. Exit Sub
  298. End If
  299. RS.Close
  300. RS.Open "select username from ks_friend where username='" & sUname & "' and friend='" & ksuser.username & "' and flag=3",Conn,1,1
  301. If not rs.eof Then
  302. RS.close:Set RS=Nothing
  303. Response.Write "对不起,你被" & sUname & "列为黑名单,不能发送短信给他!<br/>"
  304. Prev=True
  305. Exit Sub
  306. End If
  307. RS.Close:Set RS=Nothing
  308. Select Case KS.S("Submit")
  309. Case "发送"
  310. SqlStr="insert into KS_Message (Incept,sEnder,title,content,SendTime,flag,IsSend,DelR,DelS) values ('"&sUname&"','"&KSUser.UserName&"','"&title&"','"&message&"','"&Now()&"',0,1,0,0)"
  311. Subtype="已发送信息"
  312. Case "保存"
  313. SqlStr="insert into KS_Message (Incept,sEnder,title,content,SendTime,flag,IsSend,DelR,DelS) values ('"&sUname&"','"&KSUser.UserName&"','"&title&"','"&message&"','"&Now()&"',0,0,0,0)"
  314. Subtype="发件箱"
  315. Case Else
  316. SqlStr="insert into KS_Message (Incept,sEnder,title,content,SendTime,flag,IsSend,DelR,DelS) values ('"&sUname&"','"&KSUser.UserName&"','"&title&"','"&message&"','"&Now()&"',0,1,0,0)"
  317. Subtype="已发送信息"
  318. End Select
  319. '判断对方信箱是否已满
  320. If Conn.Execute("select count(*) from KS_Message where Incept='"&sUname&"'")(0)>=Max_Num Then
  321. Response.Write "由于[" & sUname & "]的信箱已满,发送没有成功!<br/>"
  322. Else
  323. Conn.Execute(SqlStr)
  324. End If
  325. If i>Cint(max_sEnd)-1 Then
  326. Response.Write "最多只能发送给"&max_sEnd&"个用户,您的名单"&max_sEnd&"位以后的请重新发送!<br/>"
  327. Exit For
  328. End If
  329. Next
  330. 'Response.Write "恭喜您,发送短信息成功。发送的消息同时保存在您的"&Subtype&"中。<br/>"
  331. Response.redirect DomainStr&"User/User_Message.asp?" & KS.WapValue & ""
  332. End Sub
  333. '更改信息
  334. Sub Edit()
  335. dim Incept,Title,Content,ID
  336. If KS.S("ID")<>"" and isNumeric(KS.S("ID")) Then
  337. Set rs=server.createobject("adodb.recordSet")
  338. SqlStr="Select id,Incept,title,content from KS_Message where sEnder='"&KSUser.UserName&"' and IsSend=0 and id="&Clng(KS.S("ID"))
  339. RS.open SqlStr,Conn,1,1
  340. If not(RS.eof and RS.bof) Then
  341. Incept=rs("Incept"):title=rs("title"):content=rs("content"):id=rs("id")
  342. Else
  343. Response.Write "没有找到您要编辑的信息。<br/>"
  344. Prev=True
  345. Exit Sub
  346. End If
  347. RS.Close:Set RS=Nothing
  348. Else
  349. Response.Write "请指定相关参数。<br/>"
  350. Prev=True
  351. Exit Sub
  352. End If
  353. %>
  354. 更改信息<br/>
  355. 请完整输入下列信息<br/>
  356. 收件人<input name="ToUser<%=Minute(Now)%><%=Second(Now)%>" type="text" size="10" value="<%=Incept%>"/><br/>
  357.  <input type="text" name="Title<%=Minute(Now)%><%=Second(Now)%>" maxlength="90" value="<%=Title%>"/><br/>
  358.  <input type="text" name="Message<%=Minute(Now)%><%=Second(Now)%>" maxlength="300" value="<%=Server.Htmlencode(Content)%>"/><br/>
  359. <anchor>发送<go href="User_Message.asp?Action=SavEdit&amp;ID=<%=ID%>&amp;<%=KS.WapValue%>" method="post" accept-charset="utf-8">
  360. <postfield name="ToUser" value="$(ToUser<%=Minute(Now)%><%=Second(Now)%>)"/>
  361. <postfield name="title" value="$(title<%=Minute(Now)%><%=Second(Now)%>)"/>
  362. <postfield name="message" value="$(message<%=Minute(Now)%><%=Second(Now)%>)"/>
  363. <postfield name="Submit" value="发送"/>
  364. </go></anchor>
  365. <anchor>保存<go href="User_Message.asp?Action=SavEdit&amp;ID=<%=ID%>&amp;<%=KS.WapValue%>" method="post" accept-charset="utf-8">
  366. <postfield name="ToUser" value="$(ToUser<%=Minute(Now)%><%=Second(Now)%>)"/>
  367. <postfield name="Title" value="$(Title<%=Minute(Now)%><%=Second(Now)%>)"/>
  368. <postfield name="Message" value="$(Message<%=Minute(Now)%><%=Second(Now)%>)"/>
  369. <postfield name="Submit" value="保存"/>
  370. </go></anchor>
  371. <br/><br/>
  372. 标题最多<b>50</b>个字符内容最多<b><%=max_sms%></b>个字符<br/>
  373. <%
  374. End Sub
  375. Sub SavEdit()
  376. Dim Incept,title,message,Subtype
  377. If KS.S("ID")="" or not isNumeric(KS.S("ID")) Then
  378. Response.Write "请指定相关参数。<br/>"
  379. Prev=True
  380. Exit Sub
  381. End If
  382. If KS.S("ToUser")="" Then
  383. Response.Write "您忘记填写发送对象了吧。<br/>"
  384. Prev=True
  385. Exit Sub
  386. Else
  387. Incept=KS.S("ToUser")
  388. End If
  389. If KS.S("Title")="" Then
  390. Response.Write "您还没有填写标题呀!<br/>"
  391. Prev=True
  392. Exit Sub
  393. Else
  394. Title=KS.S("Title")
  395. End If
  396. If KS.S("Message")="" Then
  397. Response.Write "内容是必须要填写的噢!<br/>"
  398. Prev=True
  399. Exit Sub
  400. Else
  401. Message=KS.S("Message")
  402. End If
  403. SqlStr="Select UserName from KS_User where UserName='"&Incept&"'"
  404. Set RS=Conn.Execute(SqlStr)
  405. If RS.EOF And RS.BOF Then
  406. Set RS=Nothing
  407. Response.Write "系统没有这个用户,看看你的发送对象写对了嘛?<br/>"
  408. Prev=True
  409. Exit Sub
  410. End If
  411. Set RS=Nothing
  412. If KS.S("Submit")="发送" Then
  413. SqlStr="Update KS_Message Set Incept='"&Incept&"',sEnder='"&KSUser.UserName&"',title='"&Title&"',content='"&Message&"',SendTime="&SqlNowString&",flag=0,IsSend=1 where id="&Clng(KS.S("ID"))
  414. Subtype="已发送信息"
  415. Else
  416. SqlStr="Update KS_Message Set Incept='"&Incept&"',sEnder='"&KSUser.UserName&"',title='"&Title&"',content='"&Message&"',SendTime="&SqlNowString&",flag=0,IsSend=0 where id="&Clng(KS.S("ID"))
  417. Subtype="发件箱"
  418. End If
  419. Set RS=Conn.Execute(SqlStr)
  420. Response.Write "恭喜您,发送短信息成功。发送的消息同时保存在您的"&Subtype&"中。<br/>"
  421. End Sub
  422. '收件置于回收站,参数字段delR,可用于批量及单个删除
  423. Sub Delinbox()
  424. Dim DelID
  425. DelID=KS.S("ID")
  426. DelID=KS.FilterIDs(DelID)
  427. If DelID="" or isnull(DelID) or Not IsNumeric(Replace(Replace(DelID,",","")," ","")) Then
  428. Response.Write "请选择相关参数!<br/>"
  429. Prev=True
  430. Exit Sub
  431. Else
  432. Conn.Execute("Update KS_Message Set delR=1 where Incept='"&KSUser.UserName&"' and id in ("&DelID&")")
  433. Response.Write "短信息成功转移到您的回收站!<br/>"
  434. End If
  435. End Sub
  436. Sub AllDelinbox()
  437. Conn.Execute("Update KS_Message Set delR=1 where Incept='"&KSUser.UserName&"' And delR=0")
  438. Response.Write "短信息成功转移到您的回收站!<br/>"
  439. End Sub
  440. '发件逻辑删除,置于回收站,入口字段delS,可用于批量及单个删除
  441. Sub Deloutbox()
  442. Dim DelID
  443. DelID=KS.S("ID")
  444. DelID=KS.FilterIDs(DelID)
  445. If DelID="" or isnull(DelID) or Not IsNumeric(Replace(Replace(DelID,",","")," ","")) Then
  446. Response.Write "请选择相关参数!<br/>"
  447. Prev=True
  448. Exit Sub
  449. Else
  450. Conn.Execute("Update KS_Message Set delS=1 where Sender='"&KSUser.UserName&"' And IsSend=0 And id in ("&DelID&")")
  451. Response.Write "短信息成功转移到您的回收站!<br/>"
  452. End If
  453. End Sub
  454. Sub AllDeloutbox()
  455. Conn.Execute("Update KS_Message Set delS=1 where Sender='"&KSUser.UserName&"' And delS=0 And IsSend=0")
  456. Response.Write "短信息成功转移到您的回收站!<br/>"
  457. End Sub
  458. '已发送置于回收站,入口字段delS,可用于批量及单个删除
  459. 'delS:0未操作,1发送者删除,2发送者从回收站删除
  460. Sub DelIsSend()
  461. Dim DelID
  462. DelID=KS.S("ID")
  463. DelID=KS.FilterIDs(DelID)
  464. If DelID="" or isnull(DelID) or Not IsNumeric(replace(Replace(DelID,",","")," ","")) Then
  465. Response.Write "请选择相关参数!<br/>"
  466. Prev=True
  467. Exit Sub
  468. Else
  469. Conn.Execute("Update KS_Message Set delS=1 where Sender='"&KSUser.UserName&"' And IsSend=1 And id in ("&DelID&")")
  470. Response.Write "短信息成功转移到您的回收站!<br/>"
  471. End If
  472. End Sub
  473. Sub AllDelIsSend()
  474. Conn.Execute("Update KS_Message Set delS=1 where Sender='"&KSUser.UserName&"' And delS=0 And IsSend=1")
  475. Response.Write "短信息成功转移到您的回收站!<br/>"
  476. End Sub
  477. '用户能完全删除收到信息和逻辑删除所发送信息,逻辑删除所发送信息设置入口字段delS参数为2
  478. Sub Delrecycle()
  479. Dim DelID
  480. DelID=KS.S("ID")
  481. If KS.S("Checked")="ok" Then
  482. DelID=KS.FilterIDs(DelID)
  483. If DelID="" or isnull(DelID) or Not IsNumeric(Replace(Replace(DelID,",","")," ","")) Then
  484. Response.Write "请选择相关参数!<br/>"
  485. Prev=True
  486. Exit Sub
  487. Else
  488. Conn.Execute("delete from KS_Message where Incept='"&KSUser.UserName&"' And id in ("&DelID&")")
  489. Conn.Execute("Update KS_Message Set delS=2 where Sender='"&KSUser.UserName&"' And delS=1 And id in ("&DelID&")")
  490. Response.Write "删除短信息成功。<br/>"
  491. End If
  492. Else
  493. Response.Write "删除的消息将不可恢复。确定要删除短信息吗?"
  494. Response.Write "<a href=""User_Message.asp?Action=Delrecycle&amp;ID="&DelID&"&amp;Checked=ok&amp;"&KS.WapValue&""">确定</a> "
  495. Response.Write "<a href=""User_Message.asp?"&KS.WapValue&""">取消</a><br/>"
  496. End If
  497. End Sub
  498. Sub AllDelrecycle()
  499. If KS.S("Checked")="ok" Then
  500. Conn.Execute("delete from KS_Message where Incept='"&KSUser.UserName&"' And delR=1")
  501. Conn.Execute("Update KS_Message Set delS=2 where Sender='"&KSUser.UserName&"' And delS=1")
  502. Response.Write "删除短信息成功。<br/>"
  503. Else
  504. Response.Write "删除的消息将不可恢复。确定要删除短信息吗?"
  505. Response.Write "<a href=""User_Message.asp?Action=AllDelrecycle&amp;Checked=ok&amp;"&KS.WapValue&""">确定</a> "
  506. Response.Write "<a href=""User_Message.asp?"&KS.WapValue&""">取消</a><br/>"
  507. End if
  508. End Sub
  509. Sub delete()
  510. Dim DelID
  511. DelID=KS.S("id")
  512. If not isNumeric(DelID) or DelID="" or isnull(DelID) Then
  513. Response.Write "请选择相关参数!<br/>"
  514. Prev=True
  515. Exit Sub
  516. Else
  517. Conn.Execute("Update KS_Message Set delR=1 where Incept='"&KSUser.UserName&"' And id="&Clng(DelID))
  518. Conn.Execute("Update KS_Message Set delS=1 where sEnder='"&KSUser.UserName&"' And id="&Clng(DelID))
  519. Response.Write "删除短信息成功。删除的消息将置于您的回收站内。<br/>"
  520. End If
  521. End Sub
  522. Sub MessageMain()
  523. Dim SqlStr,boxName,smstype,readaction,turl,DelID
  524. Dim keyword,param
  525. keyword=KS.S("KeyWord")
  526. If keyword<>"" Then
  527. If KS.S("searcharea")=1 Then
  528. param=" and title like '%" & keyword & "%'"
  529. Else
  530. param=" and content like '%" & keyword & "%'"
  531. End If
  532. End If
  533. Dim CurrentPage,MaxPerPage,TotalPut
  534. If KS.S("page") <> "" Then
  535. CurrentPage = KS.ChkClng(KS.S("page"))
  536. Else
  537. CurrentPage = 1
  538. End If
  539. Select Case Action
  540. Case "inbox"
  541. BoxName="收件箱":smstype="inbox":readaction="read":turl="readsms"
  542. SqlStr="select * from KS_Message where Incept='"&KSUser.UserName&"'" & param & " and IsSend=1 and delR=0 order by flag,SendTime desc"
  543. Case "outbox"
  544. BoxName="草稿箱":smstype="outbox":readaction="edit":turl="sms"
  545. SqlStr="select * from KS_Message where Sender='"&KSUser.UserName&"'" & param & " and IsSend=0 and delS=0 order by SendTime desc"
  546. Case "issend"
  547. BoxName="已发送":smstype="IsSend":readaction="outread":turl="readsms"
  548. SqlStr="select * from KS_Message where Sender='"&KSUser.UserName&"'" & param & " and IsSend=1 and delS=0 order by SendTime desc"
  549. Case "recycle"
  550. BoxName="垃圾箱":smstype="recycle":readaction="read":turl="readsms"
  551. SqlStr="select * from KS_Message where ((Sender='"&KSUser.UserName&"'" & param & " and delS=1) or (Incept='"&KSUser.UserName&"' and delR=1)) and not delS=2 order by SendTime desc"
  552. Case Else
  553. BoxName="收件箱":smstype="inbox":readaction="read":turl="readsms"
  554. SqlStr="select * from KS_Message where Incept='"&KSUser.UserName&"'" & param & " and IsSend=1 and delR=0 order by flag,SendTime desc"
  555. End Select
  556. Response.Write "【我的" & Boxname & "】<br/>"
  557. Dim RS:Set RS=server.createobject("adodb.recordset")
  558. RS.Open SqlStr,Conn,1,1
  559. If RS.EOF And RS.BOF Then
  560. Response.Write "您的" & Boxname & "中没有任何内容。<br/>"
  561. Else
  562. MaxPerPage =15
  563. TotalPut = RS.RecordCount
  564. If CurrentPage < 1 Then CurrentPage = 1
  565. If (CurrentPage - 1) * MaxPerPage > totalPut Then
  566. If (totalPut Mod MaxPerPage) = 0 Then
  567. CurrentPage = totalPut \ MaxPerPage
  568. Else
  569. CurrentPage = totalPut \ MaxPerPage + 1
  570. End If
  571. End If
  572. If CurrentPage >1 and (CurrentPage - 1) * MaxPerPage < totalPut Then
  573. RS.Move (CurrentPage - 1) * MaxPerPage
  574. Else
  575. CurrentPage = 1
  576. End If
  577. Do While not RS.EOF
  578. Select Case smstype
  579. Case "inbox"
  580. If RS("flag")=0 Then
  581. Response.Write "<img src=""Images/news.gif"" alt="".""/>"
  582. Else
  583. Response.Write "<img src=""Images/olds.gif"" alt="".""/>"
  584. End If
  585. Case "outbox"
  586. Response.Write "<img src=""Images/IsSend_2.gif"" alt="".""/>"
  587. Case "IsSend"
  588. Response.Write "<img src=""Images/IsSend_1.gif"" alt="".""/>"
  589. Case "recycle"
  590. If RS("flag")=0 Then
  591. Response.Write "<img src=""Images/news.gif"" alt="".""/>"
  592. Else
  593. Response.Write "<img src=""Images/olds.gif"" alt="".""/>"
  594. End If
  595. End Select
  596. Response.Write "<a href=""User_Message.asp?Action="&ReadAction&"&amp;ID="&RS("ID")&"&amp;sender="&RS("sender")&"&amp;"&KS.WapValue&""">"&KS.HTMLEncode(RS("Title"))&KS.DateFormat(RS("SendTime"),37)&"</a>"
  597. Response.Write "<br/>"
  598. DelID=DelID&RS("ID")&","
  599. RS.Movenext
  600. I = I + 1
  601. If I >= MaxPerPage Then Exit Do
  602. Loop
  603. Call KS.ShowPageParamter(TotalPut, MaxPerPage, "User_Message.asp", False, "个消息", CurrentPage, "Action="&Action&"&amp;" & KS.WapValue & "")
  604. End If
  605. RS.Close:set RS=Nothing
  606. %>
  607. <br/>
  608. <%
  609. Response.Write ShowTable(Conn.Execute("select Count(*) from KS_Message where Incept='"&KSUser.UserName&"'")(0),Max_Num)
  610. %>
  611. <a href="User_Message.asp?Action=Del<%=smstype%>&amp;ID=<%=DelID%>&amp;<%=KS.WapValue%>">删除本页纪录</a><br/>
  612. <a href="User_Message.asp?Action=AllDel<%=smstype%>&amp;<%=KS.WapValue%>">清空所有纪录</a><br/>
  613. 搜索: <select name="Action">
  614. <option value="inbox">收件箱</option>
  615. <option value="outbox">发件箱</option>
  616. <option value="issend">已发送</option>
  617. <option value="recycle">废件箱</option>
  618. </select>
  619. <select name="searcharea">
  620. <option value="1">短消息主题</option>
  621. <option value="2">短消息内容</option>
  622. </select>
  623. <input type="text" name="keyword" value="关键字"/>
  624. <anchor>搜索<go href="User_Message.asp?<%=KS.WapValue%>" method="post">
  625. <postfield name="action" value="$(action)"/>
  626. <postfield name="searcharea" value="$(searcharea)"/>
  627. <postfield name="keyword" value="$(keyword)"/>
  628. </go></anchor><br/>
  629. <%
  630. End Sub
  631. '更新数,总数
  632. Function ShowTable(str,c)
  633. Dim Tempstr,TempPercent
  634. If C = 0 Then C = 99999999
  635. Tempstr = str/C
  636. TempPercent = FormatPercent(Tempstr,0,-1)
  637. ShowTable = "消息容量:"&C&"/"&str&""
  638. If FormatNumber(Tempstr*100,0,-1) < 80 Then
  639. ShowTable = ShowTable &"已使用:" & TempPercent & ",请及时删除无用信息!<br/>"
  640. Else
  641. ShowTable = ShowTable &"<b>已使用:" & TempPercent & ",请赶快清理!</b><br/>"
  642. End If
  643. End Function
  644. End Class
  645. %>