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

Contents of /fenglin/bbs/article_service_excerption.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 "./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 $set = (isset($data["set"]) && $data["set"] == "1" ? 1 : 0);
10
11 $result_set = array(
12 "return" => array(
13 "code" => 0,
14 "message" => "",
15 "errorFields" => array(),
16 )
17 );
18
19 header("Content-Type:application/json; charset=utf-8");
20
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 // Begin transaction
31 $rs = mysqli_query($db_conn, "SET autocommit=0");
32 if ($rs == false)
33 {
34 $result_set["return"]["code"] = -2;
35 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
36
37 mysqli_close($db_conn);
38 exit(json_encode($result_set));
39 }
40
41 $rs = mysqli_query($db_conn, "BEGIN");
42 if ($rs == false)
43 {
44 $result_set["return"]["code"] = -2;
45 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
46
47 mysqli_close($db_conn);
48 exit(json_encode($result_set));
49 }
50
51 $sql = "SELECT UID, TID, SID, transship, excerption FROM bbs
52 WHERE AID = $id AND visible FOR UPDATE";
53
54 $rs = mysqli_query($db_conn, $sql);
55 if ($rs == false)
56 {
57 $result_set["return"]["code"] = -2;
58 $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);
59
60 mysqli_close($db_conn);
61 exit(json_encode($result_set));
62 }
63
64 if($row = mysqli_fetch_array($rs))
65 {
66 $uid = $row["UID"];
67 $tid = $row["TID"];
68 $sid = $row["SID"];
69 $transship = $row["transship"];
70 $excerption = $row["excerption"];
71 }
72 else
73 {
74 $result_set["return"]["code"] = -1;
75 $result_set["return"]["message"] = "文章不存在";
76
77 mysqli_close($db_conn);
78 exit(json_encode($result_set));
79 }
80 mysqli_free_result($rs);
81
82 if (!($_SESSION["BBS_priv"]->checkpriv($sid, S_POST | S_MAN_S)))
83 {
84 $result_set["return"]["code"] = -1;
85 $result_set["return"]["message"] = "没有权限";
86
87 mysqli_close($db_conn);
88 exit(json_encode($result_set));
89 }
90
91 // Check if already set
92 if ($excerption == $set)
93 {
94 $result_set["return"]["code"] = 1;
95 $result_set["return"]["message"] = "已设置";
96
97 mysqli_close($db_conn);
98 exit(json_encode($result_set));
99 }
100
101 $sql = "UPDATE bbs SET excerption = $set WHERE AID = $id";
102
103 $rs = mysqli_query($db_conn, $sql);
104 if ($rs == false)
105 {
106 $result_set["return"]["code"] = -2;
107 $result_set["return"]["message"] = "Set excerption error: " . mysqli_error($db_conn);
108
109 mysqli_close($db_conn);
110 exit(json_encode($result_set));
111 }
112
113 // Clear gen_ex if unset excerption
114 if ($set == 0)
115 {
116 $sql = "UPDATE bbs SET gen_ex = 0, static = 0 WHERE AID = $id OR TID = $id";
117
118 $rs = mysqli_query($db_conn, $sql);
119 if ($rs == false)
120 {
121 $result_set["return"]["code"] = -2;
122 $result_set["return"]["message"] = "Set gen_ex error: " . mysqli_error($db_conn);
123
124 mysqli_close($db_conn);
125 exit(json_encode($result_set));
126 }
127
128 //Delete ex_dir path if head of thread
129 if ($tid == 0)
130 {
131 $sql = "DELETE FROM ex_file WHERE AID = $id";
132
133 $rs = mysqli_query($db_conn, $sql);
134 if ($rs == false)
135 {
136 $result_set["return"]["code"] = -2;
137 $result_set["return"]["message"] = "Delete ex_file error: " . mysqli_error($db_conn);
138
139 mysqli_close($db_conn);
140 exit(json_encode($result_set));
141 }
142 }
143 }
144
145 //Change UID of attachments
146 $sql = "UPDATE upload_file SET UID = " . ($set ? 0 : $uid) .
147 " WHERE ref_AID = $id AND deleted = 0";
148
149 $rs = mysqli_query($db_conn, $sql);
150 if ($rs == false)
151 {
152 $result_set["return"]["code"] = -2;
153 $result_set["return"]["message"] = "Set attachment status error: " . mysqli_error($db_conn);
154
155 mysqli_close($db_conn);
156 exit(json_encode($result_set));
157 }
158
159 //Modify exp
160 if ($_SESSION["BBS_priv"]->checkpriv($sid, S_GETEXP)) //Except in test section
161 {
162 $rs = user_exp_change($uid, ($set ? 1 : -1) * ($tid == 0 ? ($transship ? 20 : 50) : 10), $db_conn);
163
164 if ($rs == false)
165 {
166 $result_set["return"]["code"] = -2;
167 $result_set["return"]["message"] = "Change exp error: " . mysqli_error($db_conn);
168
169 mysqli_close($db_conn);
170 exit(json_encode($result_set));
171 }
172 }
173
174 //Add log
175 $rs = article_op_log($id, $_SESSION["BBS_uid"], ($set ? "E" : "O"), client_addr(), $db_conn);
176 if ($rs == false)
177 {
178 $result_set["return"]["code"] = -2;
179 $result_set["return"]["message"] = "Add log error: " . mysqli_error($db_conn);
180
181 mysqli_close($db_conn);
182 exit(json_encode($result_set));
183 }
184
185 // Commit transaction
186 $rs = mysqli_query($db_conn, "COMMIT");
187 if ($rs == false)
188 {
189 $result_set["return"]["code"] = -2;
190 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
191
192 mysqli_close($db_conn);
193 exit(json_encode($result_set));
194 }
195
196 mysqli_close($db_conn);
197 exit(json_encode($result_set));

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