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

Contents of /fenglin/bbs/article_service_lock.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, SID, `lock` FROM bbs WHERE AID = $id AND TID = 0 AND visible FOR UPDATE";
52
53 $rs = mysqli_query($db_conn, $sql);
54 if ($rs == false)
55 {
56 $result_set["return"]["code"] = -2;
57 $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);
58
59 mysqli_close($db_conn);
60 exit(json_encode($result_set));
61 }
62
63 if($row = mysqli_fetch_array($rs))
64 {
65 $uid = $row["UID"];
66 $sid = $row["SID"];
67 $lock = $row["lock"];
68 }
69 else
70 {
71 $result_set["return"]["code"] = -1;
72 $result_set["return"]["message"] = "文章不存在";
73
74 mysqli_close($db_conn);
75 exit(json_encode($result_set));
76 }
77 mysqli_free_result($rs);
78
79 if (!($_SESSION["BBS_priv"]->checkpriv($sid, S_POST) && ($_SESSION["BBS_priv"]->checkpriv($sid, S_MAN_S) || $_SESSION["BBS_uid"] == $row["UID"])))
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
88 // Check if already set
89 if ($lock == $set)
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 $sql = "UPDATE bbs SET `lock` = $set WHERE AID = $id";
99
100 $rs = mysqli_query($db_conn, $sql);
101 if ($rs == false)
102 {
103 $result_set["return"]["code"] = -2;
104 $result_set["return"]["message"] = "Set lock error: " . mysqli_error($db_conn);
105
106 mysqli_close($db_conn);
107 exit(json_encode($result_set));
108 }
109
110 //Add log
111 $rs = article_op_log($id, $_SESSION["BBS_uid"], ($set ? "L" : "U"), client_addr(), $db_conn);
112 if ($rs == false)
113 {
114 $result_set["return"]["code"] = -2;
115 $result_set["return"]["message"] = "Add log error: " . mysqli_error($db_conn);
116
117 mysqli_close($db_conn);
118 exit(json_encode($result_set));
119 }
120
121 // Commit transaction
122 $rs = mysqli_query($db_conn, "COMMIT");
123 if ($rs == false)
124 {
125 $result_set["return"]["code"] = -2;
126 $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
127
128 mysqli_close($db_conn);
129 exit(json_encode($result_set));
130 }
131
132 mysqli_close($db_conn);
133 exit(json_encode($result_set));

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