/[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.3 - (hide annotations)
Fri Apr 4 08:03:04 2025 UTC (11 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.2: +1 -2 lines
Fix bug

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 sysadm 1.3 if ($attachment_count > $BBS_upload_count_limit)
369 sysadm 1.1 {
370     $result_set["return"]["code"] = -1;
371     array_push($result_set["return"]["errorFields"], array(
372     "id" => "attachment",
373     "errMsg" => "文件数量超过限制",
374     ));
375    
376     mysqli_close($db_conn);
377     exit(json_encode($result_set));
378     }
379    
380     $upload_limit = 0;
381     $upload_used = 0;
382     $upload_size = 0;
383    
384     if ($attachment_count > 0)
385     {
386     $sql = "SELECT upload_limit FROM user_pubinfo WHERE UID = " . $_SESSION["BBS_uid"];
387     $rs = mysqli_query($db_conn, $sql);
388     if ($rs == false)
389     {
390     $result_set["return"]["code"] = -2;
391     $result_set["return"]["message"] = "Query upload limit error: " . mysqli_error($db_conn);
392    
393     mysqli_close($db_conn);
394     exit(json_encode($result_set));
395     }
396    
397     if ($row = mysqli_fetch_array($rs))
398     {
399     $upload_limit = $row["upload_limit"];
400     }
401     mysqli_free_result($rs);
402    
403     $sql = "SELECT COUNT(size) AS upload_used FROM upload_file WHERE UID = " . $_SESSION["BBS_uid"] .
404     " AND deleted = 0";
405    
406     $rs = mysqli_query($db_conn, $sql);
407     if ($rs == false)
408     {
409     $result_set["return"]["code"] = -2;
410     $result_set["return"]["message"] = "Query upload file error: " . mysqli_error($db_conn);
411    
412     mysqli_close($db_conn);
413     exit(json_encode($result_set));
414     }
415    
416     if ($row = mysqli_fetch_array($rs))
417     {
418     $upload_used = $row["upload_used"];
419     }
420     mysqli_free_result($rs);
421     }
422    
423     // Validate attachments
424     for ($i = 0; $i < $attachment_count; $i++)
425     {
426     if (!isset($_FILES['attachment']['error'][$i]) || $_FILES['attachment']['error'][$i] != UPLOAD_ERR_OK)
427     {
428     $result_set["return"]["code"] = -1;
429     array_push($result_set["return"]["errorFields"], array(
430     "id" => "attachment",
431     "errMsg" => "上传文件错误",
432     ));
433    
434     mysqli_close($db_conn);
435     exit(json_encode($result_set));
436     }
437    
438     $filesize = $_FILES['attachment']['size'][$i];
439     $filename = $_FILES['attachment']['name'][$i];
440    
441     if ($filesize > 0)
442     {
443     if ($filesize > 1024 * 1024 * 2)
444     {
445     $result_set["return"]["code"] = -1;
446     array_push($result_set["return"]["errorFields"], array(
447     "id" => "attachment",
448     "errMsg" => "文件大小超过限制",
449     ));
450    
451     mysqli_close($db_conn);
452     exit(json_encode($result_set));
453     }
454    
455     $upload_used += $filesize;
456     if ($upload_used > $upload_limit)
457     {
458     $result_set["return"]["code"] = -1;
459     array_push($result_set["return"]["errorFields"], array(
460     "id" => "attachment",
461     "errMsg" => "用户上传空间配额不足",
462     ));
463    
464     mysqli_close($db_conn);
465     exit(json_encode($result_set));
466     }
467    
468     $ext = strtolower(substr($filename, (strrpos($filename, ".") ? strrpos($filename, ".") + 1 : 0)));
469     switch ($ext)
470     {
471     case "bmp":
472     case "gif":
473     case "jpg":
474     case "jpeg":
475     case "png":
476     case "tif":
477     case "tiff":
478     case "txt":
479     case "zip":
480     case "rar":
481     break;
482     default:
483     $result_set["return"]["code"] = -1;
484     array_push($result_set["return"]["errorFields"], array(
485     "id" => "attachment",
486     "errMsg" => "不支持的文件扩展名",
487     ));
488    
489     mysqli_close($db_conn);
490     exit(json_encode($result_set));
491     }
492    
493     $finfo = new finfo(FILEINFO_MIME_TYPE);
494     $mime_type = $finfo->file($_FILES['attachment']['tmp_name'][$i]);
495     $real_ext = array_search($mime_type, array(
496     'txt' => 'text/plain',
497     'bmp' => 'image/x-ms-bmp',
498     'jpg' => 'image/jpeg',
499     'png' => 'image/png',
500     'gif' => 'image/gif',
501     'tif' => 'image/tiff',
502     'rar' => 'application/x-rar',
503     'zip' => 'application/zip',
504     ), true);
505    
506     if ($real_ext === false)
507     {
508     $result_set["return"]["code"] = -1;
509     array_push($result_set["return"]["errorFields"], array(
510     "id" => "attachment",
511     "errMsg" => "不支持的文件格式",
512     ));
513    
514     mysqli_close($db_conn);
515     exit(json_encode($result_set));
516     }
517     }
518     }
519    
520     // Store attachments
521     for ($i = 0; $i < $attachment_count; $i++)
522     {
523     $filesize = $_FILES['attachment']['size'][$i];
524     $filename = $_FILES['attachment']['name'][$i];
525    
526     $sql = "INSERT INTO upload_file(UID, size, filename, `check`) VALUES(" .
527     $_SESSION["BBS_uid"] . ", $filesize, '$filename', 0)";
528    
529     $rs = mysqli_query($db_conn, $sql);
530     if ($rs == false)
531     {
532     $result_set["return"]["code"] = -2;
533     $result_set["return"]["message"] = "Add upload file error: " . mysqli_error($db_conn);
534    
535     mysqli_close($db_conn);
536     exit(json_encode($result_set));
537     }
538    
539     $attachment_id = mysqli_insert_id($db_conn);
540     $atta_id_list .= ("," . $attachment_id);
541    
542     $file_path = "upload/" . $attachment_id;
543     if(!move_uploaded_file($_FILES['attachment']['tmp_name'][$i], $file_path))
544     {
545     $result_set["return"]["code"] = -2;
546     $result_set["return"]["message"] = "Copy file error";
547    
548     mysqli_close($db_conn);
549     exit(json_encode($result_set));
550     }
551     }
552    
553     // Add content
554     $sql = "INSERT INTO bbs_content(AID, content) values(0, '" .
555     mysqli_real_escape_string($db_conn, $content) . "')";
556    
557     $rs = mysqli_query($db_conn, $sql);
558     if ($rs == false)
559     {
560     $result_set["return"]["code"] = -2;
561     $result_set["return"]["message"] = "Add content error: " . mysqli_error($db_conn);
562    
563     mysqli_close($db_conn);
564     exit(json_encode($result_set));
565     }
566     $cid = mysqli_insert_id($db_conn);
567    
568     if($id == 0) // Post article
569     {
570     $sql = "INSERT INTO bbs(SID, TID, UID, username, nickname, title, CID, transship,
571     sub_dt, sub_ip, reply_note, exp, last_reply_dt, icon, length)
572     VALUES($sid, $tid, " . $_SESSION["BBS_uid"] . ", '" .
573     $_SESSION["BBS_username"] . "', '" .
574     mysqli_real_escape_string($db_conn, $nickname) . "', '" .
575     mysqli_real_escape_string($db_conn, $title) . "', " .
576     "$cid, $transship, NOW(), '" . client_addr() .
577     "', $reply_note, $exp, NOW(), $emoji, $length)";
578    
579     $rs = mysqli_query($db_conn, $sql);
580     if ($rs == false)
581     {
582     $result_set["return"]["code"] = -2;
583     $result_set["return"]["message"] = "Add article error: " . mysqli_error($db_conn);
584    
585     mysqli_close($db_conn);
586     exit(json_encode($result_set));
587     }
588     $aid = mysqli_insert_id($db_conn);
589    
590     //Set last reply info
591     if ($reply_id > 0)
592     {
593     $sql = "UPDATE bbs SET reply_count = reply_count + 1,
594     last_reply_dt = now(), last_reply_UID=" . $_SESSION["BBS_uid"] .
595     ", last_reply_username = '" . $_SESSION["BBS_username"] .
596     "', last_reply_nickname = '$nickname' WHERE Aid = $tid";
597    
598     $rs = mysqli_query($db_conn, $sql);
599     if ($rs == false)
600     {
601     $result_set["return"]["code"] = -2;
602     $result_set["return"]["message"] = "Update replied article error: " . mysqli_error($db_conn);
603    
604     mysqli_close($db_conn);
605     exit(json_encode($result_set));
606     }
607    
608     //Notify the authors of the topic which is replyed.
609     $sql = "SELECT DISTINCT UID FROM bbs WHERE (AID = $tid OR TID = $tid)
610     AND visible AND reply_note AND UID <> " . $_SESSION["BBS_uid"];
611    
612     $rs = mysqli_query($db_conn, $sql);
613     if ($rs == false)
614     {
615     $result_set["return"]["code"] = -2;
616     $result_set["return"]["message"] = "Read reply info error: " . mysqli_error($db_conn);
617    
618     mysqli_close($db_conn);
619     exit(json_encode($result_set));
620     }
621    
622     while ($row = mysqli_fetch_array($rs))
623     {
624     //Send notification message
625    
626     $msg_content = "[hide]SYS_Reply_Article[/hide]有人回复了您所发表/回复的主题文章,快来".
627     "[article " . $tid . "#" . $aid . "]看看[/article]《" . $r_title . "》吧!\n";
628    
629     $sql = "INSERT INTO bbs_msg(fromUID, toUID, content, send_dt, send_ip)
630     VALUES($BBS_sys_uid, " . $row["UID"] . ", '" .
631     mysqli_real_escape_string($db_conn, $msg_content) .
632     "', NOW(), '" . client_addr() . "')";
633    
634     $rs_msg = mysqli_query($db_conn, $sql);
635     if ($rs_msg == false)
636     {
637     $result_set["return"]["code"] = -2;
638     $result_set["return"]["message"] = "Insert msg error: " . mysqli_error($db_conn);
639    
640     mysqli_close($db_conn);
641     exit(json_encode($result_set));
642     }
643     }
644    
645     mysqli_free_result($rs);
646     }
647 sysadm 1.2 else // Post new article
648 sysadm 1.1 {
649     $tid = $aid;
650     }
651    
652     //Add exp
653     if ($_SESSION["BBS_priv"]->checkpriv($sid, S_GETEXP)) //Except in test section
654     {
655     $rs = user_exp_change($_SESSION["BBS_uid"], ($reply_id > 0 ? 3 : ($transship ? 5 : 15)), $db_conn);
656     if ($rs == false)
657     {
658     $result_set["return"]["code"] = -2;
659     $result_set["return"]["message"] = "Add exp error: " . mysqli_error($db_conn);
660    
661     mysqli_close($db_conn);
662     exit(json_encode($result_set));
663     }
664     }
665     }
666     else // Modify article
667     {
668     $aid = $id;
669    
670     $sql = "UPDATE bbs SET CID = $cid, reply_note = $reply_note,
671     icon = $emoji, length = $length WHERE AID = $aid";
672    
673     $rs = mysqli_query($db_conn, $sql);
674     if ($rs == false)
675     {
676     $result_set["return"]["code"] = -2;
677     $result_set["return"]["message"] = "Update article error: " . mysqli_error($db_conn);
678    
679     mysqli_close($db_conn);
680     exit(json_encode($result_set));
681     }
682     }
683    
684 sysadm 1.2 // Link content to article
685 sysadm 1.1 $sql = "UPDATE bbs_content SET AID = $aid WHERE CID = $cid";
686    
687     $rs = mysqli_query($db_conn, $sql);
688     if ($rs == false)
689     {
690     $result_set["return"]["code"] = -2;
691     $result_set["return"]["message"] = "Update content error: " . mysqli_error($db_conn);
692    
693     mysqli_close($db_conn);
694     exit(json_encode($result_set));
695     }
696    
697 sysadm 1.2 // Link attachments to article
698 sysadm 1.1 $sql = "UPDATE upload_file SET ref_AID = $aid WHERE AID IN ($atta_id_list)";
699    
700     $rs = mysqli_query($db_conn, $sql);
701     if ($rs == false)
702     {
703     $result_set["return"]["code"] = -2;
704     $result_set["return"]["message"] = "Update upload file error: " . mysqli_error($db_conn);
705    
706     mysqli_close($db_conn);
707     exit(json_encode($result_set));
708     }
709    
710 sysadm 1.2 // Add log
711 sysadm 1.1 $rs = article_op_log($aid, $_SESSION["BBS_uid"], ($id == 0 ? "A" : "M"), client_addr(), $db_conn);
712     if ($rs == false)
713     {
714     $result_set["return"]["code"] = -2;
715     $result_set["return"]["message"] = "Add log error: " . mysqli_error($db_conn);
716    
717     mysqli_close($db_conn);
718     exit(json_encode($result_set));
719     }
720    
721     // Commit transaction
722     $rs = mysqli_query($db_conn, "COMMIT");
723     if ($rs == false)
724     {
725     $result_set["return"]["code"] = -2;
726     $result_set["return"]["message"] = "Mysqli error: " . mysqli_error($db_conn);
727    
728     mysqli_close($db_conn);
729     exit(json_encode($result_set));
730     }
731    
732     // Set return path
733     $result_set["return"]["tid"] = $tid;
734     $result_set["return"]["aid"] = $aid;
735    
736     $_SESSION["BBS_last_sub_tm"] = time();
737    
738     mysqli_close($db_conn);
739     exit(json_encode($result_set));
740     ?>

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