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

Contents of /fenglin/bbs/article_service_favor.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show 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 <?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