/[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.4 by sysadm, Sun Apr 13 01:03:17 2025 UTC Revision 1.10 by sysadm, Wed Oct 1 12:40:03 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 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                    // Rewrite title with "Re: Re: " prefix into "Re: ... "
252                    $title = $row["title"];
253                    if ($row["TID"] != 0)
254                    {
255                            $j = 0;
256                            while (substr_compare($row["title"], "Re: ", $j, strlen("Re: ")) == 0)
257                            {
258                                    $j += strlen("Re: ");
259                            }
260                            if ($j >= strlen("Re: Re: "))
261                            {
262                                    $title = "Re: ... " . substr($row["title"], $j);
263                            }
264                    }
265    
266                  array_push($result_set["data"]["articles"], array(                  array_push($result_set["data"]["articles"], array(
267                          "aid" => $row["AID"],                          "aid" => $row["AID"],
268                          "tid" => $row["TID"],                          "tid" => $row["TID"],
269                          "title" => $row["title"],                          "title" => $title,
270                          "sub_dt" => (new DateTimeImmutable($row["sub_dt"]))->setTimezone($_SESSION["BBS_user_tz"]),                          "sub_dt" => (new DateTimeImmutable($row["sub_dt"]))->setTimezone($_SESSION["BBS_user_tz"]),
271                          "length" => $row["length"],                          "length" => $row["length"],
272                          "icon" => $row["icon"],                          "icon" => $row["icon"],
# Line 267  Line 284 
284                          "last_reply_uid" => $row["last_reply_UID"],                          "last_reply_uid" => $row["last_reply_UID"],
285                          "last_reply_username" => $row["last_reply_username"],                          "last_reply_username" => $row["last_reply_username"],
286                          "last_reply_nickname" => $row["last_reply_nickname"],                          "last_reply_nickname" => $row["last_reply_nickname"],
287                          "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),
288                  ));                  ));
289    
290                    if (!isset($author_list[$row["UID"]]))
291                    {
292                            $author_list[$row["UID"]] = true;
293                    }
294                    if (!isset($author_list[$row["last_reply_UID"]]))
295                    {
296                            $author_list[$row["last_reply_UID"]] = true;
297                    }
298    
299                    unset($title);
300          }          }
301          mysqli_free_result($rs);          mysqli_free_result($rs);
302    
303            $uid_list = "-1";
304            foreach ($author_list as $uid => $status)
305            {
306                    $uid_list .= (", " . $uid);
307            }
308            unset($author_list);
309    
310            $author_list = array();
311    
312            $sql = "SELECT UID FROM user_list WHERE UID IN ($uid_list) AND enable";
313    
314            $rs = mysqli_query($db_conn, $sql);
315            if ($rs == false)
316            {
317                    $result_set["return"]["code"] = -2;
318                    $result_set["return"]["message"] = "Query user list error: " . mysqli_error($db_conn);
319    
320                    mysqli_close($db_conn);
321                    exit(json_encode($result_set));
322            }
323    
324            while ($row = mysqli_fetch_array($rs))
325            {
326                    $author_list[$row["UID"]] = true;
327            }
328            mysqli_free_result($rs);
329    
330            $result_set["data"]["author_list"] = $author_list;
331            unset($author_list);
332    
333          mysqli_close($db_conn);          mysqli_close($db_conn);
334    
335          // Cleanup          // Cleanup
# Line 302  Line 360 
360                  exit(json_encode($result_set)); // Output data in Json                  exit(json_encode($result_set)); // Output data in Json
361          }          }
362          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