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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (hide annotations)
Fri Oct 31 06:22:33 2025 UTC (4 months, 2 weeks ago) by sysadm
Branch: MAIN
Changes since 1.6: +1 -1 lines
Adopt new LML() with html_trans and new str_length() with skip_ctrl_seq

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

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