/[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.1 - (show annotations)
Fri Apr 18 04:25:59 2025 UTC (10 months, 4 weeks ago) by sysadm
Branch: MAIN
Refact bbs_msg feature

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

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