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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations)
Fri Apr 18 05:11:52 2025 UTC (10 months, 4 weeks ago) by sysadm
Branch: MAIN
Changes since 1.1: +7 -0 lines
Refine

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

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