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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.18 - (show annotations)
Wed Apr 23 10:47:25 2025 UTC (10 months, 3 weeks ago) by sysadm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.17: +0 -0 lines
FILE REMOVED
Rename show_profile to view_user

1 <?php
2 // Prevent load standalone
3 if (!isset($result_set))
4 {
5 exit();
6 }
7
8 require_once "../lib/astro.inc.php";
9 ?>
10 <html>
11 <head>
12 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
13 <title>查看用户资料</title>
14 <link rel="stylesheet" href="<?= get_theme_file('css/default'); ?>" type="text/css">
15 <script type="text/javascript" src="../js/img_adjust.js"></script>
16 <script src="../js/polyfill.min.js"></script>
17 <script src="../js/axios.min.js"></script>
18 <script type="text/javascript">
19 function refresh_err_msg(errorFieldMap)
20 {
21 document.getElementsByName("err_msg").forEach(element => {
22 element.innerHTML = (errorFieldMap.has(element.id) ? errorFieldMap.get(element.id) : "");
23 });
24 }
25
26 function transfer_score(f)
27 {
28 if (window.confirm('真的要转让吗?') == false)
29 {
30 return false;
31 }
32
33 instance.post('transfer_score_sub.php', {
34 uid: <?= $result_set["data"]["uid"]; ?>,
35 amount: f.amount.value,
36 })
37 .then(function (response) {
38 var ret = response.data;
39 var errorFieldMap = new Map();
40 switch (ret.return.code)
41 {
42 case 0: // OK
43 errorFieldMap.set("err_msg_transfer", "积分转让成功<br />");
44 refresh_err_msg(errorFieldMap);
45 break;
46 case -1: // Input validation failed
47 ret.return.errorFields.forEach(field => {
48 errorFieldMap.set("err_msg_" + field.id, field.errMsg + "<br />");
49 });
50 refresh_err_msg(errorFieldMap);
51 break;
52 case -2: // Internal error
53 console.log(ret.return.message);
54 errorFieldMap.set("err_msg_transfer", "内部错误<br />");
55 refresh_err_msg(errorFieldMap);
56 break;
57 default:
58 console.log(ret.return.code);
59 break;
60 }
61 })
62 .catch(function (error) {
63 console.log(error);
64 });
65
66 return false;
67 }
68
69 function set_life(f)
70 {
71 instance.post('user_service_life.php', {
72 uid: <?= $result_set["data"]["uid"]; ?>,
73 life: f.life.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 refresh_err_msg(errorFieldMap);
82 document.location = "show_profile.php?uid=<?= $result_set["data"]["uid"]; ?>&ts=" + Date.now();
83 break;
84 case -1: // Input validation failed
85 errorFieldMap.set("err_msg_life", ret.return.message + "<br />");
86 refresh_err_msg(errorFieldMap);
87 break;
88 case -2: // Internal error
89 console.log(ret.return.message);
90 errorFieldMap.set("err_msg_life", "内部错误<br />");
91 refresh_err_msg(errorFieldMap);
92 break;
93 default:
94 console.log(ret.return.code);
95 break;
96 }
97 })
98 .catch(function (error) {
99 console.log(error);
100 });
101
102 return false;
103 }
104
105 function ban_user(f)
106 {
107 instance.post('user_service_ban.php', {
108 uid: <?= $result_set["data"]["uid"]; ?>,
109 ban: f.ban.value,
110 sid: f.sid.value,
111 day: f.day.value,
112 reason: f.reason.value,
113 })
114 .then(function (response) {
115 var ret = response.data;
116 var errorFieldMap = new Map();
117 switch (ret.return.code)
118 {
119 case 0: // OK
120 errorFieldMap.set("err_msg_ban", "操作成功<br />");
121 refresh_err_msg(errorFieldMap);
122 break;
123 case -1: // Input validation failed
124 errorFieldMap.set("err_msg_ban", ret.return.message + "<br />");
125 refresh_err_msg(errorFieldMap);
126 break;
127 case -2: // Internal error
128 console.log(ret.return.message);
129 errorFieldMap.set("err_msg_ban", "内部错误<br />");
130 refresh_err_msg(errorFieldMap);
131 break;
132 default:
133 console.log(ret.return.code);
134 break;
135 }
136 })
137 .catch(function (error) {
138 console.log(error);
139 });
140
141 return false;
142 }
143
144 function set_friend(set)
145 {
146 instance.post('user_service_friend.php', {
147 uid: <?= $result_set["data"]["uid"]; ?>,
148 set: set,
149 })
150 .then(function (response) {
151 var ret = response.data;
152 var errorFieldMap = new Map();
153 switch (ret.return.code)
154 {
155 case 0: // OK
156 case 1: // Already set
157 refresh_err_msg(errorFieldMap);
158 document.location = "show_profile.php?uid=<?= $result_set["data"]["uid"]; ?>&ts=" + Date.now();
159 break;
160 case -1: // Input validation failed
161 errorFieldMap.set("err_msg_friend", ret.return.message);
162 refresh_err_msg(errorFieldMap);
163 break;
164 case -2: // Internal error
165 console.log(ret.return.message);
166 errorFieldMap.set("err_msg_friend", "内部错误");
167 refresh_err_msg(errorFieldMap);
168 break;
169 default:
170 console.log(ret.return.code);
171 break;
172 }
173 })
174 .catch(function (error) {
175 console.log(error);
176 });
177
178 return false;
179 }
180
181 const instance = axios.create({
182 withCredentials: true,
183 timeout: 3000,
184 baseURL: document.location.protocol + '//' + document.location.hostname + (document.location.port=='' ? '' : (':' + document.location.port)) + '/bbs/',
185 });
186
187 window.addEventListener("load", () => {
188 var f1 = document.getElementById("transfer_score");
189 if (f1)
190 {
191 f1.addEventListener("submit", (e) => {
192 e.preventDefault();
193 transfer_score(f1);
194 });
195 }
196
197 var f2 = document.getElementById("set_life");
198 if (f2)
199 {
200 f2.addEventListener("submit", (e) => {
201 e.preventDefault();
202 set_life(f2);
203 });
204 }
205
206 var f3 = document.getElementById("ban_user");
207 if (f3)
208 {
209 f3.addEventListener("submit", (e) => {
210 e.preventDefault();
211 ban_user(f3);
212 });
213 }
214
215 });
216
217 </script>
218 </head>
219 <body>
220 <center>
221 <table border="0" cellpadding="0" cellspacing="10" width="1050">
222 <tr>
223 <td colspan="2" align="center" style="font-size: 16px; font-family: 楷体; font-weight: bold; color: red">
224 <?= $result_set["data"]["username"]; ?>的个人资料
225 </td>
226 </tr>
227 <tr height="1" bgcolor="gray">
228 <td colspan="2">
229 </td>
230 </tr>
231 <tr>
232 <td width="35%" align="right">
233 头像:
234 </td>
235 <td width="65%">
236 <img src="<?= $result_set["data"]["photo"]; ?>" border="0">
237 </td>
238 </tr>
239 <tr height="1" bgcolor="gray">
240 <td colspan="2">
241 </td>
242 </tr>
243 <tr>
244 <td align="right">
245 昵称:
246 </td>
247 <td>
248 <span style="color: #909090; ">
249 <?= $result_set["data"]["nickname"]; ?>
250 </span>
251 </td>
252 </tr>
253 <tr>
254 <td align="right">
255 星座:
256 </td>
257 <td>
258 <?php
259 $astro = Date2Astro(intval($result_set["data"]["birthday"]->format("m")), intval($result_set["data"]["birthday"]->format("d"))) . "座";
260
261 if ($result_set["data"]["gender_pub"])
262 {
263 if ($result_set["data"]["gender"] == "M")
264 {
265 ?><span style="color:blue;"><?= $astro; ?></span><?php
266 }
267 else if ($result_set["data"]["gender"] == "F")
268 {
269 ?><span style="color:red;"><?= $astro; ?></span><?php
270 }
271 }
272 else
273 {
274 ?><span style="color:green;"><?= $astro; ?></span><?php
275 }
276 ?>
277 </td>
278 </tr>
279 <tr>
280 <td align="right">
281 注册时间:
282 </td>
283 <td>
284 <?= $result_set["data"]["signup_dt"]->format("Y年m月d日 H:i:s"); ?>
285 </td>
286 </tr>
287 <tr>
288 <td align="right">
289 最后活动:
290 </td>
291 <td>
292 <?= $result_set["data"]["last_tm"]->format("Y年m月d日 H:i:s"); ?>
293 </td>
294 </tr>
295 <tr>
296 <td align="right">
297 源IP地址:
298 </td>
299 <td>
300 <?= $result_set["data"]["ip"]; ?>
301 </td>
302 </tr>
303 <tr>
304 <td align="right">
305 经验值&nbsp;/&nbsp;生命值:
306 </td>
307 <td>
308 <span style="color: blue"><?= $result_set["data"]["exp"] . "&nbsp;/&nbsp;" . $result_set["data"]["life"]; ?></span>
309 </td>
310 </tr>
311 <?php
312 if ($_SESSION["BBS_priv"]->checklevel(P_ADMIN_M | P_ADMIN_S))
313 {
314 ?>
315 <tr>
316 <td>
317 </td>
318 <td>
319 <form method="POST" action="#" id="set_life" name="set_life">
320 <span id="err_msg_life" name="err_msg" style="color: red;"></span>
321 <input name="life" value="<?= $result_set["data"]["life"]; ?>" size="3">&nbsp;&nbsp;
322 <input type="submit" value="授予">
323 </form>
324 <?php
325 }
326 ?>
327 </td>
328 </tr>
329 <tr>
330 <td align="right">
331 等级:
332 </td>
333 <td>
334 <span style="color:orange; ">
335 <?= user_level($result_set["data"]["exp"]); ?>
336 </span>
337 </td>
338 </tr>
339 <tr>
340 <td align="right">
341 状态:
342 </td>
343 <td>
344 <?php
345 if (!$result_set["data"]["dead"] && $result_set["data"]["verified"])
346 {
347 if ($result_set["data"]["p_all"])
348 {
349 ?><span style="color: green">正常</span><?php
350 }
351 if (!$result_set["data"]["p_login"])
352 {
353 ?><span style="color: red">限制登陆</span><?php
354 }
355 if (!$result_set["data"]["p_post"])
356 {
357 ?><span style="color: red">限制发帖</span><?php
358 }
359 if (!$result_set["data"]["p_msg"])
360 {
361 ?><span style="color: red">限制消息</span><?php
362 }
363 }
364 else
365 {
366 if (!$result_set["data"]["verified"])
367 {
368 ?><span style="color: red">尚未确认</span><?php
369 }
370 if ($result_set["data"]["dead"])
371 {
372 ?><span style="color: red">已升天</span><?php
373 }
374 }
375
376 if ($result_set["data"]["online"])
377 {
378 ?>&nbsp;&nbsp;<span style="color: blue">在线</span><?php
379 }
380 else
381 {
382 ?>&nbsp;&nbsp;<span style="color: gray">离线</span><?php
383 }
384 ?>
385 </td>
386 </tr>
387 <tr>
388 <td align="right">
389 最近发表的主题:
390 </td>
391 <td>
392 <a class="s7" href="search_article.php?uid=<?= $result_set["data"]["uid"]; ?>" target=_blank>查看&gt;&gt;</a>
393 </td>
394 </tr>
395 <tr height="1" bgcolor="gray">
396 <td colspan="2">
397 </td>
398 </tr>
399 <tr>
400 <td align="right">
401 个人介绍:
402 </td>
403 <td>
404 </td>
405 </tr>
406 <tr>
407 <td colspan="2" align="center">
408 <table border="0" cellspacing="0" cellpadding="0" width="80%">
409 <tr>
410 <td style="color:gray; font-size:14px;">
411 <?= LML(htmlspecialchars($result_set["data"]["introduction"], ENT_HTML401, 'UTF-8'), true, true, 80); ?>
412 </td>
413 </tr>
414 </table>
415 </td>
416 </tr>
417 <tr height="1" bgcolor="gray">
418 <td colspan="2">
419 </td>
420 </tr>
421 <tr>
422 <td align="right">
423 用户操作:
424 </td>
425 <td>
426 <?php
427 if ($_SESSION["BBS_priv"]->checkpriv(0, S_MSG) && $result_set["data"]["uid"] != $BBS_sys_uid)
428 {
429 ?>
430 <a class="s2" href="msg_read.php?sent=1&uid=<?= $result_set["data"]["uid"]; ?>" target=_blank>发送消息</a>
431 <?php
432 }
433
434 if ($_SESSION["BBS_uid"] > 0 && $_SESSION["BBS_uid"] != $result_set["data"]["uid"])
435 {
436 ?>
437 <a class="s2" href="#" onclick="return set_friend(<?= ($result_set["data"]["is_friend"] ? 0 : 1); ?>);"><?= ($result_set["data"]["is_friend"]? "删除好友" : "加为好友"); ?></a>
438 <span id="err_msg_friend" name="err_msg" style="color: red;"></span>
439 <?php
440 }
441 ?>
442 </td>
443 </tr>
444 <?php
445 if ($_SESSION["BBS_uid"] > 0 && $_SESSION["BBS_uid"] != $result_set["data"]["uid"])
446 {
447 ?>
448 <tr>
449 <td align="right">
450 积分转让:
451 </td>
452 <td>
453 <span id="err_msg_transfer" name="err_msg" style="color: red;"></span>
454 <form method="post" action="#" id="transfer_score" name="transfer_score">
455 <input id="amount" name="amount" value="0" size="3">&nbsp;&nbsp;
456 <input type="submit" value="转让">
457 </form>
458 转让额必须是10的倍数,单次限额10000。<br />
459 <span style="color:red; ">服务费率为转让额的10%</span>
460 </td>
461 </tr>
462 <?php
463 }
464
465 if ($_SESSION["BBS_priv"]->checklevel(P_ADMIN_M | P_ADMIN_S | P_MAN_M))
466 {
467 ?>
468 <tr height="1" bgcolor="gray">
469 <td colspan="2">
470 </td>
471 </tr>
472 <tr>
473 <td align="right">
474 封禁权限:
475 </td>
476 <td>
477 <form method="POST" action="#" id="ban_user" name="ban_user">
478 <p>
479 <span id="err_msg_ban" name="err_msg" style="color: red;"></span>
480 <input type="radio" name="ban" value="1" checked>封
481 <input type="radio" name="ban" value="0">解封
482 <select id="sid" name="sid" size="1">
483 <option value="0">全站发帖</option>
484 <option value="-1">用户登录</option>
485 <option value="-2">站内消息</option>
486 <?php
487 foreach ($result_set["data"]["section_hierachy"] as $c_index => $section_class)
488 {
489 ?>
490 <option value="-100">==<?= $section_class["title"]; ?>==</option>
491 <?php
492 foreach ($section_class["sections"] as $s_index => $section)
493 {
494 ?>
495 <option value="<?= $section["sid"]; ?>">&nbsp;&nbsp;├<?= $section["title"]; ?></option>
496 <?php
497 }
498 }
499 ?>
500 </select>
501 权限
502 <input name="day" size="3">天(最多365)<br />
503 理由:<br />
504 <textarea name="reason" cols="40" rows="5"></textarea>
505 </p>
506 <input type="submit" value="提交">
507 </form>
508 </td>
509 </tr>
510 <?php
511 }
512 ?>
513 <tr height="1" bgcolor="gray">
514 <td colspan="2">
515 </td>
516 </tr>
517 </table>
518 </center>
519 </body>
520 </html>

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