/[LeafOK_CVS]/fenglin/bbs/user_service_life.php
ViewVC logotype

Contents of /fenglin/bbs/user_service_life.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (show annotations)
Tue Apr 29 11:55:32 2025 UTC (10 months, 2 weeks ago) by sysadm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +0 -1 lines
Remove redundant PHP closing tag

1 <?php
2 require_once "../lib/db_open.inc.php";
3 require_once "./session_init.inc.php";
4
5 $data = json_decode(file_get_contents("php://input"), true);
6
7 $uid = (isset($data["uid"]) ? intval($data["uid"]) : 0);
8 $life = (isset($data["life"]) ? intval($data["life"]) : 0);
9
10 $result_set = array(
11 "return" => array(
12 "code" => 0,
13 "message" => "",
14 "errorFields" => array(),
15 )
16 );
17
18 header("Content-Type:application/json; charset=utf-8");
19
20 // Validate input data
21 if (!isset($_SESSION["BBS_uid"]) || $_SESSION["BBS_uid"] == 0)
22 {
23 $result_set["return"]["code"] = -1;
24 $result_set["return"]["message"] = "没有登录";
25
26 mysqli_close($db_conn);
27 exit(json_encode($result_set));
28 }
29
30 if (!(in_array($life, $BBS_life_immortal) || $life == 150))
31 {
32 $result_set["return"]["code"] = -1;
33 $result_set["return"]["message"] = "非法生命值";
34
35 mysqli_close($db_conn);
36 exit(json_encode($result_set));
37 }
38
39 if (!$_SESSION["BBS_priv"]->checklevel(P_ADMIN_M | P_ADMIN_S))
40 {
41 $result_set["return"]["code"] = -1;
42 $result_set["return"]["message"] = "没有权限";
43
44 mysqli_close($db_conn);
45 exit(json_encode($result_set));
46 }
47
48 // Begin transaction
49 $rs = mysqli_query($db_conn, "SET autocommit=0");
50 if ($rs == false)
51 {
52 $result_set["return"]["code"] = -2;
53 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
54
55 mysqli_close($db_conn);
56 exit(json_encode($result_set));
57 }
58
59 $rs = mysqli_query($db_conn, "BEGIN");
60 if ($rs == false)
61 {
62 $result_set["return"]["code"] = -2;
63 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
64
65 mysqli_close($db_conn);
66 exit(json_encode($result_set));
67 }
68
69 $sql = "SELECT life FROM user_list
70 INNER JOIN user_pubinfo ON user_list.UID = user_pubinfo.UID
71 WHERE user_list.UID = $uid AND user_list.enable
72 FOR UPDATE";
73
74 $rs = mysqli_query($db_conn, $sql);
75 if ($rs == false)
76 {
77 $result_set["return"]["code"] = -2;
78 $result_set["return"]["message"] = "Query user error: " . mysqli_error($db_conn);
79
80 mysqli_close($db_conn);
81 exit(json_encode($result_set));
82 }
83
84 if($row = mysqli_fetch_array($rs))
85 {
86 if ($row["life"] == $life)
87 {
88 $result_set["return"]["code"] = -1;
89 $result_set["return"]["message"] = "没有改变";
90
91 mysqli_close($db_conn);
92 exit(json_encode($result_set));
93 }
94 }
95 else
96 {
97 $result_set["return"]["code"] = -1;
98 $result_set["return"]["message"] = "用户不存在";
99
100 mysqli_close($db_conn);
101 exit(json_encode($result_set));
102 }
103 mysqli_free_result($rs);
104
105 $sql = "UPDATE user_pubinfo SET life = $life WHERE UID = $uid";
106
107 $rs = mysqli_query($db_conn, $sql);
108 if ($rs == false)
109 {
110 $result_set["return"]["code"] = -2;
111 $result_set["return"]["message"] = "Update user life error: " . mysqli_error($db_conn);
112
113 mysqli_close($db_conn);
114 exit(json_encode($result_set));
115 }
116
117 $sql = "UPDATE user_online SET current_action = 'reload' WHERE UID = $uid";
118
119 $rs = mysqli_query($db_conn, $sql);
120 if ($rs == false)
121 {
122 $result_set["return"]["code"] = -2;
123 $result_set["return"]["message"] = "Update user online error: " . mysqli_error($db_conn);
124
125 mysqli_close($db_conn);
126 exit(json_encode($result_set));
127 }
128
129 $sql = "INSERT INTO user_life_log(UID, set_UID, life, dt, ip)
130 VALUES($uid, " . $_SESSION["BBS_uid"] . ", $life, NOW(), '".
131 client_addr() . "')";
132
133 $rs = mysqli_query($db_conn, $sql);
134 if ($rs == false)
135 {
136 $result_set["return"]["code"] = -2;
137 $result_set["return"]["message"] = "Add log error: " . mysqli_error($db_conn);
138
139 mysqli_close($db_conn);
140 exit(json_encode($result_set));
141 }
142
143 // Commit transaction
144 $rs = mysqli_query($db_conn, "COMMIT");
145 if ($rs == false)
146 {
147 $result_set["return"]["code"] = -2;
148 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
149
150 mysqli_close($db_conn);
151 exit(json_encode($result_set));
152 }
153
154 mysqli_close($db_conn);
155 exit(json_encode($result_set));

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