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

Annotation of /fenglin/bbs/post_service.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations)
Fri Apr 4 07:56:29 2025 UTC (11 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.1: +6 -5 lines
Refine comment

1 sysadm 1.1 <?
2     require_once "../lib/common.inc.php";
3     require_once "../lib/db_open.inc.php";
4     require_once "./common_lib.inc.php";
5     require_once "./session_init.inc.php";
6     require_once "../lib/lml.inc.php";
7     require_once "./check_sub.inc.php";
8     require_once "../lib/str_process.inc.php";
9 sysadm 1.2
10 sysadm 1.1 force_login();
11    
12     $id = (isset($_POST["id"]) ? intval($_POST["id"]) : 0);
13     $reply_id = (isset($_POST["reply_id"]) ? intval($_POST["reply_id"]) : 0);
14     $sid = (isset($_POST["sid"]) ? intval($_POST["sid"]) : $BBS_default_sid);
15     $title = (isset($_POST["title"]) ? trim($_POST["title"]) : "");
16     $transship = (isset($_POST["transship"]) && $_POST["transship"] == "1" ? 1 : 0);
17     $content = (isset($_POST["content"]) ? $_POST["content"] : "");
18     $emoji = (isset($_POST["emoji"]) ? intval($_POST["emoji"]) : 1);
19     $reply_note = (isset($_POST["reply_note"]) && $_POST["reply_note"] == "1" ? 1 : 0);
20     $sign_id = (isset($_POST["sign_id"]) ? intval($_POST["sign_id"]) : 0);
21    
22     $result_set = array(
23     "return" => array(
24     "code" => 0,
25     "tid" => 0,
26     "aid" => 0,
27     "message" => "",
28     "errorFields" => array(),
29     )
30     );
31    
32     header("Content-Type:application/json; charset=utf-8");
33    
34     // Validate input
35     if ($title == "")
36     {
37     $result_set["return"]["code"] = -1;
38     array_push($result_set["return"]["errorFields"], array(
39     "id" => "title",
40     "errMsg" => "不能为空",
41     ));
42     }
43    
44     if ($emoji <= 0 || $emoji > $BBS_emoji_count)
45     {
46     $result_set["return"]["code"] = -1;
47     array_push($result_set["return"]["errorFields"], array(
48     "id" => "emoji",
49     "errMsg" => "选择有误",
50     ));
51     }
52    
53     if ($sign_id < 0 || $sign_id > 3)
54     {
55     $result_set["return"]["code"] = -1;
56     array_push($result_set["return"]["errorFields"], array(
57     "id" => "sign",
58     "errMsg" => "选择有误",
59     ));
60     }
61    
62     if ($result_set["return"]["code"] != 0)
63     {
64     mysqli_close($db_conn);
65     exit(json_encode($result_set));
66     }
67    
68     // Append sign
69     if ($sign_id > 0)
70     {
71     $sql = "SELECT sign_" . $sign_id . " AS sign FROM user_pubinfo WHERE UID = " . $_SESSION["BBS_uid"];
72     $rs = mysqli_query($db_conn, $sql);
73     if ($rs == false)
74     {
75     $result_set["return"]["code"] = -2;
76     $result_set["return"]["message"] = "Query sign error: " . mysqli_error($db_conn);
77    
78     mysqli_close($db_conn);
79     exit(json_encode($result_set));
80     }
81    
82     if($row = mysqli_fetch_array($rs))
83     {
84     $content .= ("\n\n--\n" . split_line($row["sign"], "", 80, 10) . "\n");
85     }
86     mysqli_free_result($rs);
87     }
88    
89     // Append indication of article update
90     if ($id != 0)
91     {
92     $content .= ("\n--\n※作者已于 " . date("Y-m-d H:i:s") . " 修改本文※\n");
93     }
94    
95     // Filter badwords and truncate
96     $title = check_badwords(split_line($title, "", 80, 1));
97     $content = check_badwords($content);
98     $length = str_length(LML($content, false, false, 1024));
99    
100     // Initial variables
101     $tid = 0;
102     $nickname = "";
103     $exp = 0;
104    
105     // Begin transaction
106     $rs = mysqli_query($db_conn, "SET autocommit=0");
107     if ($rs == false)
108     {
109     $result_set["return"]["code"] = -2;
110     $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
111    
112     mysqli_close($db_conn);
113     exit(json_encode($result_set));
114     }
115    
116     $rs = mysqli_query($db_conn, "BEGIN");
117     if ($rs == false)
118     {
119     $result_set["return"]["code"] = -2;
120     $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
121    
122     mysqli_close($db_conn);
123     exit(json_encode($result_set));
124     }
125    
126     if($id == 0) // Post article
127     {
128     if (time() - $_SESSION["BBS_last_sub_tm"] < 5)
129     {
130     $result_set["return"]["code"] = -1;
131     array_push($result_set["return"]["errorFields"], array(
132     "id" => "prompt",
133     "errMsg" => "发帖过于频繁,请稍等",
134     ));
135    
136     mysqli_close($db_conn);
137     exit(json_encode($result_set));
138     }
139    
140     if ($reply_id == 0) // Post new thread
141     {
142     $sql = "SELECT SID FROM section_config WHERE SID = $sid AND enable";
143    
144     $rs = mysqli_query($db_conn, $sql);
145     if ($rs == false)
146     {
147     $result_set["return"]["code"] = -2;
148     $result_set["return"]["message"] = "Query section error: " . mysqli_error($db_conn);
149    
150     mysqli_close($db_conn);
151     exit(json_encode($result_set));
152     }
153    
154     if (mysqli_num_rows($rs) == 0)
155     {
156     $result_set["return"]["code"] = -1;
157     array_push($result_set["return"]["errorFields"], array(
158     "id" => "prompt",
159     "errMsg" => "版块不存在!",
160     ));
161    
162     mysqli_close($db_conn);
163     exit(json_encode($result_set));
164     }
165     mysqli_free_result($rs);
166    
167     if (!$_SESSION["BBS_priv"]->checkpriv($sid, S_POST))
168     {
169     $result_set["return"]["code"] = -1;
170     array_push($result_set["return"]["errorFields"], array(
171     "id" => "prompt",
172     "errMsg" => "您无权发表文章!",
173     ));
174    
175     mysqli_close($db_conn);
176     exit(json_encode($result_set));
177     }
178    
179     if (check_post_count(5, $sid, true, $db_conn) != true)
180     {
181     $result_set["return"]["code"] = -1;
182     array_push($result_set["return"]["errorFields"], array(
183     "id" => "prompt",
184     "errMsg" => "本版连续发表主题数量达到上限",
185     ));
186    
187     mysqli_close($db_conn);
188     exit(json_encode($result_set));
189     }
190     }
191     else // Reply article
192     {
193     $sql = "SELECT TID, SID, title, `lock` FROM bbs WHERE AID = $reply_id AND visible";
194    
195     $rs = mysqli_query($db_conn, $sql);
196     if ($rs == false)
197     {
198     $result_set["return"]["code"] = -2;
199     $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);
200    
201     mysqli_close($db_conn);
202     exit(json_encode($result_set));
203     }
204    
205     if ($row = mysqli_fetch_array($rs))
206     {
207     $tid = $row["TID"];
208     $sid = $row["SID"];
209     $r_title = $row["title"];
210     $lock = $row["lock"];
211     }
212     else
213     {
214     $result_set["return"]["code"] = -1;
215     array_push($result_set["return"]["errorFields"], array(
216     "id" => "prompt",
217     "errMsg" => "回复的文章不存在!",
218     ));
219    
220     mysqli_close($db_conn);
221     exit(json_encode($result_set));
222     }
223     mysqli_free_result($rs);
224    
225     if ($tid != 0) // Article to be replied is not the head of topic thread
226     {
227     $sql = "SELECT SID, title, `lock` FROM bbs WHERE AID = $tid AND visible";
228    
229     $rs = mysqli_query($db_conn, $sql);
230     if ($rs == false)
231     {
232     $result_set["return"]["code"] = -2;
233     $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);
234    
235     mysqli_close($db_conn);
236     exit(json_encode($result_set));
237     }
238    
239     if ($row = mysqli_fetch_array($rs))
240     {
241     $sid = $row["SID"]; // In case of inconsistent SID data
242     $r_title = $row["title"];
243     $lock = $row["lock"];
244     }
245     else
246     {
247     $result_set["return"]["code"] = -1;
248     array_push($result_set["return"]["errorFields"], array(
249     "id" => "prompt",
250     "errMsg" => "回复的主题不存在!",
251     ));
252    
253     mysqli_close($db_conn);
254     exit(json_encode($result_set));
255     }
256     mysqli_free_result($rs);
257     }
258     else
259     {
260     $tid = $reply_id; // Set tid to the head of the replied thread
261     }
262    
263     if (!$_SESSION["BBS_priv"]->checkpriv($sid, S_POST))
264     {
265     $result_set["return"]["code"] = -1;
266     array_push($result_set["return"]["errorFields"], array(
267     "id" => "prompt",
268     "errMsg" => "您无权发表文章!",
269     ));
270    
271     mysqli_close($db_conn);
272     exit(json_encode($result_set));
273     }
274    
275     if ($lock)
276     {
277     $result_set["return"]["code"] = -1;
278     array_push($result_set["return"]["errorFields"], array(
279     "id" => "prompt",
280     "errMsg" => "该主题谢绝回复!",
281     ));
282    
283     mysqli_close($db_conn);
284     exit(json_encode($result_set));
285     }
286    
287     if (check_post_count(10, $sid, false, $db_conn) != true)
288     {
289     $result_set["return"]["code"] = -1;
290     array_push($result_set["return"]["errorFields"], array(
291     "id" => "prompt",
292     "errMsg" => "本版连续发表主题数量达到上限",
293     ));
294    
295     mysqli_close($db_conn);
296     exit(json_encode($result_set));
297     }
298     }
299    
300     $sql = "SELECT nickname, exp FROM user_pubinfo WHERE UID = " . $_SESSION["BBS_uid"];
301     $rs = mysqli_query($db_conn, $sql);
302     if ($rs == false)
303     {
304     $result_set["return"]["code"] = -2;
305     $result_set["return"]["message"] = "Query user pubinfo error: " . mysqli_error($db_conn);
306    
307     mysqli_close($db_conn);
308     exit(json_encode($result_set));
309     }
310    
311     if($row = mysqli_fetch_array($rs))
312     {
313     $nickname = $row["nickname"];
314     $exp = $row["exp"];
315     }
316     mysqli_free_result($rs);
317     }
318     else // Modify article
319     {
320     $sql = "SELECT TID, UID, SID, excerption FROM bbs WHERE AID = $id AND visible";
321    
322     $rs = mysqli_query($db_conn, $sql);
323     if ($rs == false)
324     {
325     $result_set["return"]["code"] = -2;
326     $result_set["return"]["message"] = "Query article error: " . mysqli_error($db_conn);
327    
328     mysqli_close($db_conn);
329     exit(json_encode($result_set));
330     }
331    
332     if($row = mysqli_fetch_array($rs))
333     {
334     $tid = ($row["TID"] > 0 ? $row["TID"] : $id);
335     $uid = $row["UID"];
336     $sid = $row["SID"];
337     $excerption = $row["excerption"];
338     }
339     else
340     {
341     $result_set["return"]["code"] = -1;
342     array_push($result_set["return"]["errorFields"], array(
343     "id" => "prompt",
344     "errMsg" => "修改的文章不存在!",
345     ));
346    
347     mysqli_close($db_conn);
348     exit(json_encode($result_set));
349     }
350     mysqli_free_result($rs);
351    
352     if (!($_SESSION["BBS_priv"]->checkpriv($sid, S_POST) && $_SESSION["BBS_uid"] == $uid && (!$excerption)))
353     {
354     $result_set["return"]["code"] = -1;
355     array_push($result_set["return"]["errorFields"], array(
356     "id" => "prompt",
357     "errMsg" => "您无权修改此文章!",
358     ));
359    
360     mysqli_close($db_conn);
361     exit(json_encode($result_set));
362     }
363     }
364    
365 sysadm 1.2 // Get upload quota and used space
366 sysadm 1.1 $atta_id_list = "-1";
367     $attachment_count = (isset($_FILES['attachment']['error']) ? count($_FILES['attachment']['error']) : 0);
368    
369     if ($attachment_count >= $BBS_upload_count_limit)
370     {
371     $result_set["return"]["code"] = -1;
372     array_push($result_set["return"]["errorFields"], array(
373     "id" => "attachment",
374     "errMsg" => "文件数量超过限制",
375     ));
376    
377     mysqli_close($db_conn);
378     exit(json_encode($result_set));
379     }
380    
381     $upload_limit = 0;
382     $upload_used = 0;
383     $upload_size = 0;
384    
385     if ($attachment_count > 0)
386     {
387     $sql = "SELECT upload_limit FROM user_pubinfo WHERE UID = " . $_SESSION["BBS_uid"];
388     $rs = mysqli_query($db_conn, $sql);
389     if ($rs == false)
390     {
391     $result_set["return"]["code"] = -2;
392     $result_set["return"]["message"] = "Query upload limit error: " . mysqli_error($db_conn);
393    
394     mysqli_close($db_conn);
395     exit(json_encode($result_set));
396     }
397    
398     if ($row = mysqli_fetch_array($rs))
399     {
400     $upload_limit = $row["upload_limit"];
401     }
402     mysqli_free_result($rs);
403    
404     $sql = "SELECT COUNT(size) AS upload_used FROM upload_file WHERE UID = " . $_SESSION["BBS_uid"] .
405     " AND deleted = 0";
406    
407     $rs = mysqli_query($db_conn, $sql);
408     if ($rs == false)
409     {
410     $result_set["return"]["code"] = -2;
411     $result_set["return"]["message"] = "Query upload file error: " . mysqli_error($db_conn);
412    
413     mysqli_close($db_conn);
414     exit(json_encode($result_set));
415     }
416    
417     if ($row = mysqli_fetch_array($rs))
418     {
419     $upload_used = $row["upload_used"];
420     }
421     mysqli_free_result($rs);
422     }
423    
424     // Validate attachments
425     for ($i = 0; $i < $attachment_count; $i++)
426     {
427     if (!isset($_FILES['attachment']['error'][$i]) || $_FILES['attachment']['error'][$i] != UPLOAD_ERR_OK)
428     {
429     $result_set["return"]["code"] = -1;
430     array_push($result_set["return"]["errorFields"], array(
431     "id" => "attachment",
432     "errMsg" => "上传文件错误",
433     ));
434    
435     mysqli_close($db_conn);
436     exit(json_encode($result_set));
437     }
438    
439     $filesize = $_FILES['attachment']['size'][$i];
440     $filename = $_FILES['attachment']['name'][$i];
441    
442     if ($filesize > 0)
443     {
444     if ($filesize > 1024 * 1024 * 2)
445     {
446     $result_set["return"]["code"] = -1;
447     array_push($result_set["return"]["errorFields"], array(
448     "id" => "attachment",
449     "errMsg" => "文件大小超过限制",
450     ));
451    
452     mysqli_close($db_conn);
453     exit(json_encode($result_set));
454     }
455    
456     $upload_used += $filesize;
457     if ($upload_used > $upload_limit)
458     {
459     $result_set["return"]["code"] = -1;
460     array_push($result_set["return"]["errorFields"], array(
461     "id" => "attachment",
462     "errMsg" => "用户上传空间配额不足",
463     ));
464    
465     mysqli_close($db_conn);
466     exit(json_encode($result_set));
467     }
468    
469     $ext = strtolower(substr($filename, (strrpos($filename, ".") ? strrpos($filename, ".") + 1 : 0)));
470     switch ($ext)
471     {
472     case "bmp":
473     case "gif":
474     case "jpg":
475     case "jpeg":
476     case "png":
477     case "tif":
478     case "tiff":
479     case "txt":
480     case "zip":
481     case "rar":
482     break;
483     default:
484     $result_set["return"]["code"] = -1;
485     array_push($result_set["return"]["errorFields"], array(
486     "id" => "attachment",
487     "errMsg" => "不支持的文件扩展名",
488     ));
489    
490     mysqli_close($db_conn);
491     exit(json_encode($result_set));
492     }
493    
494     $finfo = new finfo(FILEINFO_MIME_TYPE);
495     $mime_type = $finfo->file($_FILES['attachment']['tmp_name'][$i]);
496     $real_ext = array_search($mime_type, array(
497     'txt' => 'text/plain',
498     'bmp' => 'image/x-ms-bmp',
499     'jpg' => 'image/jpeg',
500     'png' => 'image/png',
501     'gif' => 'image/gif',
502     'tif' => 'image/tiff',
503     'rar' => 'application/x-rar',
504     'zip' => 'application/zip',
505     ), true);
506    
507     if ($real_ext === false)
508     {
509     $result_set["return"]["code"] = -1;
510     array_push($result_set["return"]["errorFields"], array(
511     "id" => "attachment",
512     "errMsg" => "不支持的文件格式",
513     ));
514    
515     mysqli_close($db_conn);
516     exit(json_encode($result_set));
517     }
518     }
519     }
520    
521     // Store attachments
522     for ($i = 0; $i < $attachment_count; $i++)
523     {
524     $filesize = $_FILES['attachment']['size'][$i];
525     $filename = $_FILES['attachment']['name'][$i];
526    
527     $sql = "INSERT INTO upload_file(UID, size, filename, `check`) VALUES(" .
528     $_SESSION["BBS_uid"] . ", $filesize, '$filename', 0)";
529    
530     $rs = mysqli_query($db_conn, $sql);
531     if ($rs == false)
532     {
533     $result_set["return"]["code"] = -2;
534     $result_set["return"]["message"] = "Add upload file error: " . mysqli_error($db_conn);
535    
536     mysqli_close($db_conn);
537     exit(json_encode($result_set));
538     }
539    
540     $attachment_id = mysqli_insert_id($db_conn);
541     $atta_id_list .= ("," . $attachment_id);
542    
543     $file_path = "upload/" . $attachment_id;
544     if(!move_uploaded_file($_FILES['attachment']['tmp_name'][$i], $file_path))
545     {
546     $result_set["return"]["code"] = -2;
547     $result_set["return"]["message"] = "Copy file error";
548    
549     mysqli_close($db_conn);
550     exit(json_encode($result_set));
551     }
552     }
553    
554     // Add content
555     $sql = "INSERT INTO bbs_content(AID, content) values(0, '" .
556     mysqli_real_escape_string($db_conn, $content) . "')";
557    
558     $rs = mysqli_query($db_conn, $sql);
559     if ($rs == false)
560     {
561     $result_set["return"]["code"] = -2;
562     $result_set["return"]["message"] = "Add content error: " . mysqli_error($db_conn);
563    
564     mysqli_close($db_conn);
565     exit(json_encode($result_set));
566     }
567     $cid = mysqli_insert_id($db_conn);
568    
569     if($id == 0) // Post article
570     {
571     $sql = "INSERT INTO bbs(SID, TID, UID, username, nickname, title, CID, transship,
572     sub_dt, sub_ip, reply_note, exp, last_reply_dt, icon, length)
573     VALUES($sid, $tid, " . $_SESSION["BBS_uid"] . ", '" .
574     $_SESSION["BBS_username"] . "', '" .
575     mysqli_real_escape_string($db_conn, $nickname) . "', '" .
576     mysqli_real_escape_string($db_conn, $title) . "', " .
577     "$cid, $transship, NOW(), '" . client_addr() .
578     "', $reply_note, $exp, NOW(), $emoji, $length)";
579    
580     $rs = mysqli_query($db_conn, $sql);
581     if ($rs == false)
582     {
583     $result_set["return"]["code"] = -2;
584     $result_set["return"]["message"] = "Add article error: " . mysqli_error($db_conn);
585    
586     mysqli_close($db_conn);
587     exit(json_encode($result_set));
588     }
589     $aid = mysqli_insert_id($db_conn);
590    
591     //Set last reply info
592     if ($reply_id > 0)
593     {
594     $sql = "UPDATE bbs SET reply_count = reply_count + 1,
595     last_reply_dt = now(), last_reply_UID=" . $_SESSION["BBS_uid"] .
596     ", last_reply_username = '" . $_SESSION["BBS_username"] .
597     "', last_reply_nickname = '$nickname' WHERE Aid = $tid";
598    
599     $rs = mysqli_query($db_conn, $sql);
600     if ($rs == false)
601     {
602     $result_set["return"]["code"] = -2;
603     $result_set["return"]["message"] = "Update replied article error: " . mysqli_error($db_conn);
604    
605     mysqli_close($db_conn);
606     exit(json_encode($result_set));
607     }
608    
609     //Notify the authors of the topic which is replyed.
610     $sql = "SELECT DISTINCT UID FROM bbs WHERE (AID = $tid OR TID = $tid)
611     AND visible AND reply_note AND UID <> " . $_SESSION["BBS_uid"];
612    
613     $rs = mysqli_query($db_conn, $sql);
614     if ($rs == false)
615     {
616     $result_set["return"]["code"] = -2;
617     $result_set["return"]["message"] = "Read reply info error: " . mysqli_error($db_conn);
618    
619     mysqli_close($db_conn);
620     exit(json_encode($result_set));
621     }
622    
623     while ($row = mysqli_fetch_array($rs))
624     {
625     //Send notification message
626    
627     $msg_content = "[hide]SYS_Reply_Article[/hide]有人回复了您所发表/回复的主题文章,快来".
628     "[article " . $tid . "#" . $aid . "]看看[/article]《" . $r_title . "》吧!\n";
629    
630     $sql = "INSERT INTO bbs_msg(fromUID, toUID, content, send_dt, send_ip)
631     VALUES($BBS_sys_uid, " . $row["UID"] . ", '" .
632     mysqli_real_escape_string($db_conn, $msg_content) .
633     "', NOW(), '" . client_addr() . "')";
634    
635     $rs_msg = mysqli_query($db_conn, $sql);
636     if ($rs_msg == false)
637     {
638     $result_set["return"]["code"] = -2;
639     $result_set["return"]["message"] = "Insert msg error: " . mysqli_error($db_conn);
640    
641     mysqli_close($db_conn);
642     exit(json_encode($result_set));
643     }
644     }
645    
646     mysqli_free_result($rs);
647     }
648 sysadm 1.2 else // Post new article
649 sysadm 1.1 {
650     $tid = $aid;
651     }
652    
653     //Add exp
654     if ($_SESSION["BBS_priv"]->checkpriv($sid, S_GETEXP)) //Except in test section
655     {
656     $rs = user_exp_change($_SESSION["BBS_uid"], ($reply_id > 0 ? 3 : ($transship ? 5 : 15)), $db_conn);
657     if ($rs == false)
658     {
659     $result_set["return"]["code"] = -2;
660     $result_set["return"]["message"] = "Add exp error: " . mysqli_error($db_conn);
661    
662     mysqli_close($db_conn);
663     exit(json_encode($result_set));
664     }
665     }
666     }
667     else // Modify article
668     {
669     $aid = $id;
670    
671     $sql = "UPDATE bbs SET CID = $cid, reply_note = $reply_note,
672     icon = $emoji, length = $length WHERE AID = $aid";
673    
674     $rs = mysqli_query($db_conn, $sql);
675     if ($rs == false)
676     {
677     $result_set["return"]["code"] = -2;
678     $result_set["return"]["message"] = "Update article error: " . mysqli_error($db_conn);
679    
680     mysqli_close($db_conn);
681     exit(json_encode($result_set));
682     }
683     }
684    
685 sysadm 1.2 // Link content to article
686 sysadm 1.1 $sql = "UPDATE bbs_content SET AID = $aid WHERE CID = $cid";
687    
688     $rs = mysqli_query($db_conn, $sql);
689     if ($rs == false)
690     {
691     $result_set["return"]["code"] = -2;
692     $result_set["return"]["message"] = "Update content error: " . mysqli_error($db_conn);
693    
694     mysqli_close($db_conn);
695     exit(json_encode($result_set));
696     }
697    
698 sysadm 1.2 // Link attachments to article
699 sysadm 1.1 $sql = "UPDATE upload_file SET ref_AID = $aid WHERE AID IN ($atta_id_list)";
700    
701     $rs = mysqli_query($db_conn, $sql);
702     if ($rs == false)
703     {
704     $result_set["return"]["code"] = -2;
705     $result_set["return"]["message"] = "Update upload file error: " . mysqli_error($db_conn);
706    
707     mysqli_close($db_conn);
708     exit(json_encode($result_set));
709     }
710    
711 sysadm 1.2 // Add log
712 sysadm 1.1 $rs = article_op_log($aid, $_SESSION["BBS_uid"], ($id == 0 ? "A" : "M"), client_addr(), $db_conn);
713     if ($rs == false)
714     {
715     $result_set["return"]["code"] = -2;
716     $result_set["return"]["message"] = "Add log error: " . mysqli_error($db_conn);
717    
718     mysqli_close($db_conn);
719     exit(json_encode($result_set));
720     }
721    
722     // Commit transaction
723     $rs = mysqli_query($db_conn, "COMMIT");
724     if ($rs == false)
725     {
726     $result_set["return"]["code"] = -2;
727     $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
728    
729     mysqli_close($db_conn);
730     exit(json_encode($result_set));
731     }
732    
733     // Set return path
734     $result_set["return"]["tid"] = $tid;
735     $result_set["return"]["aid"] = $aid;
736    
737     $_SESSION["BBS_last_sub_tm"] = time();
738    
739     mysqli_close($db_conn);
740     exit(json_encode($result_set));
741     ?>

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