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

Annotation of /fenglin/bbs/article_service_favor.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Sat Nov 15 01:55:53 2025 UTC (4 months ago) by sysadm
Branch: MAIN
CVS Tags: HEAD
Add feature to set / unset topic as favorite

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    
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 SID 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     $sid = $row["SID"];
66     }
67     else
68     {
69     $result_set["return"]["code"] = -1;
70     $result_set["return"]["message"] = "文章不存在";
71    
72     mysqli_close($db_conn);
73     exit(json_encode($result_set));
74     }
75     mysqli_free_result($rs);
76    
77     if (!$_SESSION["BBS_priv"]->checkpriv($sid, S_LIST))
78     {
79     $result_set["return"]["code"] = -1;
80     $result_set["return"]["message"] = "没有权限";
81    
82     mysqli_close($db_conn);
83     exit(json_encode($result_set));
84     }
85    
86     if ($set)
87     {
88     $sql = "INSERT IGNORE INTO article_favorite(UID, AID) VALUES(" .
89     $_SESSION["BBS_uid"] . ", $id)";
90     }
91     else
92     {
93     $sql = "DELETE FROM article_favorite WHERE UID = " . $_SESSION["BBS_uid"] .
94     " AND AID = $id";
95     }
96    
97     $rs = mysqli_query($db_conn, $sql);
98     if ($rs == false)
99     {
100     $result_set["return"]["code"] = -2;
101     $result_set["return"]["message"] = "Set favorite error: " . mysqli_error($db_conn);
102    
103     mysqli_close($db_conn);
104     exit(json_encode($result_set));
105     }
106    
107     // Commit transaction
108     $rs = mysqli_query($db_conn, "COMMIT");
109     if ($rs == false)
110     {
111     $result_set["return"]["code"] = -2;
112     $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
113    
114     mysqli_close($db_conn);
115     exit(json_encode($result_set));
116     }
117    
118     mysqli_close($db_conn);
119     exit(json_encode($result_set));

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