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

Diff of /fenglin/bbs/post_service.php

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

Revision 1.4 by sysadm, Sat Apr 5 15:19:16 2025 UTC Revision 1.10 by sysadm, Wed Apr 23 04:51:55 2025 UTC
# Line 1  Line 1 
1  <?  <?php
2          require_once "../lib/common.inc.php";          require_once "../lib/common.inc.php";
3          require_once "../lib/db_open.inc.php";          require_once "../lib/db_open.inc.php";
         require_once "./common_lib.inc.php";  
         require_once "./session_init.inc.php";  
4          require_once "../lib/lml.inc.php";          require_once "../lib/lml.inc.php";
         require_once "./check_sub.inc.php";  
5          require_once "../lib/str_process.inc.php";          require_once "../lib/str_process.inc.php";
6            require_once "./article_op.inc.php";
7            require_once "./session_init.inc.php";
8            require_once "./check_sub.inc.php";
9    
10          force_login();          force_login();
11    
# Line 41  Line 41 
41                  ));                  ));
42          }          }
43    
44            $r_title = split_line($title, "", 80, 1);
45            if ($title != $r_title)
46            {
47                    $result_set["return"]["code"] = -1;
48                    array_push($result_set["return"]["errorFields"], array(
49                            "id" => "title",
50                            "errMsg" => "超长已截断",
51                            "updateValue" => $r_title,
52                    ));
53            }
54    
55            $r_title = check_badwords($title, "****");
56            if ($title != $r_title)
57            {
58                    $result_set["return"]["code"] = -1;
59                    array_push($result_set["return"]["errorFields"], array(
60                            "id" => "title",
61                            "errMsg" => "已过滤",
62                            "updateValue" => $r_title,
63                    ));
64            }
65    
66            $r_content = check_badwords($content, "****");
67            if ($content != $r_content)
68            {
69                    $result_set["return"]["code"] = -1;
70                    array_push($result_set["return"]["errorFields"], array(
71                            "id" => "content",
72                            "errMsg" => "已过滤",
73                            "updateValue" => $r_content,
74                    ));
75            }
76    
77          if ($emoji <= 0 || $emoji > $BBS_emoji_count)          if ($emoji <= 0 || $emoji > $BBS_emoji_count)
78          {          {
79                  $result_set["return"]["code"] = -1;                  $result_set["return"]["code"] = -1;
# Line 65  Line 98 
98                  exit(json_encode($result_set));                  exit(json_encode($result_set));
99          }          }
100    
101          // Append sign          // Append sign for new post
102          if ($sign_id > 0)          if ($id == 0 && $sign_id > 0)
103          {          {
104                  $sql = "SELECT sign_" . $sign_id . " AS sign FROM user_pubinfo WHERE UID = " . $_SESSION["BBS_uid"];                  $sql = "SELECT sign_" . $sign_id . " AS sign FROM user_pubinfo WHERE UID = " . $_SESSION["BBS_uid"];
105                  $rs = mysqli_query($db_conn, $sql);                  $rs = mysqli_query($db_conn, $sql);
# Line 92  Line 125 
125                  $content .= ("\n--\n※作者已于 " . date("Y-m-d H:i:s") . " 修改本文※\n");                  $content .= ("\n--\n※作者已于 " . date("Y-m-d H:i:s") . " 修改本文※\n");
126          }          }
127    
128          // Filter badwords and truncate          // Calculate length of content
         $title = check_badwords(split_line($title, "", 80, 1));  
         $content = check_badwords($content);  
129          $length = str_length(LML($content, false, false, 1024));          $length = str_length(LML($content, false, false, 1024));
130    
131          // Initial variables          // Initial variables
# Line 190  Line 221 
221                  }                  }
222                  else // Reply article                  else // Reply article
223                  {                  {
224                          $sql = "SELECT TID, SID, title, `lock` FROM bbs WHERE AID = $reply_id AND visible";                          $sql = "SELECT TID, SID, title, `lock` FROM bbs WHERE AID = $reply_id AND visible FOR UPDATE";
225                                                    
226                          $rs = mysqli_query($db_conn, $sql);                          $rs = mysqli_query($db_conn, $sql);
227                          if ($rs == false)                          if ($rs == false)
# Line 224  Line 255 
255    
256                          if ($tid != 0) // Article to be replied is not the head of topic thread                          if ($tid != 0) // Article to be replied is not the head of topic thread
257                          {                          {
258                                  $sql = "SELECT SID, title, `lock` FROM bbs WHERE AID = $tid AND visible";                                  $sql = "SELECT SID, title, `lock` FROM bbs WHERE AID = $tid AND visible FOR UPDATE";
259    
260                                  $rs = mysqli_query($db_conn, $sql);                                  $rs = mysqli_query($db_conn, $sql);
261                                  if ($rs == false)                                  if ($rs == false)
# Line 289  Line 320 
320                                  $result_set["return"]["code"] = -1;                                  $result_set["return"]["code"] = -1;
321                                  array_push($result_set["return"]["errorFields"], array(                                  array_push($result_set["return"]["errorFields"], array(
322                                          "id" => "prompt",                                          "id" => "prompt",
323                                          "errMsg" => "本版连续发表主题数量达到上限",                                          "errMsg" => "本版连续发表文章数量达到上限",
324                                  ));                                  ));
325                                    
326                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
# Line 317  Line 348 
348          }          }
349          else // Modify article          else // Modify article
350          {          {
351                  $sql = "SELECT TID, UID, SID, excerption FROM bbs WHERE AID = $id AND visible";                  $sql = "SELECT TID, UID, SID, excerption FROM bbs WHERE AID = $id AND visible FOR UPDATE";
352    
353                  $rs = mysqli_query($db_conn, $sql);                  $rs = mysqli_query($db_conn, $sql);
354                  if ($rs == false)                  if ($rs == false)
# Line 591  Line 622 
622                  if ($reply_id > 0)                  if ($reply_id > 0)
623                  {                  {
624                          $sql = "UPDATE bbs SET reply_count = reply_count + 1,                          $sql = "UPDATE bbs SET reply_count = reply_count + 1,
625                                          last_reply_dt = now(), last_reply_UID=" . $_SESSION["BBS_uid"] .                                          last_reply_dt = NOW(), last_reply_UID=" . $_SESSION["BBS_uid"] .
626                                          ", last_reply_username = '" . $_SESSION["BBS_username"] .                                          ", last_reply_username = '" . $_SESSION["BBS_username"] .
627                                          "', last_reply_nickname = '$nickname' WHERE Aid = $tid";                                          "', last_reply_nickname = '$nickname' WHERE Aid = $tid";
628    
# Line 729  Line 760 
760          }          }
761    
762          // Set return path          // Set return path
         $result_set["return"]["tid"] = $tid;  
763          $result_set["return"]["aid"] = $aid;          $result_set["return"]["aid"] = $aid;
764    
765          $_SESSION["BBS_last_sub_tm"] = time();          $_SESSION["BBS_last_sub_tm"] = time();


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

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