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

Annotation of /fenglin/bbs/article_service_del.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (hide 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 sysadm 1.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 sysadm 1.2
40 sysadm 1.1 $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 sysadm 1.2 if (!($_SESSION["BBS_priv"]->checkpriv($sid, S_POST) &&
100 sysadm 1.1 ($_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 sysadm 1.5 $rs = user_exp_change($uid, $exp_change, $db_conn);
127 sysadm 1.1
128     if ($rs == false)
129     {
130     $result_set["return"]["code"] = -2;
131     $result_set["return"]["message"] = "Change exp error: " . mysqli_error($db_conn);
132 sysadm 1.2
133 sysadm 1.1 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 sysadm 1.6 $msg_content = "您所发表的[article $id]$id" .
141 sysadm 1.1 "[/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 sysadm 1.2
150 sysadm 1.1 $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 sysadm 1.2
168 sysadm 1.1 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