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

Contents of /fenglin/bbs/article_service_del.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (show annotations)
Fri Oct 10 12:15:02 2025 UTC (5 months ago) by sysadm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.5: +1 -1 lines
Remove legacy code

1 <?php
2 require_once "../lib/db_open.inc.php";
3 require_once "./article_op.inc.php";
4 require_once "./session_init.inc.php";
5
6 $data = json_decode(file_get_contents("php://input"), true);
7
8 $id = (isset($data["id"]) ? intval($data["id"]) : 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 if (!isset($_SESSION["BBS_uid"]) || $_SESSION["BBS_uid"] == 0)
21 {
22 $result_set["return"]["code"] = -1;
23 $result_set["return"]["message"] = "没有登录";
24
25 mysqli_close($db_conn);
26 exit(json_encode($result_set));
27 }
28
29 // Begin transaction
30 $rs = mysqli_query($db_conn, "SET autocommit=0");
31 if ($rs == false)
32 {
33 $result_set["return"]["code"] = -2;
34 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
35
36 mysqli_close($db_conn);
37 exit(json_encode($result_set));
38 }
39
40 $rs = mysqli_query($db_conn, "BEGIN");
41 if ($rs == false)
42 {
43 $result_set["return"]["code"] = -2;
44 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
45
46 mysqli_close($db_conn);
47 exit(json_encode($result_set));
48 }
49
50 $sql = "SELECT UID, TID, SID, visible, excerption FROM bbs WHERE AID = $id FOR UPDATE";
51
52 $rs = mysqli_query($db_conn, $sql);
53 if ($rs == false)
54 {
55 $result_set["return"]["code"] = -2;
56 $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);
57
58 mysqli_close($db_conn);
59 exit(json_encode($result_set));
60 }
61
62 if($row = mysqli_fetch_array($rs))
63 {
64 $uid = $row["UID"];
65 $tid = $row["TID"];
66 $sid = $row["SID"];
67 $visible = $row["visible"];
68 $excerption = $row["excerption"];
69 }
70 else
71 {
72 $result_set["return"]["code"] = -1;
73 $result_set["return"]["message"] = "文章不存在";
74
75 mysqli_close($db_conn);
76 exit(json_encode($result_set));
77 }
78 mysqli_free_result($rs);
79
80 // Check if already deleted
81 if (!$visible)
82 {
83 $result_set["return"]["code"] = 1;
84 $result_set["return"]["message"] = "已设置";
85
86 mysqli_close($db_conn);
87 exit(json_encode($result_set));
88 }
89
90 if ($excerption)
91 {
92 $result_set["return"]["code"] = -1;
93 $result_set["return"]["message"] = "收录文章不可删除";
94
95 mysqli_close($db_conn);
96 exit(json_encode($result_set));
97 }
98
99 if (!($_SESSION["BBS_priv"]->checkpriv($sid, S_POST) &&
100 ($_SESSION["BBS_priv"]->checkpriv($sid, S_MAN_S) || $_SESSION["BBS_uid"] == $uid)))
101 {
102 $result_set["return"]["code"] = -1;
103 $result_set["return"]["message"] = "没有权限";
104
105 mysqli_close($db_conn);
106 exit(json_encode($result_set));
107 }
108
109 $sql = "UPDATE bbs SET visible = 0, reply_count = 0" .
110 ($uid == $_SESSION["BBS_uid"] ? "" : ", m_del = 1") .
111 " WHERE (AID = $id OR TID = $id) AND visible";
112
113 $rs = mysqli_query($db_conn, $sql);
114 if ($rs == false)
115 {
116 $result_set["return"]["code"] = -2;
117 $result_set["return"]["message"] = "Update article error: " . mysqli_error($db_conn);
118
119 mysqli_close($db_conn);
120 exit(json_encode($result_set));
121 }
122
123 // Update exp
124 $exp_change = ($uid == $_SESSION["BBS_uid"] ? ($tid == 0 ? -20 : -5) : ($tid == 0 ? -50 : -15));
125
126 $rs = user_exp_change($uid, $exp_change, $db_conn);
127
128 if ($rs == false)
129 {
130 $result_set["return"]["code"] = -2;
131 $result_set["return"]["message"] = "Change exp error: " . mysqli_error($db_conn);
132
133 mysqli_close($db_conn);
134 exit(json_encode($result_set));
135 }
136
137 if ($uid != $_SESSION["BBS_uid"]) // Delete by admin
138 {
139 //Send alarm message
140 $msg_content = "您所发表的[article $id]$id" .
141 "[/url]号文章,违反了本论坛的相关规定,现已被移至“回收站”。" .
142 "[align right]执行人:[user " . $_SESSION["BBS_uid"] . "]" .
143 $_SESSION["BBS_username"] . "[/user][/align]";
144
145 $sql = "INSERT INTO bbs_msg(fromUID, toUID, content, send_dt, send_ip)
146 VALUES($BBS_sys_uid, $uid, '" .
147 mysqli_real_escape_string($db_conn, $msg_content) .
148 "', NOW(), '" . client_addr() . "')";
149
150 $rs = mysqli_query($db_conn, $sql);
151 if ($rs == false)
152 {
153 $result_set["return"]["code"] = -2;
154 $result_set["return"]["message"] = "Add message error: " . mysqli_error($db_conn);
155
156 mysqli_close($db_conn);
157 exit(json_encode($result_set));
158 }
159 }
160
161 //Add log
162 $rs = article_op_log($id, $_SESSION["BBS_uid"], ($uid == $_SESSION["BBS_uid"] ? "D" : "X"), client_addr(), $db_conn);
163 if ($rs == false)
164 {
165 $result_set["return"]["code"] = -2;
166 $result_set["return"]["message"] = "Add log error: " . mysqli_error($db_conn);
167
168 mysqli_close($db_conn);
169 exit(json_encode($result_set));
170 }
171
172 //Set reply count
173 if ($tid != 0)
174 {
175 $sql = "UPDATE bbs SET reply_count = reply_count - 1 WHERE AID = $tid";
176
177 $rs = mysqli_query($db_conn, $sql);
178 if ($rs == false)
179 {
180 $result_set["return"]["code"] = -2;
181 $result_set["return"]["message"] = "Update article error: " . mysqli_error($db_conn);
182
183 mysqli_close($db_conn);
184 exit(json_encode($result_set));
185 }
186 }
187
188 // Commit transaction
189 $rs = mysqli_query($db_conn, "COMMIT");
190 if ($rs == false)
191 {
192 $result_set["return"]["code"] = -2;
193 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
194
195 mysqli_close($db_conn);
196 exit(json_encode($result_set));
197 }
198
199 mysqli_close($db_conn);
200 exit(json_encode($result_set));

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