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

Annotation of /fenglin/bbs/article_service_lock.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 "./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 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     $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 sysadm 1.2
117 sysadm 1.1 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