--- fenglin/bbs/section_setting.php 2025/04/08 09:29:17 1.1 +++ fenglin/bbs/section_setting.php 2025/04/12 06:52:54 1.6 @@ -1,5 +1,6 @@ $sid, - "sname" => $row["sname"], - "s_title" => $row["title"], "announcement" => $row["announcement"], "comment" => $row["comment"], "ex_update" => $row["ex_update"], - "ex_dir" => array(), + "section_hierachy" => array(), + "masters" => array(), ); } else @@ -59,32 +60,55 @@ mysqli_free_result($rs); - $sql = "SELECT * FROM ex_dir WHERE SID = $sid AND enable ORDER BY dir"; + // Load section master + $sql = "SELECT section_master.UID, username, major, begin_dt, end_dt FROM section_master + INNER JOIN user_list ON section_master.UID = user_list.UID + WHERE SID = $sid AND section_master.enable AND (NOW() BETWEEN begin_dt AND end_dt) + ORDER BY major DESC, begin_dt ASC, end_dt ASC"; $rs = mysqli_query($db_conn, $sql); if ($rs == false) { $result_set["return"]["code"] = -2; - $result_set["return"]["message"] = "Query ex_dir error: " . mysqli_error($db_conn); + $result_set["return"]["message"] = "Query section master error: " . mysqli_error($db_conn); mysqli_close($db_conn); exit(json_encode($result_set)); } - array_push($result_set["return"]["data"]["ex_dir"], array( - "dir" => "", - "name" => "根目录", - )); - - while($row = mysqli_fetch_array($rs)) - { - array_push($result_set["return"]["data"]["ex_dir"], array( - "dir" => $row["dir"], - "name" => $row["name"], + while ($row = mysqli_fetch_array($rs)) + { + array_push($result_set["data"]["masters"], array( + "uid" => $row["UID"], + "username" => $row["username"], + "major" => $row["major"], + "begin_dt" => $row["begin_dt"], + "end_dt" => $row["end_dt"], )); } mysqli_free_result($rs); + // Load section list + $ret = load_section_list($result_set["data"]["section_hierachy"], + function (array $section, array $filter_param) : bool + { + return $_SESSION["BBS_priv"]->checkpriv($section["SID"], S_POST | S_MAN_S); + }, + function (array $section, array $filter_param) : mixed + { + return null; + }, + $db_conn); + + if ($ret == false) + { + $result_set["return"]["code"] = -2; + $result_set["return"]["message"] = "Query section error: " . mysqli_error($db_conn); + + mysqli_close($db_conn); + exit(json_encode($result_set)); + } + mysqli_close($db_conn); // Output with theme view