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

Annotation of /fenglin/bbs/article_service_move.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
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 "./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 sysadm 1.2
41 sysadm 1.1 $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 sysadm 1.2 }
127 sysadm 1.1
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 sysadm 1.2
147 sysadm 1.1 mysqli_close($db_conn);
148     exit(json_encode($result_set));
149     }
150    
151     //Send alarm message
152     $msg_content = "[hide]SYS_Move_Article[/hide]您所发表的[article $id]$id" .
153     "[/url]号文章,与所在版块主题不符,现已被移至“" . $section_title . "”版块。" .
154     "[align right]执行人:[user " . $_SESSION["BBS_uid"] . "]" .
155     $_SESSION["BBS_username"] . "[/user][/align]";
156 sysadm 1.2
157 sysadm 1.1 $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 sysadm 1.2
179 sysadm 1.1 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