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

Annotation of /fenglin/bbs/section_setting.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.10 - (hide annotations)
Sun Apr 27 04:32:05 2025 UTC (10 months, 2 weeks ago) by sysadm
Branch: MAIN
Changes since 1.9: +1 -1 lines
Trim trailing whitespaces

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

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