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

Diff of /fenglin/bbs/article_service_post.php

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

Revision 1.3 by sysadm, Fri Apr 25 07:12:12 2025 UTC Revision 1.9 by sysadm, Fri Oct 10 12:15:02 2025 UTC
# Line 107  Line 107 
107                  {                  {
108                          $result_set["return"]["code"] = -2;                          $result_set["return"]["code"] = -2;
109                          $result_set["return"]["message"] = "Query sign error: " . mysqli_error($db_conn);                          $result_set["return"]["message"] = "Query sign 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                  }                  }
# Line 122  Line 122 
122          // Append indication of article update          // Append indication of article update
123          if ($id != 0)          if ($id != 0)
124          {          {
125                  $content .= ("\n--\n※作者已于 " . date("Y-m-d H:i:s") . " 修改本文※\n");                  $content .= ("\n--\n※ 作者已于 " . (new DateTimeImmutable("", $_SESSION["BBS_user_tz"]))->format("Y-m-d H:i:s (\U\T\C P)") . " 修改本文※\n");
126          }          }
127    
128          // Calculate length of content          // Calculate length of content
# Line 143  Line 143 
143                  mysqli_close($db_conn);                  mysqli_close($db_conn);
144                  exit(json_encode($result_set));                  exit(json_encode($result_set));
145          }          }
146            
147          $rs = mysqli_query($db_conn, "BEGIN");          $rs = mysqli_query($db_conn, "BEGIN");
148          if ($rs == false)          if ($rs == false)
149          {          {
# Line 167  Line 167 
167                          mysqli_close($db_conn);                          mysqli_close($db_conn);
168                          exit(json_encode($result_set));                          exit(json_encode($result_set));
169                  }                  }
170            
171                  if ($reply_id == 0) // Post new thread                  if ($reply_id == 0) // Post new thread
172                  {                  {
173                          $sql = "SELECT SID FROM section_config WHERE SID = $sid AND enable";                          $sql = "SELECT SID FROM section_config WHERE SID = $sid AND enable";
# Line 177  Line 177 
177                          {                          {
178                                  $result_set["return"]["code"] = -2;                                  $result_set["return"]["code"] = -2;
179                                  $result_set["return"]["message"] = "Query section error: " . mysqli_error($db_conn);                                  $result_set["return"]["message"] = "Query section error: " . mysqli_error($db_conn);
180                    
181                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
182                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
183                          }                          }
184                    
185                          if (mysqli_num_rows($rs) == 0)                          if (mysqli_num_rows($rs) == 0)
186                          {                          {
187                                  $result_set["return"]["code"] = -1;                                  $result_set["return"]["code"] = -1;
# Line 189  Line 189 
189                                          "id" => "prompt",                                          "id" => "prompt",
190                                          "errMsg" => "版块不存在!",                                          "errMsg" => "版块不存在!",
191                                  ));                                  ));
192                    
193                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
194                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
195                          }                          }
# Line 202  Line 202 
202                                          "id" => "prompt",                                          "id" => "prompt",
203                                          "errMsg" => "您无权发表文章!",                                          "errMsg" => "您无权发表文章!",
204                                  ));                                  ));
205                    
206                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
207                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
208                          }                          }
# Line 214  Line 214 
214                                          "id" => "prompt",                                          "id" => "prompt",
215                                          "errMsg" => "本版连续发表主题数量达到上限",                                          "errMsg" => "本版连续发表主题数量达到上限",
216                                  ));                                  ));
217                    
218                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
219                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
220                          }                          }
# Line 222  Line 222 
222                  else // Reply article                  else // Reply article
223                  {                  {
224                          $sql = "SELECT TID, SID, title, `lock` FROM bbs WHERE AID = $reply_id AND visible FOR UPDATE";                          $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)
228                          {                          {
229                                  $result_set["return"]["code"] = -2;                                  $result_set["return"]["code"] = -2;
230                                  $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);                                  $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);
231                    
232                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
233                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
234                          }                          }
# Line 247  Line 247 
247                                          "id" => "prompt",                                          "id" => "prompt",
248                                          "errMsg" => "回复的文章不存在!",                                          "errMsg" => "回复的文章不存在!",
249                                  ));                                  ));
250                    
251                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
252                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
253                          }                          }
254                          mysqli_free_result($rs);                          mysqli_free_result($rs);
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
# Line 262  Line 262 
262                                  {                                  {
263                                          $result_set["return"]["code"] = -2;                                          $result_set["return"]["code"] = -2;
264                                          $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);                                          $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);
265                            
266                                          mysqli_close($db_conn);                                          mysqli_close($db_conn);
267                                          exit(json_encode($result_set));                                          exit(json_encode($result_set));
268                                  }                                  }
269            
270                                  if ($row = mysqli_fetch_array($rs))                                  if ($row = mysqli_fetch_array($rs))
271                                  {                                  {
272                                          $sid = $row["SID"]; // In case of inconsistent SID data                                          $sid = $row["SID"]; // In case of inconsistent SID data
# Line 280  Line 280 
280                                                  "id" => "prompt",                                                  "id" => "prompt",
281                                                  "errMsg" => "回复的主题不存在!",                                                  "errMsg" => "回复的主题不存在!",
282                                          ));                                          ));
283                            
284                                          mysqli_close($db_conn);                                          mysqli_close($db_conn);
285                                          exit(json_encode($result_set));                                          exit(json_encode($result_set));
286                                  }                                  }
287                                  mysqli_free_result($rs);                                                                  mysqli_free_result($rs);
288                          }                          }
289                          else                          else
290                          {                          {
# Line 298  Line 298 
298                                          "id" => "prompt",                                          "id" => "prompt",
299                                          "errMsg" => "您无权发表文章!",                                          "errMsg" => "您无权发表文章!",
300                                  ));                                  ));
301                    
302                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
303                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
304                          }                          }
# Line 310  Line 310 
310                                          "id" => "prompt",                                          "id" => "prompt",
311                                          "errMsg" => "该主题谢绝回复!",                                          "errMsg" => "该主题谢绝回复!",
312                                  ));                                  ));
313                    
314                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
315                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
316                          }                          }
# Line 322  Line 322 
322                                          "id" => "prompt",                                          "id" => "prompt",
323                                          "errMsg" => "本版连续发表文章数量达到上限",                                          "errMsg" => "本版连续发表文章数量达到上限",
324                                  ));                                  ));
325                    
326                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
327                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
328                          }                          }
# Line 334  Line 334 
334                  {                  {
335                          $result_set["return"]["code"] = -2;                          $result_set["return"]["code"] = -2;
336                          $result_set["return"]["message"] = "Query user pubinfo error: " . mysqli_error($db_conn);                          $result_set["return"]["message"] = "Query user pubinfo error: " . mysqli_error($db_conn);
337            
338                          mysqli_close($db_conn);                          mysqli_close($db_conn);
339                          exit(json_encode($result_set));                          exit(json_encode($result_set));
340                  }                  }
341            
342                  if($row = mysqli_fetch_array($rs))                  if($row = mysqli_fetch_array($rs))
343                  {                  {
344                          $nickname = $row["nickname"];                          $nickname = $row["nickname"];
# Line 355  Line 355 
355                  {                  {
356                          $result_set["return"]["code"] = -2;                          $result_set["return"]["code"] = -2;
357                          $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);                          $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);
358            
359                          mysqli_close($db_conn);                          mysqli_close($db_conn);
360                          exit(json_encode($result_set));                          exit(json_encode($result_set));
361                  }                  }
362            
363                  if($row = mysqli_fetch_array($rs))                  if($row = mysqli_fetch_array($rs))
364                  {                  {
365                          $tid = ($row["TID"] > 0 ? $row["TID"] : $id);                          $tid = ($row["TID"] > 0 ? $row["TID"] : $id);
# Line 374  Line 374 
374                                  "id" => "prompt",                                  "id" => "prompt",
375                                  "errMsg" => "修改的文章不存在!",                                  "errMsg" => "修改的文章不存在!",
376                          ));                          ));
377            
378                          mysqli_close($db_conn);                          mysqli_close($db_conn);
379                          exit(json_encode($result_set));                          exit(json_encode($result_set));
380                  }                  }
381                  mysqli_free_result($rs);                  mysqli_free_result($rs);
382                    
383                  if (!($_SESSION["BBS_priv"]->checkpriv($sid, S_POST) && $_SESSION["BBS_uid"] == $uid && (!$excerption)))                  if (!($_SESSION["BBS_priv"]->checkpriv($sid, S_POST) && $_SESSION["BBS_uid"] == $uid && (!$excerption)))
384                  {                  {
385                          $result_set["return"]["code"] = -1;                          $result_set["return"]["code"] = -1;
# Line 387  Line 387 
387                                  "id" => "prompt",                                  "id" => "prompt",
388                                  "errMsg" => "您无权修改此文章!",                                  "errMsg" => "您无权修改此文章!",
389                          ));                          ));
390            
391                          mysqli_close($db_conn);                          mysqli_close($db_conn);
392                          exit(json_encode($result_set));                          exit(json_encode($result_set));
393                  }                  }
394          }          }
395    
396          // Get upload quota and used space          // Get upload quota and used space
# Line 420  Line 420 
420                  {                  {
421                          $result_set["return"]["code"] = -2;                          $result_set["return"]["code"] = -2;
422                          $result_set["return"]["message"] = "Query upload limit error: " . mysqli_error($db_conn);                          $result_set["return"]["message"] = "Query upload limit error: " . mysqli_error($db_conn);
423            
424                          mysqli_close($db_conn);                          mysqli_close($db_conn);
425                          exit(json_encode($result_set));                          exit(json_encode($result_set));
426                  }                  }
427            
428                  if ($row = mysqli_fetch_array($rs))                  if ($row = mysqli_fetch_array($rs))
429                  {                  {
430                          $upload_limit = $row["upload_limit"];                          $upload_limit = $row["upload_limit"];
431                  }                  }
432                  mysqli_free_result($rs);                  mysqli_free_result($rs);
433            
434                  $sql = "SELECT COUNT(size) AS upload_used FROM upload_file WHERE UID = " . $_SESSION["BBS_uid"] .                  $sql = "SELECT COUNT(size) AS upload_used FROM upload_file WHERE UID = " . $_SESSION["BBS_uid"] .
435                                  " AND deleted = 0";                                  " AND deleted = 0";
436            
437                  $rs = mysqli_query($db_conn, $sql);                  $rs = mysqli_query($db_conn, $sql);
438                  if ($rs == false)                  if ($rs == false)
439                  {                  {
440                          $result_set["return"]["code"] = -2;                          $result_set["return"]["code"] = -2;
441                          $result_set["return"]["message"] = "Query upload file error: " . mysqli_error($db_conn);                          $result_set["return"]["message"] = "Query upload file error: " . mysqli_error($db_conn);
442            
443                          mysqli_close($db_conn);                          mysqli_close($db_conn);
444                          exit(json_encode($result_set));                          exit(json_encode($result_set));
445                  }                  }
446            
447                  if ($row = mysqli_fetch_array($rs))                  if ($row = mysqli_fetch_array($rs))
448                  {                  {
449                          $upload_used = $row["upload_used"];                          $upload_used = $row["upload_used"];
# Line 461  Line 461 
461                                  "id" => "attachment",                                  "id" => "attachment",
462                                  "errMsg" => "上传文件错误",                                  "errMsg" => "上传文件错误",
463                          ));                          ));
464            
465                          mysqli_close($db_conn);                          mysqli_close($db_conn);
466                          exit(json_encode($result_set));                          exit(json_encode($result_set));
467                  }                  }
# Line 478  Line 478 
478                                          "id" => "attachment",                                          "id" => "attachment",
479                                          "errMsg" => "文件大小超过限制",                                          "errMsg" => "文件大小超过限制",
480                                  ));                                  ));
481                    
482                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
483                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
484                          }                          }
# Line 491  Line 491 
491                                          "id" => "attachment",                                          "id" => "attachment",
492                                          "errMsg" => "用户上传空间配额不足",                                          "errMsg" => "用户上传空间配额不足",
493                                  ));                                  ));
494                    
495                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
496                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
497                          }                          }
498    
499                          $ext = strtolower(substr($filename, (strrpos($filename, ".") ? strrpos($filename, ".") + 1 : 0)));                          $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
500                          switch ($ext)                          switch ($ext)
501                          {                          {
502                                  case "bmp":                                  case "bmp":
# Line 516  Line 516 
516                                                  "id" => "attachment",                                                  "id" => "attachment",
517                                                  "errMsg" => "不支持的文件扩展名",                                                  "errMsg" => "不支持的文件扩展名",
518                                          ));                                          ));
519                                            
520                                          mysqli_close($db_conn);                                          mysqli_close($db_conn);
521                                          exit(json_encode($result_set));                                          exit(json_encode($result_set));
522                          }                          }
523            
524                          $finfo = new finfo(FILEINFO_MIME_TYPE);                          $finfo = new finfo(FILEINFO_MIME_TYPE);
525                          $mime_type = $finfo->file($_FILES['attachment']['tmp_name'][$i]);                          $mime_type = $finfo->file($_FILES['attachment']['tmp_name'][$i]);
526                          $real_ext = array_search($mime_type, array(                          $real_ext = array_search($mime_type, array(
# Line 533  Line 533 
533                                          'rar' => 'application/x-rar',                                          'rar' => 'application/x-rar',
534                                          'zip' => 'application/zip',                                          'zip' => 'application/zip',
535                                          ), true);                                          ), true);
536                            
537                          if ($real_ext === false)                          if ($real_ext === false)
538                          {                          {
539                                  $result_set["return"]["code"] = -1;                                  $result_set["return"]["code"] = -1;
# Line 541  Line 541 
541                                          "id" => "attachment",                                          "id" => "attachment",
542                                          "errMsg" => "不支持的文件格式",                                          "errMsg" => "不支持的文件格式",
543                                  ));                                  ));
544                                    
545                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
546                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
547                          }                          }
# Line 562  Line 562 
562                  {                  {
563                          $result_set["return"]["code"] = -2;                          $result_set["return"]["code"] = -2;
564                          $result_set["return"]["message"] = "Add upload file error: " . mysqli_error($db_conn);                          $result_set["return"]["message"] = "Add upload file error: " . mysqli_error($db_conn);
565            
566                          mysqli_close($db_conn);                          mysqli_close($db_conn);
567                          exit(json_encode($result_set));                          exit(json_encode($result_set));
568                  }                  }
569            
570                  $attachment_id = mysqli_insert_id($db_conn);                  $attachment_id = mysqli_insert_id($db_conn);
571                  $atta_id_list .= ("," . $attachment_id);                  $atta_id_list .= ("," . $attachment_id);
572    
# Line 575  Line 575 
575                  {                  {
576                          $result_set["return"]["code"] = -2;                          $result_set["return"]["code"] = -2;
577                          $result_set["return"]["message"] = "Copy file error";                          $result_set["return"]["message"] = "Copy file error";
578            
579                          mysqli_close($db_conn);                          mysqli_close($db_conn);
580                          exit(json_encode($result_set));                          exit(json_encode($result_set));
581                  }                  }
# Line 590  Line 590 
590          {          {
591                  $result_set["return"]["code"] = -2;                  $result_set["return"]["code"] = -2;
592                  $result_set["return"]["message"] = "Add content error: " . mysqli_error($db_conn);                  $result_set["return"]["message"] = "Add content error: " . mysqli_error($db_conn);
593            
594                  mysqli_close($db_conn);                  mysqli_close($db_conn);
595                  exit(json_encode($result_set));                  exit(json_encode($result_set));
596          }          }
# Line 612  Line 612 
612                  {                  {
613                          $result_set["return"]["code"] = -2;                          $result_set["return"]["code"] = -2;
614                          $result_set["return"]["message"] = "Add article error: " . mysqli_error($db_conn);                          $result_set["return"]["message"] = "Add article error: " . mysqli_error($db_conn);
615            
616                          mysqli_close($db_conn);                          mysqli_close($db_conn);
617                          exit(json_encode($result_set));                          exit(json_encode($result_set));
618                  }                  }
# Line 632  Line 632 
632                          {                          {
633                                  $result_set["return"]["code"] = -2;                                  $result_set["return"]["code"] = -2;
634                                  $result_set["return"]["message"] = "Update replied article error: " . mysqli_error($db_conn);                                  $result_set["return"]["message"] = "Update replied article error: " . mysqli_error($db_conn);
635                    
636                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
637                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
638                          }                          }
639    
640                          //Notify the authors of the topic which is replyed.                          //Notify the authors of the topic / article which is replyed.
641                          $sql = "SELECT DISTINCT UID FROM bbs WHERE (AID = $tid OR TID = $tid)                          $sql = "SELECT DISTINCT UID FROM bbs WHERE (AID = $tid OR AID = $reply_id)
642                                          AND visible AND reply_note AND UID <> " . $_SESSION["BBS_uid"];                                          AND visible AND reply_note AND UID <> " . $_SESSION["BBS_uid"];
643    
644                          $rs = mysqli_query($db_conn, $sql);                          $rs = mysqli_query($db_conn, $sql);
# Line 646  Line 646 
646                          {                          {
647                                  $result_set["return"]["code"] = -2;                                  $result_set["return"]["code"] = -2;
648                                  $result_set["return"]["message"] = "Read reply info error: " . mysqli_error($db_conn);                                  $result_set["return"]["message"] = "Read reply info error: " . mysqli_error($db_conn);
649                    
650                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
651                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
652                          }                          }
# Line 654  Line 654 
654                          while ($row = mysqli_fetch_array($rs))                          while ($row = mysqli_fetch_array($rs))
655                          {                          {
656                                  //Send notification message                                  //Send notification message
657                                  $msg_content = "[hide]SYS_Reply_Article[/hide]有人回复了您所发表/回复的主题文章,快来".                                  $msg_content = "有人回复了您所发表/回复的文章,快来".
658                                          "[article $aid]看看[/article]《" . $r_title . "》吧!\n";                                          "[article $aid]看看[/article]《" . $r_title . "》吧!\n";
659    
660                                  $sql = "INSERT INTO bbs_msg(fromUID, toUID, content, send_dt, send_ip)                                  $sql = "INSERT INTO bbs_msg(fromUID, toUID, content, send_dt, send_ip)
661                                                  VALUES($BBS_sys_uid, " . $row["UID"] . ", '" .                                                  VALUES($BBS_sys_uid, " . $row["UID"] . ", '" .
662                                                  mysqli_real_escape_string($db_conn, $msg_content) .                                                  mysqli_real_escape_string($db_conn, $msg_content) .
663                                                  "', NOW(), '" . client_addr() . "')";                                                  "', NOW(), '" . client_addr() . "')";
664    
# Line 667  Line 667 
667                                  {                                  {
668                                          $result_set["return"]["code"] = -2;                                          $result_set["return"]["code"] = -2;
669                                          $result_set["return"]["message"] = "Insert msg error: " . mysqli_error($db_conn);                                          $result_set["return"]["message"] = "Insert msg error: " . mysqli_error($db_conn);
670                            
671                                          mysqli_close($db_conn);                                          mysqli_close($db_conn);
672                                          exit(json_encode($result_set));                                          exit(json_encode($result_set));
673                                  }                                  }
674                          }                          }
675    
676                          mysqli_free_result($rs);                          mysqli_free_result($rs);
677                  }                  }
# Line 688  Line 688 
688                          {                          {
689                                  $result_set["return"]["code"] = -2;                                  $result_set["return"]["code"] = -2;
690                                  $result_set["return"]["message"] = "Add exp error: " . mysqli_error($db_conn);                                  $result_set["return"]["message"] = "Add exp error: " . mysqli_error($db_conn);
691                    
692                                  mysqli_close($db_conn);                                  mysqli_close($db_conn);
693                                  exit(json_encode($result_set));                                  exit(json_encode($result_set));
694                          }                          }
# Line 744  Line 744 
744          {          {
745                  $result_set["return"]["code"] = -2;                  $result_set["return"]["code"] = -2;
746                  $result_set["return"]["message"] = "Add log error: " . mysqli_error($db_conn);                  $result_set["return"]["message"] = "Add log error: " . mysqli_error($db_conn);
747            
748                  mysqli_close($db_conn);                  mysqli_close($db_conn);
749                  exit(json_encode($result_set));                  exit(json_encode($result_set));
750          }          }
# Line 767  Line 767 
767    
768          mysqli_close($db_conn);          mysqli_close($db_conn);
769          exit(json_encode($result_set));          exit(json_encode($result_set));
 ?>  


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

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