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

Annotation of /fenglin/bbs/suicide_do.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.17 - (hide annotations)
Mon Apr 14 04:27:11 2025 UTC (11 months ago) by sysadm
Branch: MAIN
Changes since 1.16: +150 -57 lines
Refact close account

1 sysadm 1.1 <?
2 sysadm 1.12 require_once "../lib/db_open.inc.php";
3 sysadm 1.4 require_once "./common_lib.inc.php";
4 sysadm 1.1 require_once "./session_init.inc.php";
5    
6 sysadm 1.17 force_login();
7    
8     $data = json_decode(file_get_contents("php://input"), true);
9    
10     $confirm = (isset($data["confirm"]) && $data["confirm"] == "1");
11 sysadm 1.1
12 sysadm 1.17 $result_set = array(
13     "return" => array(
14     "code" => 0,
15     "message" => "",
16     "errorFields" => array(),
17     )
18     );
19    
20     header("Content-Type:application/json; charset=utf-8");
21    
22     if (!$confirm)
23     {
24     $result_set["return"]["code"] = -1;
25     array_push($result_set["return"]["errorFields"], array(
26     "id" => "confirm",
27     "errMsg" => "需要勾选确认",
28     ));
29    
30     mysqli_close($db_conn);
31     exit(json_encode($result_set));
32     }
33    
34     if (!$_SESSION["BBS_priv"]->checkpriv(0, S_POST) ||
35     $_SESSION["BBS_priv"]->checklevel(P_ADMIN_M | P_ADMIN_S | P_MAN_M | P_MAN_S))
36     {
37     $result_set["return"]["code"] = -1;
38     array_push($result_set["return"]["errorFields"], array(
39     "id" => "confirm",
40     "errMsg" => "没有权限",
41     ));
42    
43     mysqli_close($db_conn);
44     exit(json_encode($result_set));
45     }
46    
47     if ($_SESSION["BBS_login_tm"] < time() - 60) // login earlier than 1 minute
48     {
49     $result_set["return"]["code"] = -1;
50     array_push($result_set["return"]["errorFields"], array(
51     "id" => "confirm",
52     "errMsg" => "需要再次登录验证",
53     ));
54    
55     mysqli_close($db_conn);
56     exit(json_encode($result_set));
57     }
58    
59     // Begin transaction
60     $rs = mysqli_query($db_conn, "SET autocommit=0");
61     if ($rs == false)
62     {
63     $result_set["return"]["code"] = -2;
64     $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
65    
66     mysqli_close($db_conn);
67     exit(json_encode($result_set));
68     }
69    
70     $rs = mysqli_query($db_conn, "BEGIN");
71     if ($rs == false)
72     {
73     $result_set["return"]["code"] = -2;
74     $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
75    
76     mysqli_close($db_conn);
77     exit(json_encode($result_set));
78     }
79    
80     // Commit suicide
81     $sql = "UPDATE user_pubinfo SET life = 60 WHERE UID = " . $_SESSION["BBS_uid"];
82    
83     $rs = mysqli_query($db_conn, $sql);
84     if ($rs == false)
85     {
86     $result_set["return"]["code"] = -2;
87     $result_set["return"]["message"] = "Update user_pubinfo error: " . mysqli_error($db_conn);
88    
89     mysqli_close($db_conn);
90     exit(json_encode($result_set));
91     }
92    
93     $sql = "INSERT INTO user_life_log(UID, set_UID, life, dt, ip)
94     VALUES(" . $_SESSION["BBS_uid"] . ", " . $_SESSION["BBS_uid"] . ", 60, NOW(), '".
95     client_addr() . "')";
96    
97     $rs = mysqli_query($db_conn, $sql);
98     if ($rs == false)
99     {
100     $result_set["return"]["code"] = -2;
101     $result_set["return"]["message"] = "Add log error: " . mysqli_error($db_conn);
102    
103     mysqli_close($db_conn);
104     exit(json_encode($result_set));
105     }
106    
107     $sql = "INSERT INTO ban_user_list(SID, UID, day, ban_uid, ban_dt, ban_ip, unban_dt, reason)
108     VALUES(-1, " . $_SESSION["BBS_uid"] . ", 365, " . $_SESSION["BBS_uid"] .
109     ", NOW(), '" . client_addr() . "', ADDDATE(NOW(), INTERVAL 1 YEAR), '关闭账户')";
110    
111     $rs = mysqli_query($db_conn, $sql);
112     if ($rs == false)
113     {
114     $result_set["return"]["code"] = -2;
115     $result_set["return"]["message"] = "Insert ban error: " . mysqli_error($db_conn);
116    
117     mysqli_close($db_conn);
118     exit(json_encode($result_set));
119     }
120    
121     $sql = "UPDATE user_list SET p_login = 0 WHERE UID = " . $_SESSION["BBS_uid"];
122    
123     $rs = mysqli_query($db_conn, $sql);
124     if ($rs == false)
125     {
126     $result_set["return"]["code"] = -2;
127     $result_set["return"]["message"] = "Update user privilege error: " . mysqli_error($db_conn);
128    
129     mysqli_close($db_conn);
130     exit(json_encode($result_set));
131     }
132    
133     $sql = "UPDATE user_online SET current_action = 'exit' WHERE UID = " . $_SESSION["BBS_uid"];
134    
135     $rs = mysqli_query($db_conn, $sql);
136     if ($rs == false)
137     {
138     $result_set["return"]["code"] = -2;
139     $result_set["return"]["message"] = "Update user online error: " . mysqli_error($db_conn);
140    
141     mysqli_close($db_conn);
142     exit(json_encode($result_set));
143     }
144    
145     // Commit transaction
146     $rs = mysqli_query($db_conn, "COMMIT");
147     if ($rs == false)
148     {
149     $result_set["return"]["code"] = -2;
150     $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
151    
152     mysqli_close($db_conn);
153     exit(json_encode($result_set));
154     }
155 sysadm 1.1
156 sysadm 1.17 mysqli_close($db_conn);
157     exit(json_encode($result_set));
158 sysadm 1.1 ?>

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