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

Diff of /fenglin/bbs/section_setting.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 by sysadm, Tue Apr 8 09:29:17 2025 UTC Revision 1.7 by sysadm, Wed Apr 16 08:38:44 2025 UTC
# Line 1  Line 1 
1  <?  <?
2          require_once "../lib/db_open.inc.php";          require_once "../lib/db_open.inc.php";
3            require_once "./section_list.inc.php";
4          require_once "./session_init.inc.php";          require_once "./session_init.inc.php";
5            require_once "./user_priv.inc.php";
6          require_once "./theme.inc.php";          require_once "./theme.inc.php";
7    
8          force_login();          force_login();
# Line 24  Line 26 
26                  exit(json_encode($result_set));                  exit(json_encode($result_set));
27          }          }
28    
29            // Load section setting
30          $sql = "SELECT * FROM section_config WHERE SID = $sid AND enable";          $sql = "SELECT * FROM section_config WHERE SID = $sid AND enable";
31    
32          $rs = mysqli_query($db_conn, $sql);          $rs = mysqli_query($db_conn, $sql);
# Line 36  Line 39 
39                  exit(json_encode($result_set));                  exit(json_encode($result_set));
40          }          }
41    
42          if($row = mysqli_fetch_array($rs))          if ($row = mysqli_fetch_array($rs))
43          {          {
44                  $result_set["return"]["data"] = array(                  $result_set["data"] = array(
45                          "sid" => $sid,                          "sid" => $sid,
46                            "cid" => $row["CID"],
47                          "sname" => $row["sname"],                          "sname" => $row["sname"],
48                          "s_title" => $row["title"],                          "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"],                          "announcement" => $row["announcement"],
54                          "comment" => $row["comment"],                          "comment" => $row["comment"],
55                          "ex_update" => $row["ex_update"],                          "ex_update" => $row["ex_update"],
56                          "ex_dir" => array(),                          "sort_order" => $row["sort_order"],
57                            "class_sections" => array(),
58                            "section_hierachy" => array(),
59                            "masters" => array(),
60                  );                  );
61          }          }
62          else          else
# Line 59  Line 70 
70    
71          mysqli_free_result($rs);          mysqli_free_result($rs);
72    
73          $sql = "SELECT * FROM ex_dir WHERE SID = $sid AND enable ORDER BY dir";          // 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);          $rs = mysqli_query($db_conn, $sql);
80          if ($rs == false)          if ($rs == false)
81          {          {
82                  $result_set["return"]["code"] = -2;                  $result_set["return"]["code"] = -2;
83                  $result_set["return"]["message"] = "Query ex_dir error: " . mysqli_error($db_conn);                  $result_set["return"]["message"] = "Query section master error: " . mysqli_error($db_conn);
84    
85                  mysqli_close($db_conn);                  mysqli_close($db_conn);
86                  exit(json_encode($result_set));                  exit(json_encode($result_set));
87          }          }
88    
89          array_push($result_set["return"]["data"]["ex_dir"], array(          while ($row = mysqli_fetch_array($rs))
90                  "dir" => "",          {
91                  "name" => "根目录",                  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          while($row = mysqli_fetch_array($rs))          $rs = mysqli_query($db_conn, $sql);
106            if ($rs == false)
107          {          {
108                  array_push($result_set["return"]["data"]["ex_dir"], array(                  $result_set["return"]["code"] = -2;
109                          "dir" => $row["dir"],                  $result_set["return"]["message"] = "Query section list error: " . mysqli_error($db_conn);
110                          "name" => $row["name"],  
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);          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);          mysqli_close($db_conn);
147    


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

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