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

Contents of /fenglin/bbs/article_service_genex.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 $id = (isset($data["id"]) ? intval($data["id"]) : 0);
8 $fid_set = (isset($data["fid"]) ? intval($data["fid"]) : -2);
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 if ($fid_set < -1)
30 {
31 $result_set["return"]["code"] = -1;
32 $result_set["return"]["message"] = "参数错误";
33
34 mysqli_close($db_conn);
35 exit(json_encode($result_set));
36 }
37
38 // Begin transaction
39 $rs = mysqli_query($db_conn, "SET autocommit=0");
40 if ($rs == false)
41 {
42 $result_set["return"]["code"] = -2;
43 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
44
45 mysqli_close($db_conn);
46 exit(json_encode($result_set));
47 }
48
49 $rs = mysqli_query($db_conn, "BEGIN");
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 $sql = "SELECT SID, gen_ex, FID FROM bbs
60 LEFT JOIN ex_file ON bbs.AID = ex_file.AID
61 WHERE bbs.AID = $id AND TID = 0
62 AND visible AND excerption";
63
64 $rs = mysqli_query($db_conn, $sql);
65 if ($rs == false)
66 {
67 $result_set["return"]["code"] = -2;
68 $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);
69
70 mysqli_close($db_conn);
71 exit(json_encode($result_set));
72 }
73
74 if ($row = mysqli_fetch_array($rs))
75 {
76 $sid = $row["SID"];
77 $fid = ($row["gen_ex"] ? $row["FID"] : -1);
78 }
79 else
80 {
81 $result_set["return"]["code"] = -1;
82 $result_set["return"]["message"] = "文章不存在";
83
84 mysqli_close($db_conn);
85 exit(json_encode($result_set));
86 }
87 mysqli_free_result($rs);
88
89 if (!($_SESSION["BBS_priv"]->checkpriv($sid, S_POST | S_MAN_S)))
90 {
91 $result_set["return"]["code"] = -1;
92 $result_set["return"]["message"] = "没有权限";
93
94 mysqli_close($db_conn);
95 exit(json_encode($result_set));
96 }
97
98 if ($fid == $fid_set)
99 {
100 $result_set["return"]["code"] = -1;
101 $result_set["return"]["message"] = "没有改动";
102
103 mysqli_close($db_conn);
104 exit(json_encode($result_set));
105 }
106
107 $sql = "DELETE FROM ex_file WHERE AID = $id";
108
109 $rs = mysqli_query($db_conn, $sql);
110 if ($rs == false)
111 {
112 $result_set["return"]["code"] = -2;
113 $result_set["return"]["message"] = "Delete ex_file error: " . mysqli_error($db_conn);
114
115 mysqli_close($db_conn);
116 exit(json_encode($result_set));
117 }
118
119 if ($fid_set > 0)
120 {
121 $sql = "SELECT FID FROM ex_dir WHERE FID = $fid_set AND SID = $sid AND enable";
122
123 $rs = mysqli_query($db_conn, $sql);
124 if ($rs == false)
125 {
126 $result_set["return"]["code"] = -2;
127 $result_set["return"]["message"] = "Query ex_dir error: " . mysqli_error($db_conn);
128
129 mysqli_close($db_conn);
130 exit(json_encode($result_set));
131 }
132
133 if ($row = mysqli_fetch_array($rs))
134 {
135 $sql = "INSERT INTO ex_file(AID, FID) VALUES($id, $fid_set)";
136
137 $ret = mysqli_query($db_conn, $sql);
138 if ($ret == false)
139 {
140 $result_set["return"]["code"] = -2;
141 $result_set["return"]["message"] = "Add ex_dir error: " . mysqli_error($db_conn);
142
143 mysqli_close($db_conn);
144 exit(json_encode($result_set));
145 }
146 }
147 else
148 {
149 $result_set["return"]["code"] = -1;
150 $result_set["return"]["message"] = "目录选择有误";
151
152 mysqli_close($db_conn);
153 exit(json_encode($result_set));
154 }
155
156 mysqli_free_result($rs);
157 }
158
159 $sql = "UPDATE bbs SET gen_ex = " . ($fid_set >= 0 ? 1 : 0) .
160 ", static = 0 WHERE (AID = $id OR TID = $id) AND excerption";
161
162 $rs = mysqli_query($db_conn, $sql);
163 if ($rs == false)
164 {
165 $result_set["return"]["code"] = -2;
166 $result_set["return"]["message"] = "Update article error: " . mysqli_error($db_conn);
167
168 mysqli_close($db_conn);
169 exit(json_encode($result_set));
170 }
171
172 // Commit transaction
173 $rs = mysqli_query($db_conn, "COMMIT");
174 if ($rs == false)
175 {
176 $result_set["return"]["code"] = -2;
177 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
178
179 mysqli_close($db_conn);
180 exit(json_encode($result_set));
181 }
182
183 mysqli_close($db_conn);
184 exit(json_encode($result_set));

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