/[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.2 by sysadm, Tue Apr 8 11:23:00 2025 UTC Revision 1.4 by sysadm, Thu Apr 10 12:23:25 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 "./theme.inc.php";          require_once "./theme.inc.php";
6    
# Line 24  Line 25 
25                  exit(json_encode($result_set));                  exit(json_encode($result_set));
26          }          }
27    
28            // Load section setting
29          $sql = "SELECT * FROM section_config WHERE SID = $sid AND enable";          $sql = "SELECT * FROM section_config WHERE SID = $sid AND enable";
30    
31          $rs = mysqli_query($db_conn, $sql);          $rs = mysqli_query($db_conn, $sql);
# Line 36  Line 38 
38                  exit(json_encode($result_set));                  exit(json_encode($result_set));
39          }          }
40    
41          if($row = mysqli_fetch_array($rs))          if ($row = mysqli_fetch_array($rs))
42          {          {
43                  $result_set["data"] = array(                  $result_set["data"] = array(
44                          "sid" => $sid,                          "sid" => $sid,
# Line 44  Line 46 
46                          "comment" => $row["comment"],                          "comment" => $row["comment"],
47                          "ex_update" => $row["ex_update"],                          "ex_update" => $row["ex_update"],
48                          "section_hierachy" => array(),                          "section_hierachy" => array(),
49                            "masters" => array(),
50                  );                  );
51          }          }
52          else          else
# Line 57  Line 60 
60    
61          mysqli_free_result($rs);          mysqli_free_result($rs);
62    
63          // Load section list          // Load section master
64          $sql = "SELECT SID, section_config.CID, section_config.title AS s_title, section_class.title AS c_title          $sql = "SELECT section_master.UID, username, major, begin_dt, end_dt FROM section_master
65                          FROM section_config INNER JOIN section_class ON section_config.CID = section_class.CID                          INNER JOIN user_list ON section_master.UID = user_list.UID
66                          WHERE section_class.enable AND section_config.enable                          WHERE SID = $sid AND section_master.enable AND (NOW() BETWEEN begin_dt AND end_dt)
67                          ORDER BY section_class.sort_order, section_config.sort_order";                          ORDER BY major DESC, begin_dt ASC, end_dt ASC";
68    
69          $rs = mysqli_query($db_conn, $sql);          $rs = mysqli_query($db_conn, $sql);
70          if ($rs == false)          if ($rs == false)
71          {          {
72                  $result_set["return"]["code"] = -2;                  $result_set["return"]["code"] = -2;
73                  $result_set["return"]["message"] = "Query section error: " . mysqli_error($db_conn);                  $result_set["return"]["message"] = "Query section master error: " . mysqli_error($db_conn);
74    
75                  mysqli_close($db_conn);                  mysqli_close($db_conn);
76                  exit(json_encode($result_set));                  exit(json_encode($result_set));
77          }          }
78    
         $last_cid = -1;  
         $last_c_title = "";  
         $section_list = array();  
79          while ($row = mysqli_fetch_array($rs))          while ($row = mysqli_fetch_array($rs))
80          {          {
81                  if ($row["CID"] != $last_cid)                  array_push($result_set["data"]["masters"], array(
82                  {                          "uid" => $row["UID"],
83                          if (count($section_list) > 0)                          "username" => $row["username"],
84                          {                          "major" => $row["major"],
85                                  array_push($result_set["data"]["section_hierachy"], array(                          "begin_dt" => $row["begin_dt"],
86                                          "cid" => $last_cid,                          "end_dt" => $row["end_dt"],
87                                          "title" => $last_c_title,                  ));
88                                          "sections" => $section_list,          }
89                                  ));          mysqli_free_result($rs);
   
                                 $section_list = array();  
                         }  
   
                         $last_cid = $row["CID"];  
                         $last_c_title = $row["c_title"];  
                 }  
90    
91                  if ($_SESSION["BBS_priv"]->checkpriv($row["SID"], S_POST | S_MAN_S))          // Load section list
92            $ret = load_section_list($result_set["data"]["section_hierachy"],
93                    function (int $sid) : bool
94                  {                  {
95                          array_push($section_list, array(                          return $_SESSION["BBS_priv"]->checkpriv($sid, S_POST | S_MAN_S);
96                                  "sid" => $row["SID"],                  },
97                                  "title" => $row["s_title"],                  $db_conn);
                         ));  
                 }  
         }  
98    
99          if (count($section_list) > 0)          if ($ret == false)
100          {          {
101                  array_push($result_set["data"]["section_hierachy"], array(                  $result_set["return"]["code"] = -2;
102                          "cid" => $last_cid,                  $result_set["return"]["message"] = "Query section error: " . mysqli_error($db_conn);
                         "title" => $last_c_title,  
                         "sections" => $section_list,  
                 ));  
         }  
103    
104          mysqli_free_result($rs);                  mysqli_close($db_conn);
105                    exit(json_encode($result_set));
106            }
107    
108          mysqli_close($db_conn);          mysqli_close($db_conn);
109    


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

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