/[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.4 - (hide annotations)
Thu Apr 10 12:23:25 2025 UTC (11 months ago) by sysadm
Branch: MAIN
Changes since 1.3: +8 -48 lines
Refact load_section_list

1 sysadm 1.1 <?
2     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     "announcement" => $row["announcement"],
46     "comment" => $row["comment"],
47     "ex_update" => $row["ex_update"],
48 sysadm 1.2 "section_hierachy" => array(),
49 sysadm 1.3 "masters" => array(),
50 sysadm 1.1 );
51     }
52     else
53     {
54     $result_set["return"]["code"] = -1;
55     $result_set["return"]["message"] = "Section data not exist";
56    
57     mysqli_close($db_conn);
58     exit(json_encode($result_set));
59     }
60    
61     mysqli_free_result($rs);
62    
63 sysadm 1.3 // Load section master
64     $sql = "SELECT section_master.UID, username, major, begin_dt, end_dt FROM section_master
65     INNER JOIN user_list ON section_master.UID = user_list.UID
66     WHERE SID = $sid AND section_master.enable AND (NOW() BETWEEN begin_dt AND end_dt)
67     ORDER BY major DESC, begin_dt ASC, end_dt ASC";
68    
69     $rs = mysqli_query($db_conn, $sql);
70     if ($rs == false)
71     {
72     $result_set["return"]["code"] = -2;
73     $result_set["return"]["message"] = "Query section master error: " . mysqli_error($db_conn);
74    
75     mysqli_close($db_conn);
76     exit(json_encode($result_set));
77     }
78    
79     while ($row = mysqli_fetch_array($rs))
80     {
81     array_push($result_set["data"]["masters"], array(
82     "uid" => $row["UID"],
83     "username" => $row["username"],
84     "major" => $row["major"],
85     "begin_dt" => $row["begin_dt"],
86     "end_dt" => $row["end_dt"],
87     ));
88     }
89     mysqli_free_result($rs);
90    
91 sysadm 1.2 // Load section list
92 sysadm 1.4 $ret = load_section_list($result_set["data"]["section_hierachy"],
93     function (int $sid) : bool
94     {
95     return $_SESSION["BBS_priv"]->checkpriv($sid, S_POST | S_MAN_S);
96     },
97     $db_conn);
98 sysadm 1.1
99 sysadm 1.4 if ($ret == false)
100 sysadm 1.1 {
101     $result_set["return"]["code"] = -2;
102 sysadm 1.2 $result_set["return"]["message"] = "Query section error: " . mysqli_error($db_conn);
103 sysadm 1.1
104     mysqli_close($db_conn);
105     exit(json_encode($result_set));
106     }
107    
108     mysqli_close($db_conn);
109    
110     // Output with theme view
111     $theme_view_file = get_theme_file("view/section_setting", $_SESSION["BBS_theme_name"]);
112     if ($theme_view_file == null)
113     {
114     exit(json_encode($result_set)); // Output data in Json
115     }
116     include $theme_view_file;
117     ?>

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