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

Contents of /fenglin/bbs/article_service_move.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations)
Fri Oct 10 12:15:02 2025 UTC (5 months ago) by sysadm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +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 $sid_set = (isset($data["sid"]) ? intval($data["sid"]) : 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 // Check topic
52 $sql = "SELECT UID, SID, excerption FROM bbs
53 WHERE AID = $id AND TID = 0 AND visible FOR UPDATE";
54
55 $rs = mysqli_query($db_conn, $sql);
56 if ($rs == false)
57 {
58 $result_set["return"]["code"] = -2;
59 $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);
60
61 mysqli_close($db_conn);
62 exit(json_encode($result_set));
63 }
64
65 if ($row = mysqli_fetch_array($rs))
66 {
67 $uid = $row["UID"];
68 $sid = $row["SID"];
69 $excerption = $row["excerption"];
70 }
71 else
72 {
73 $result_set["return"]["code"] = -1;
74 $result_set["return"]["message"] = "文章不存在";
75
76 mysqli_close($db_conn);
77 exit(json_encode($result_set));
78 }
79 mysqli_free_result($rs);
80
81 if ($sid_set <= 0 || $sid_set == $sid)
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 // Check section
91 $sql = "SELECT title FROM section_config WHERE SID = $sid_set AND enable";
92
93 $rs = mysqli_query($db_conn, $sql);
94 if ($rs == false)
95 {
96 $result_set["return"]["code"] = -2;
97 $result_set["return"]["message"] = "Query section error: " . mysqli_error($db_conn);
98
99 mysqli_close($db_conn);
100 exit(json_encode($result_set));
101 }
102
103 if ($row = mysqli_fetch_array($rs))
104 {
105 $section_title = $row["title"];
106 }
107 else
108 {
109 $result_set["return"]["code"] = -1;
110 $result_set["return"]["message"] = "版块不存在";
111
112 mysqli_close($db_conn);
113 exit(json_encode($result_set));
114 }
115 mysqli_free_result($rs);
116
117 if ($excerption ||
118 !$_SESSION["BBS_priv"]->checkpriv($sid_set, S_POST) ||
119 !$_SESSION["BBS_priv"]->checkpriv($sid, S_POST | S_MAN_S))
120 {
121 $result_set["return"]["code"] = -1;
122 $result_set["return"]["message"] = "没有权限";
123
124 mysqli_close($db_conn);
125 exit(json_encode($result_set));
126 }
127
128 $sql = "UPDATE bbs SET old_SID = $sid, SID = $sid_set WHERE AID = $id OR TID = $id";
129
130 $rs = mysqli_query($db_conn, $sql);
131 if ($rs == false)
132 {
133 $result_set["return"]["code"] = -2;
134 $result_set["return"]["message"] = "Move article error: " . mysqli_error($db_conn);
135
136 mysqli_close($db_conn);
137 exit(json_encode($result_set));
138 }
139
140 //Subtract exp
141 $rs = user_exp_change($uid, -10, $db_conn);
142 if ($rs == false)
143 {
144 $result_set["return"]["code"] = -2;
145 $result_set["return"]["message"] = "Change exp error: " . mysqli_error($db_conn);
146
147 mysqli_close($db_conn);
148 exit(json_encode($result_set));
149 }
150
151 //Send alarm message
152 $msg_content = "您所发表的[article $id]$id" .
153 "[/url]号文章,与所在版块主题不符,现已被移至“" . $section_title . "”版块。" .
154 "[align right]执行人:[user " . $_SESSION["BBS_uid"] . "]" .
155 $_SESSION["BBS_username"] . "[/user][/align]";
156
157 $msg_content = mysqli_real_escape_string($db_conn, $msg_content);
158
159 $sql = "INSERT INTO bbs_msg(fromUID, toUID, content, send_dt, send_ip)
160 VALUES($BBS_sys_uid, $uid, '$msg_content', NOW(), '" .
161 client_addr() . "')";
162 $rs = mysqli_query($db_conn, $sql);
163 if ($rs == false)
164 {
165 $result_set["return"]["code"] = -2;
166 $result_set["return"]["message"] = "Insert msg error: " . mysqli_error($db_conn);
167
168 mysqli_close($db_conn);
169 exit(json_encode($result_set));
170 }
171
172 //Add log
173 $rs = article_op_log($id, $_SESSION["BBS_uid"], "T", client_addr(), $db_conn);
174 if ($rs == false)
175 {
176 $result_set["return"]["code"] = -2;
177 $result_set["return"]["message"] = "Add log error: " . mysqli_error($db_conn);
178
179 mysqli_close($db_conn);
180 exit(json_encode($result_set));
181 }
182
183 // Commit transaction
184 $rs = mysqli_query($db_conn, "COMMIT");
185 if ($rs == false)
186 {
187 $result_set["return"]["code"] = -2;
188 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
189
190 mysqli_close($db_conn);
191 exit(json_encode($result_set));
192 }
193
194 mysqli_close($db_conn);
195 exit(json_encode($result_set));

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