/[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.5 - (hide annotations)
Wed Apr 23 05:13:57 2025 UTC (10 months, 3 weeks ago) by sysadm
Branch: MAIN
Changes since 1.4: +37 -37 lines
Refine deprecated PHP short tags

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

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