/[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.2 - (hide annotations)
Wed Apr 23 07:17:01 2025 UTC (10 months, 3 weeks ago) by sysadm
Branch: MAIN
Changes since 1.1: +1 -1 lines
Rename send_msg_sub.php to msg_service_send.php

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     })
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     instance.post('msg_service_del.php', {
123     sent: <?= ($result_set["data"]["sent"] ? "1" : "0"); ?>,
124     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     <tr id="tr_send_msg" style="visibility: <?= ($result_set["data"]["uid"] > 0 ? "visible" : "collapse"); ?>">
168     <td width="70%">
169     <input type="hidden" id="uid" name="uid" value="<?= $result_set["data"]["uid"]; ?>">
170     <p>
171     <span id="err_msg_send" name="err_msg" style="color: red"></span>
172     发送给:<input id="nickname" name="nickname" value="<?= $result_set["data"]["nickname"]; ?>" readonly><br />
173     内容:<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     <?php
188     if (!$result_set["data"]["sent"])
189     {
190     ?>
191     <a class="s2" href="msg_read.php?sent=1">切换至发件箱</a>&nbsp;
192     <?php
193     if ($result_set["data"]["unread_msg_count"] > 0)
194     {
195     ?>您有<span style="color:red;"><?= $result_set["data"]["unread_msg_count"]; ?></span>条未读消息<?php
196     }
197     }
198     else
199     {
200     ?>
201     <a class="s2" href="msg_read.php?sent=0">切换至收件箱</a>&nbsp;
202     <?php
203     }
204     ?>
205     &nbsp;&nbsp;&nbsp;<span id="err_msg_delete" name="err_msg" style="color: red"></span>
206     </td>
207     <td align="right">
208     共<?= ($result_set["data"]["sent"] ? "发送" : "有"); ?><span style="color:red;"><?= $result_set["data"]["msg_count"]; ?></span>条消息
209     </td>
210     </tr>
211     <?php
212     $color[0]="#faf5f5";
213     $color[1]="#f0f0f0";
214     $count=0;
215    
216     foreach ($result_set["data"]["messages"] as $message)
217     {
218     ?>
219     <tr bgcolor="<?= $color[1]; ?>">
220     <td>
221     <?= ($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     if ($message["new"])
225     {
226     ?>
227     <img src="images/new.gif">
228     <?php
229     }
230     if ($message["uid"] != $BBS_sys_uid)
231     {
232     ?>
233     &nbsp;
234     <a class="s2" href="" onclick="return show_send_msg(<?= $message["uid"]; ?>, '<?= $message["nickname"]; ?>');">
235     <?= ($result_set["data"]["sent"] ? "发送消息" : "回复消息"); ?>
236     </a>
237     <?php
238     }
239     ?>
240     </td>
241     <td align="right">
242     <input type="checkbox" id="delete_msg_<?= $message["mid"]; ?>" name="delete_msg_id" value="<?= $message["mid"]; ?>">选中
243     </td>
244     </tr>
245     <tr bgcolor="<?= $color[0]; ?>">
246     <td colspan="2">
247     <?= LML(htmlspecialchars($message["content"], ENT_HTML401, 'UTF-8'), true, true, 100); ?>
248     </td>
249     </tr>
250     <?php
251     }
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     <?php
261     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     <?php
268     if ($result_set["data"]["page"] > 1)
269     {
270     ?>
271     <a class="s8" title="首页" href="" onclick="return ch_page(1);">|◀</a>
272     <a class="s8" title="上一页" href="" onclick='return ch_page(<?= ($result_set["data"]["page"] - 1); ?>);'>◀</a>
273     <?php
274     }
275     else
276     {
277     ?>
278     |◀ ◀
279     <?php
280     }
281     ?>
282     第<input id="page" name="page" value="<?= ($result_set["data"]["page"]) ; ?>" style="width: 30px;">/<?= $result_set["data"]["page_total"]; ?>页
283     <?php
284     if ($result_set["data"]["page"] < $result_set["data"]["page_total"])
285     {
286     ?>
287     <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     }
291     else
292     {
293     ?>
294     ▶ ▶|
295     <?php
296     }
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