/[LeafOK_CVS]/fenglin/bbs/themes/default/read_msg.view.php
ViewVC logotype

Annotation of /fenglin/bbs/themes/default/read_msg.view.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Fri Apr 18 04:25:59 2025 UTC (10 months, 4 weeks ago) by sysadm
Branch: MAIN
Refact bbs_msg feature

1 sysadm 1.1 <html>
2     <head>
3     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4     <title>查看消息——<? echo ($result_set["data"]["sent"] ? "发件箱" : "收件箱"); ?></title>
5     <link rel="stylesheet" href="css/default.css" type="text/css">
6     <script type="text/javascript" src="../js/nw_open.js"></script>
7     <script src="../js/polyfill.min.js"></script>
8     <script src="../js/axios.min.js"></script>
9     <script type="text/javascript">
10     function ch_page(page)
11     {
12     rpp = document.getElementById("rpp").value;
13     document.location = "read_msg.php?sent=<? echo ($result_set["data"]["sent"] ? "1" : "0"); ?>&page=" + page + "&rpp=" + rpp + "&ts=" + Date.now();
14     return false;
15     }
16    
17     function ch_rpp()
18     {
19     page = document.getElementById("page").value;
20     rpp = document.getElementById("rpp").value;
21     page = Math.floor((page - 1) * <? echo $result_set["data"]["rpp"]; ?> / rpp) + 1;
22     document.location = "read_msg.php?sent=<? echo ($result_set["data"]["sent"] ? "1" : "0"); ?>&page=" + page + "&rpp=" + rpp + "&ts=" + Date.now();
23     return false;
24     }
25    
26     function refresh_page()
27     {
28     page = document.getElementById("page").value;
29     rpp = document.getElementById("rpp").value;
30     document.location = "read_msg.php?sent=<? echo ($result_set["data"]["sent"] ? "1" : "0"); ?>&page=" + page + "&rpp=" + rpp + "&ts=" + Date.now();
31     return false;
32     }
33    
34     function set_checkboxes(do_check)
35     {
36     document.getElementsByName("delete_msg_id").forEach(element => {
37     element.checked = do_check;
38     });
39     return true;
40     }
41    
42     function show_send_msg(uid, nickname)
43     {
44     document.getElementById("uid").value = uid;
45     document.getElementById("nickname").value = nickname;
46     document.getElementById("content").value = "";
47     document.getElementById("tr_send_msg").style.visibility = "visible";
48    
49     return false;
50     }
51    
52     function hide_send_msg()
53     {
54     document.getElementById("uid").value = 0;
55     document.getElementById("nickname").value = "";
56     document.getElementById("content").value = "";
57     document.getElementById("tr_send_msg").style.visibility = "collapse";
58    
59     return false;
60     }
61    
62     function refresh_err_msg(errorFieldMap)
63     {
64     document.getElementsByName("err_msg").forEach(element => {
65     element.innerHTML = (errorFieldMap.has(element.id) ? errorFieldMap.get(element.id) : "");
66     });
67     }
68    
69     function send_msg()
70     {
71     instance.post('send_msg_sub.php', {
72     uid: document.getElementById("uid").value,
73     content: document.getElementById("content").value,
74     })
75     .then(function (response) {
76     var ret = response.data;
77     var errorFieldMap = new Map();
78     switch (ret.return.code)
79     {
80     case 0: // OK
81     errorFieldMap.set("err_msg_delete", "发送成功");
82     refresh_err_msg(errorFieldMap);
83     hide_send_msg();
84     break;
85     case -1: // Input validation failed
86     errorFieldMap.set("err_msg_send", ret.return.message + "<br />");
87     refresh_err_msg(errorFieldMap);
88     break;
89     case -2: // Internal error
90     console.log(ret.return.message);
91     errorFieldMap.set("err_msg_send", "内部错误<br />");
92     refresh_err_msg(errorFieldMap);
93     break;
94     default:
95     console.log(ret.return.code);
96     break;
97     }
98     })
99     .catch(function (error) {
100     console.log(error);
101     });
102    
103     return false;
104     }
105    
106     function delete_msg()
107     {
108     let delete_msg_id = [];
109     document.getElementsByName("delete_msg_id").forEach(element => {
110     if (element.checked)
111     {
112     delete_msg_id.push(element.value);
113     }
114     });
115    
116     instance.post('delete_msg.php', {
117     sent: <? echo ($result_set["data"]["sent"] ? "1" : "0"); ?>,
118     delete_msg_id: delete_msg_id,
119     })
120     .then(function (response) {
121     var ret = response.data;
122     var errorFieldMap = new Map();
123     switch (ret.return.code)
124     {
125     case 0: // OK
126     refresh_err_msg(errorFieldMap);
127     refresh_page();
128     break;
129     case -1: // Input validation failed
130     errorFieldMap.set("err_msg_delete", ret.return.message);
131     refresh_err_msg(errorFieldMap);
132     break;
133     case -2: // Internal error
134     console.log(ret.return.message);
135     errorFieldMap.set("err_msg_delete", "内部错误");
136     refresh_err_msg(errorFieldMap);
137     break;
138     default:
139     console.log(ret.return.code);
140     break;
141     }
142     })
143     .catch(function (error) {
144     console.log(error);
145     });
146    
147     return false;
148     }
149    
150     const instance = axios.create({
151     withCredentials: true,
152     timeout: 3000,
153     baseURL: document.location.protocol + '//' + document.location.hostname + (document.location.port=='' ? '' : (':' + document.location.port)) + '/bbs/',
154     });
155    
156     </script>
157     </head>
158     <body>
159     <center>
160     <table cols="2" border="0" cellpadding="5" cellspacing="0" width="1050">
161     <tr id="tr_send_msg" style="visibility: <? echo ($result_set["data"]["uid"] > 0 ? "visible" : "collapse"); ?>">
162     <td width="70%">
163     <input type="hidden" id="uid" name="uid" value="<? echo $result_set["data"]["uid"]; ?>">
164     <p>
165     <span id="err_msg_send" name="err_msg" style="color: red"></span>
166     发送给:<input id="nickname" name="nickname" value="<? echo $result_set["data"]["nickname"]; ?>" readonly><br />
167     内容:<br />
168     <textarea id="content" name="content" rows="10" cols="90"></textarea><br />
169     不能超过10行,每行256字符以内
170     </p>
171     <p align="center">
172     <a class="s2" href="#" onclick="return send_msg();">发送</a>&nbsp;&nbsp;
173     <a class="s2" href="#" onclick="return hide_send_msg();">取消</a>
174     </p>
175     </td>
176     <td width="30%">
177     </td>
178     </tr>
179     <tr bgcolor="#ffdead" height="25">
180     <td>
181     <?
182     if (!$result_set["data"]["sent"])
183     {
184     ?>
185     <a class="s2" href="read_msg.php?sent=1">切换至发件箱</a>&nbsp;
186     <?
187     if ($result_set["data"]["unread_msg_count"] > 0)
188     {
189     ?>您有<span style="color:red;"><? echo $result_set["data"]["unread_msg_count"]; ?></span>条未读消息<?
190     }
191     }
192     else
193     {
194     ?>
195     <a class="s2" href="read_msg.php?sent=0">切换至收件箱</a>&nbsp;
196     <?
197     }
198     ?>
199     &nbsp;&nbsp;&nbsp;<span id="err_msg_delete" name="err_msg" style="color: red"></span>
200     </td>
201     <td align="right">
202     共<? echo ($result_set["data"]["sent"] ? "发送" : "有"); ?><span style="color:red;"><? echo $result_set["data"]["msg_count"]; ?></span>条消息
203     </td>
204     </tr>
205     <?
206     $color[0]="#faf5f5";
207     $color[1]="#f0f0f0";
208     $count=0;
209    
210     foreach ($result_set["data"]["messages"] as $message)
211     {
212     ?>
213     <tr bgcolor="<? echo $color[1]; ?>">
214     <td>
215     <? echo ($result_set["data"]["sent"] ? "收件人" : "发送人"); ?>:<a class="s2" href="show_profile.php?uid=<? echo $message["uid"]; ?>" target=_blank title="查看用户资料"><? echo $message["nickname"]; ?></a>
216     &nbsp;&nbsp;发送时间:<? echo $message["send_dt"]->format("Y-m-d H:i:s"); ?>
217     <?
218     if ($message["new"])
219     {
220     ?>
221     <img src="images/new.gif">
222     <?
223     }
224     if ($message["uid"] != $BBS_sys_uid)
225     {
226     ?>
227     &nbsp;
228     <a class="s2" href="" onclick="return show_send_msg(<? echo $message["uid"]; ?>, '<? echo $message["nickname"]; ?>');">
229     <? echo ($result_set["data"]["sent"] ? "发送消息" : "回复消息"); ?>
230     </a>
231     <?
232     }
233     ?>
234     </td>
235     <td align="right">
236     <input type="checkbox" id="delete_msg_<? echo $message["mid"]; ?>" name="delete_msg_id" value="<? echo $message["mid"]; ?>">选中
237     </td>
238     </tr>
239     <tr bgcolor="<? echo $color[0]; ?>">
240     <td colspan="2">
241     <? echo LML(htmlspecialchars($message["content"], ENT_HTML401, 'UTF-8'), true, true, 100); ?>
242     </td>
243     </tr>
244     <?
245     }
246     ?>
247     <tr bgcolor="#ffdead" height="5">
248     <td colspan="2">
249     </td>
250     </tr>
251     <tr>
252     <td style="color: #909090">
253     每页<select size="1" id="rpp" name="rpp" onchange="ch_rpp();">
254     <?
255     foreach ($BBS_msg_rpp_options as $v)
256     {
257     echo ("<option value=\"$v\"" . ($v == $result_set["data"]["rpp"] ? " selected" : "") . ">$v</option>");
258     }
259     ?>
260     </select>条
261     <?
262     if ($result_set["data"]["page"] > 1)
263     {
264     ?>
265     <a class="s8" title="首页" href="" onclick="return ch_page(1);">|◀</a>
266     <a class="s8" title="上一页" href="" onclick='return ch_page(<? echo ($result_set["data"]["page"] - 1); ?>);'>◀</a>
267     <?
268     }
269     else
270     {
271     ?>
272     |◀ ◀
273     <?
274     }
275     ?>
276     第<input id="page" name="page" value="<? echo ($result_set["data"]["page"]) ; ?>" style="width: 30px;">/<? echo $result_set["data"]["page_total"]; ?>页
277     <?
278     if ($result_set["data"]["page"] < $result_set["data"]["page_total"])
279     {
280     ?>
281     <a class="s8" title="下一页" href="" onclick="return ch_page(<? echo ($result_set["data"]["page"] + 1); ?>);">▶</a>
282     <a class="s8" title="尾页" href="" onclick="return ch_page(<? echo ($result_set["data"]["page_total"]); ?>);">▶|</a>
283     <?
284     }
285     else
286     {
287     ?>
288     ▶ ▶|
289     <?
290     }
291     ?>
292     </td>
293     <td align="right">
294     <a class="s2" onclick="delete_msg();" href="#">删除</a>
295     <input type="checkbox" name="check_all" id="check_all" onclick="set_checkboxes(this.checked);">全选
296     </td>
297     </tr>
298     </table>
299     </center>
300     </body>
301     </html>

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1