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

Annotation of /fenglin/bbs/themes/default/view_user.view.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.19 - (hide annotations)
Thu Jan 22 04:25:56 2026 UTC (7 weeks, 6 days ago) by sysadm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.18: +1 -1 lines
Revert change

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

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