/[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.1 - (hide annotations)
Fri Apr 4 03:35:16 2025 UTC (11 months, 1 week ago) by sysadm
Branch: MAIN
Merge add and modify_article to post
Refact with AJAX support
Refine the validation logic of post article

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