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

Diff of /fenglin/bbs/list.php

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

Revision 1.3 by sysadm, Sat Apr 12 05:02:55 2025 UTC Revision 1.9 by sysadm, Sat Jun 7 10:15:01 2025 UTC
# Line 1  Line 1 
1  <?  <?php
2          require_once "../lib/db_open.inc.php";          require_once "../lib/db_open.inc.php";
3          require_once "./session_init.inc.php";          require_once "./session_init.inc.php";
4          require_once "./section_list_gen.inc.php";          require_once "./section_list_gen.inc.php";
# Line 25  Line 25 
25          $page = (isset($_GET["page"]) ? intval($_GET["page"]) : 1);          $page = (isset($_GET["page"]) ? intval($_GET["page"]) : 1);
26          $rpp = (isset($_GET["rpp"]) ? intval($_GET["rpp"]) : 20);          $rpp = (isset($_GET["rpp"]) ? intval($_GET["rpp"]) : 20);
27    
28            if (!in_array($rpp, $BBS_list_rpp_options))
29            {
30                    $rpp = $BBS_list_rpp_options[0];
31            }
32    
33          if (!$_SESSION["BBS_priv"]->checkpriv($sid, S_LIST))          if (!$_SESSION["BBS_priv"]->checkpriv($sid, S_LIST))
34          {          {
35                  force_login();                  force_login();
# Line 107  Line 112 
112          }          }
113          mysqli_free_result($rs);          mysqli_free_result($rs);
114    
         if (!in_array($rpp, $BBS_list_rpp_options))  
         {  
                 $rpp = $BBS_list_rpp_options[0];  
         }  
   
115          $page_total = ceil($toa / $rpp);          $page_total = ceil($toa / $rpp);
116          if ($page > $page_total)          if ($page > $page_total)
117          {          {
# Line 179  Line 179 
179                          "username" => $row["username"],                          "username" => $row["username"],
180                          "major" => $row["major"],                          "major" => $row["major"],
181                  ));                  ));
182          }          }
183          mysqli_free_result($rs);          mysqli_free_result($rs);
184    
185          // Query articles          // Query articles
# Line 218  Line 218 
218                                  array_push($visited_aid_list, $row["AID"]);                                  array_push($visited_aid_list, $row["AID"]);
219                          }                          }
220                  }                  }
221                    
222                  mysqli_data_seek($rs, 0);                  mysqli_data_seek($rs, 0);
223    
224                  if ($aid_list != "-1")                  if ($aid_list != "-1")
# Line 230  Line 230 
230                          {                          {
231                                  $result_set["return"]["code"] = -2;                                  $result_set["return"]["code"] = -2;
232                                  $result_set["return"]["message"] = "Query view_article_log error: " . mysqli_error($db_conn);                                  $result_set["return"]["message"] = "Query view_article_log error: " . mysqli_error($db_conn);
233                    
234                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
235                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
236                          }                          }
237                    
238                          while ($row_view = mysqli_fetch_array($rs_view))                          while ($row_view = mysqli_fetch_array($rs_view))
239                          {                          {
240                                  array_push($visited_aid_list, $row_view["AID"]);                                  array_push($visited_aid_list, $row_view["AID"]);
241                          }                          }
242                    
243                          mysqli_free_result($rs_view);                          mysqli_free_result($rs_view);
244                  }                  }
245          }          }
246    
247            $author_list = array();
248    
249          while ($row = mysqli_fetch_array($rs))          while ($row = mysqli_fetch_array($rs))
250          {          {
251                  array_push($result_set["data"]["articles"], array(                  array_push($result_set["data"]["articles"], array(
# Line 267  Line 269 
269                          "last_reply_uid" => $row["last_reply_UID"],                          "last_reply_uid" => $row["last_reply_UID"],
270                          "last_reply_username" => $row["last_reply_username"],                          "last_reply_username" => $row["last_reply_username"],
271                          "last_reply_nickname" => $row["last_reply_nickname"],                          "last_reply_nickname" => $row["last_reply_nickname"],
272                          "visited" => (($_SESSION["BBS_uid"] > 0 && in_array($row["AID"], $visited_aid_list)) ? 1 : 0),                          "visited" => (($_SESSION["BBS_uid"] > 0 && ($row["UID"] == $_SESSION["BBS_uid"] || in_array($row["AID"], $visited_aid_list))) ? 1 : 0),
273                  ));                  ));
274    
275                    if (!isset($author_list[$row["UID"]]))
276                    {
277                            $author_list[$row["UID"]] = true;
278                    }
279                    if (!isset($author_list[$row["last_reply_UID"]]))
280                    {
281                            $author_list[$row["last_reply_UID"]] = true;
282                    }
283          }          }
284          mysqli_free_result($rs);          mysqli_free_result($rs);
285    
286            $uid_list = "-1";
287            foreach ($author_list as $uid => $status)
288            {
289                    $uid_list .= (", " . $uid);
290            }
291            unset($author_list);
292    
293            $author_list = array();
294    
295            $sql = "SELECT UID FROM user_list WHERE UID IN ($uid_list) AND enable";
296    
297            $rs = mysqli_query($db_conn, $sql);
298            if ($rs == false)
299            {
300                    $result_set["return"]["code"] = -2;
301                    $result_set["return"]["message"] = "Query user list error: " . mysqli_error($db_conn);
302    
303                    mysqli_close($db_conn);
304                    exit(json_encode($result_set));
305            }
306    
307            while ($row = mysqli_fetch_array($rs))
308            {
309                    $author_list[$row["UID"]] = true;
310            }
311            mysqli_free_result($rs);
312    
313            $result_set["data"]["author_list"] = $author_list;
314            unset($author_list);
315    
316          mysqli_close($db_conn);          mysqli_close($db_conn);
317    
318          // Cleanup          // Cleanup
# Line 302  Line 343 
343                  exit(json_encode($result_set)); // Output data in Json                  exit(json_encode($result_set)); // Output data in Json
344          }          }
345          include $theme_view_file;          include $theme_view_file;
 ?>  


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

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