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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (show annotations)
Sat Nov 1 07:53:40 2025 UTC (4 months, 2 weeks ago) by sysadm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.7: +1 -1 lines
Remove $lml_tag param from LML()

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 instance.post('msg_service_send.php', {
78 uid: document.getElementById("uid").value,
79 content: document.getElementById("content").value,
80 }, {
81 headers: {
82 'Content-Type': 'multipart/form-data',
83 }
84 })
85 .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 <?= ($result_set["data"]["sent"] ? "收件人" : "发送人"); ?>:<a class="s2" href="view_user.php?uid=<?= $message["uid"]; ?>" target=_blank title="查看用户资料"><?= $message["nickname"]; ?></a>
226 &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 <pre><?= LML($message["content"], 100); ?></pre>
252 </td>
253 </tr>
254 <?php
255 }
256 ?>
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