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

Annotation of /fenglin/bbs/set_recommend.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.10 - (hide annotations)
Sat Apr 5 15:18:36 2025 UTC (11 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.9: +128 -41 lines
Refact as AJAX service

1 sysadm 1.1 <?
2 sysadm 1.9 require_once "../lib/db_open.inc.php";
3 sysadm 1.5 require_once "./common_lib.inc.php";
4 sysadm 1.1 require_once "./session_init.inc.php";
5    
6 sysadm 1.10 $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, recommend FROM bbs WHERE AID = $id AND TID = 0 AND visible";
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     $recommend = $row["recommend"];
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 | S_MAN_M) &&
80     $_SESSION["BBS_priv"]->checklevel(P_ADMIN_M | P_ADMIN_S | P_MAN_C)))
81     {
82     $result_set["return"]["code"] = -1;
83     $result_set["return"]["message"] = "没有权限";
84    
85     mysqli_close($db_conn);
86     exit(json_encode($result_set));
87     }
88    
89     // Check if already set
90     if ($recommend == $set)
91     {
92     $result_set["return"]["code"] = 1;
93     $result_set["return"]["message"] = "已设置";
94    
95     mysqli_close($db_conn);
96     exit(json_encode($result_set));
97     }
98    
99     $sql = "UPDATE bbs SET recommend = $set WHERE AID = $id";
100    
101     $rs = mysqli_query($db_conn, $sql);
102     if ($rs == false)
103     {
104     $result_set["return"]["code"] = -2;
105     $result_set["return"]["message"] = "Set recommend error: " . mysqli_error($db_conn);
106    
107     mysqli_close($db_conn);
108     exit(json_encode($result_set));
109     }
110    
111     //Add log
112     $rs = article_op_log($id, $_SESSION["BBS_uid"], ($set ? "R" : "N"), client_addr(), $db_conn);
113     if ($rs == false)
114     {
115     $result_set["return"]["code"] = -2;
116     $result_set["return"]["message"] = "Add log error: " . mysqli_error($db_conn);
117    
118     mysqli_close($db_conn);
119     exit(json_encode($result_set));
120     }
121    
122     // Commit transaction
123     $rs = mysqli_query($db_conn, "COMMIT");
124     if ($rs == false)
125     {
126     $result_set["return"]["code"] = -2;
127     $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
128    
129     mysqli_close($db_conn);
130     exit(json_encode($result_set));
131     }
132 sysadm 1.6
133 sysadm 1.10 mysqli_close($db_conn);
134     exit(json_encode($result_set));
135 sysadm 1.1 ?>

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