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

Contents of /fenglin/bbs/section_setting.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (show annotations)
Wed Apr 16 08:38:44 2025 UTC (11 months ago) by sysadm
Branch: MAIN
Changes since 1.6: +34 -0 lines
Merge section config feature from admin portal to section_setting page

1 <?
2 require_once "../lib/db_open.inc.php";
3 require_once "./section_list.inc.php";
4 require_once "./session_init.inc.php";
5 require_once "./user_priv.inc.php";
6 require_once "./theme.inc.php";
7
8 force_login();
9
10 $result_set = array(
11 "return" => array(
12 "code" => 0,
13 "message" => "",
14 "errorFields" => array(),
15 )
16 );
17
18 $sid = (isset($_GET["sid"]) ? intval($_GET["sid"]) : $BBS_default_sid);
19
20 if (!$_SESSION["BBS_priv"]->checkpriv($sid, S_POST | S_MAN_S))
21 {
22 $result_set["return"]["code"] = -1;
23 $result_set["return"]["message"] = "没有权限";
24
25 mysqli_close($db_conn);
26 exit(json_encode($result_set));
27 }
28
29 // Load section setting
30 $sql = "SELECT * FROM section_config WHERE SID = $sid AND enable";
31
32 $rs = mysqli_query($db_conn, $sql);
33 if ($rs == false)
34 {
35 $result_set["return"]["code"] = -2;
36 $result_set["return"]["message"] = "Query section data error: " . mysqli_error($db_conn);
37
38 mysqli_close($db_conn);
39 exit(json_encode($result_set));
40 }
41
42 if ($row = mysqli_fetch_array($rs))
43 {
44 $result_set["data"] = array(
45 "sid" => $sid,
46 "cid" => $row["CID"],
47 "sname" => $row["sname"],
48 "title" => $row["title"],
49 "exp_get" => $row["exp_get"],
50 "recommend" => $row["recommend"],
51 "read_user_level" => $row["read_user_level"],
52 "write_user_level" => $row["write_user_level"],
53 "announcement" => $row["announcement"],
54 "comment" => $row["comment"],
55 "ex_update" => $row["ex_update"],
56 "sort_order" => $row["sort_order"],
57 "class_sections" => array(),
58 "section_hierachy" => array(),
59 "masters" => array(),
60 );
61 }
62 else
63 {
64 $result_set["return"]["code"] = -1;
65 $result_set["return"]["message"] = "Section data not exist";
66
67 mysqli_close($db_conn);
68 exit(json_encode($result_set));
69 }
70
71 mysqli_free_result($rs);
72
73 // Load section master
74 $sql = "SELECT section_master.UID, username, major, begin_dt, end_dt FROM section_master
75 INNER JOIN user_list ON section_master.UID = user_list.UID
76 WHERE SID = $sid AND section_master.enable AND (NOW() BETWEEN begin_dt AND end_dt)
77 ORDER BY major DESC, begin_dt ASC, end_dt ASC";
78
79 $rs = mysqli_query($db_conn, $sql);
80 if ($rs == false)
81 {
82 $result_set["return"]["code"] = -2;
83 $result_set["return"]["message"] = "Query section master error: " . mysqli_error($db_conn);
84
85 mysqli_close($db_conn);
86 exit(json_encode($result_set));
87 }
88
89 while ($row = mysqli_fetch_array($rs))
90 {
91 array_push($result_set["data"]["masters"], array(
92 "uid" => $row["UID"],
93 "username" => $row["username"],
94 "major" => $row["major"],
95 "begin_dt" => $row["begin_dt"],
96 "end_dt" => $row["end_dt"],
97 ));
98 }
99 mysqli_free_result($rs);
100
101 // Load sections in current class
102 $sql = "SELECT SID, title, sort_order FROM section_config WHERE CID = " .
103 $result_set["data"]["cid"] . " AND enable ORDER BY sort_order";
104
105 $rs = mysqli_query($db_conn, $sql);
106 if ($rs == false)
107 {
108 $result_set["return"]["code"] = -2;
109 $result_set["return"]["message"] = "Query section list error: " . mysqli_error($db_conn);
110
111 mysqli_close($db_conn);
112 exit(json_encode($result_set));
113 }
114
115 while ($row = mysqli_fetch_array($rs))
116 {
117 array_push($result_set["data"]["class_sections"], array(
118 "sid" => $row["SID"],
119 "title" => $row["title"],
120 "sort_order" => $row["sort_order"],
121 ));
122 }
123 mysqli_free_result($rs);
124
125 // Load section list
126 $ret = load_section_list($result_set["data"]["section_hierachy"],
127 function (array $section, array $filter_param) : bool
128 {
129 return $_SESSION["BBS_priv"]->checkpriv($section["SID"], S_POST | S_MAN_S);
130 },
131 function (array $section, array $filter_param) : mixed
132 {
133 return null;
134 },
135 $db_conn);
136
137 if ($ret == false)
138 {
139 $result_set["return"]["code"] = -2;
140 $result_set["return"]["message"] = "Query section error: " . mysqli_error($db_conn);
141
142 mysqli_close($db_conn);
143 exit(json_encode($result_set));
144 }
145
146 mysqli_close($db_conn);
147
148 // Output with theme view
149 $theme_view_file = get_theme_file("view/section_setting", $_SESSION["BBS_theme_name"]);
150 if ($theme_view_file == null)
151 {
152 exit(json_encode($result_set)); // Output data in Json
153 }
154 include $theme_view_file;
155 ?>

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