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

Annotation of /fenglin/bbs/article_service_genex.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide 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 sysadm 1.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 sysadm 1.2
49 sysadm 1.1 $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 sysadm 1.2
115 sysadm 1.1 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 sysadm 1.2
129 sysadm 1.1 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 sysadm 1.2
143 sysadm 1.1 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 sysadm 1.2
152 sysadm 1.1 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