/[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.3 by sysadm, Wed Apr 9 04:10:57 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 41  Line 43 
43          {          {
44                  $result_set["data"] = array(                  $result_set["data"] = array(
45                          "sid" => $sid,                          "sid" => $sid,
46                            "cid" => $row["CID"],
47                            "sname" => $row["sname"],
48                            "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                            "sort_order" => $row["sort_order"],
57                            "class_sections" => array(),
58                          "section_hierachy" => array(),                          "section_hierachy" => array(),
59                          "masters" => array(),                          "masters" => array(),
60                  );                  );
# Line 87  Line 98 
98          }          }
99          mysqli_free_result($rs);          mysqli_free_result($rs);
100    
101          // Load section list          // Load sections in current class
102          $sql = "SELECT SID, section_config.CID, section_config.title AS s_title, section_class.title AS c_title          $sql = "SELECT SID, title, sort_order FROM section_config WHERE CID = " .
103                          FROM section_config INNER JOIN section_class ON section_config.CID = section_class.CID                          $result_set["data"]["cid"] . " AND enable ORDER BY sort_order";
                         WHERE section_class.enable AND section_config.enable  
                         ORDER BY section_class.sort_order, section_config.sort_order";  
104    
105          $rs = mysqli_query($db_conn, $sql);          $rs = mysqli_query($db_conn, $sql);
106          if ($rs == false)          if ($rs == false)
107          {          {
108                  $result_set["return"]["code"] = -2;                  $result_set["return"]["code"] = -2;
109                  $result_set["return"]["message"] = "Query section error: " . mysqli_error($db_conn);                  $result_set["return"]["message"] = "Query section list error: " . mysqli_error($db_conn);
110    
111                  mysqli_close($db_conn);                  mysqli_close($db_conn);
112                  exit(json_encode($result_set));                  exit(json_encode($result_set));
113          }          }
114    
         $last_cid = -1;  
         $last_c_title = "";  
         $section_list = array();  
115          while ($row = mysqli_fetch_array($rs))          while ($row = mysqli_fetch_array($rs))
116          {          {
117                  if ($row["CID"] != $last_cid)                  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);
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                          if (count($section_list) > 0)                          return $_SESSION["BBS_priv"]->checkpriv($section["SID"], S_POST | S_MAN_S);
130                          {                  },
131                                  array_push($result_set["data"]["section_hierachy"], array(                  function (array $section, array $filter_param) : mixed
                                         "cid" => $last_cid,  
                                         "title" => $last_c_title,  
                                         "sections" => $section_list,  
                                 ));  
   
                                 $section_list = array();  
                         }  
   
                         $last_cid = $row["CID"];  
                         $last_c_title = $row["c_title"];  
                 }  
   
                 if ($_SESSION["BBS_priv"]->checkpriv($row["SID"], S_POST | S_MAN_S))  
132                  {                  {
133                          array_push($section_list, array(                          return null;
134                                  "sid" => $row["SID"],                  },
135                                  "title" => $row["s_title"],                  $db_conn);
                         ));  
                 }  
         }  
136    
137          if (count($section_list) > 0)          if ($ret == false)
138          {          {
139                  array_push($result_set["data"]["section_hierachy"], array(                  $result_set["return"]["code"] = -2;
140                          "cid" => $last_cid,                  $result_set["return"]["message"] = "Query section error: " . mysqli_error($db_conn);
                         "title" => $last_c_title,  
                         "sections" => $section_list,  
                 ));  
         }  
141    
142          mysqli_free_result($rs);                  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