?> </div> </fieldset> <div class="oper"><input type="submit" value="确定转寄"></div> </form> <?php } else { if (isset($_POST["target"])) { $target = $_POST["target"]; } else { $target = ""; } if ($target == "") { html_error_quit("请指定对象"); } if (!bbs_sufficient_score_to_sendmail($target)) { html_error_quit("积分不足,不能转寄信件给" . $target); } if (isset($_POST["big5"])) { $big5 = $_POST["big5"]; } else { $big5 = 0; } settype($big5, "integer"); if (isset($_POST["noansi"])) { $noansi = $_POST["noansi"]; } else { $noansi = 0; } settype($noansi, "integer"); if (isset($_POST["noattach"])) {
html_error_quit("您不能发送信件"); } if ($mailfile == "") { $incept = trim(@$_POST['userid']); if (!$incept) { html_error_quit("请输入收件人ID"); } $lookupuser = array(); if (!bbs_getuser($incept, $lookupuser)) { html_error_quit("错误的收件人ID"); } $incept = $lookupuser['userid']; if (!strcasecmp($incept, 'guest')) { html_error_quit("不能发信给guest"); } if (!bbs_sufficient_score_to_sendmail($incept)) { html_error_quit("您积分不足,不能给 " . $incept . " 发信!"); } } $title = trim(@$_POST["title"]); if (!$title) { $title = '无主题'; } $sig = intval(@$_POST['signature']); //签名档 $backup = 0; if (isset($_POST['backup'])) { $backup = intval($_POST['backup']); } if ($mailfile == "") { $ret = bbs_postmail($incept, $title, @$_POST["text"], $sig, $backup);
} else { if (isset($_GET["file"])) { $file = $_GET["file"]; } if (isset($file) && ($file[0] != 'M' || strstr($file, ".."))) { html_error_quit("错误的文章.."); } $title = isset($_GET["title"]) ? $_GET["title"] . ' ' : ''; $destuserid = isset($_GET["userid"]) ? $_GET["userid"] : ''; } if ($destuserid) { $lookupuser = array(); if (!bbs_getuser($destuserid, $lookupuser)) { html_error_quit("错误的收件人ID"); } if (isset($board) && !bbs_sufficient_score_to_sendmail($lookupuser["userid"])) { html_error_quit("您积分不足,不能给 " . $lookupuser["userid"] . " 发信!"); } } //system mailboxs $mail_box = array(".DIR", ".SENT", ".DELETED"); $mail_boxtitle = array("收件箱", "发件箱", "垃圾箱"); //custom mailboxs $mail_cusbox = bbs_loadmaillist($currentuser["userid"]); $i = 2; if ($mail_cusbox != -1) { foreach ($mail_cusbox as $mailbox) { $i++; $mail_box[$i] = $mailbox["pathname"]; $mail_boxtitle[$i] = $mailbox["boxname"]; //$mail_boxnums[$i] = bbs_getmailnum2(bbs_setmailfile($currentuser["userid"],$mailbox["pathname"]));
function atomic_mailpost() { global $currentuser; atomic_mail_header(); if (!bbs_can_send_mail()) { atomic_error("您不能发送信件"); } $num = isset($_GET["num"]) ? @intval($_GET["num"]) : 0; $mail_fullpath = bbs_setmailfile($currentuser["userid"], ".DIR"); if ($num > 0) { $articles = array(); if (bbs_get_records_from_num($mail_fullpath, $num - 1, $articles)) { $title = $articles[0]["TITLE"]; $receiver = $articles[0]["OWNER"]; $shortfilename = $articles[0]["FILENAME"]; $filename = bbs_setmailfile($currentuser["userid"], $shortfilename); } else { atomic_error("错误的参数"); } } if (isset($_GET["post"])) { $title = atomic_get_input(trim(@$_POST["title"])); if (!$title) { $title = '无主题'; } $content = atomic_get_input(@$_POST["text"]); $sig = $currentuser["signature"]; $backup = bbs_is_save2sent() != 0; if ($num > 0) { $ret = bbs_postmail($mail_fullpath, $shortfilename, $num - 1, $title, $content, $sig, $backup); } else { $incept = trim(@$_POST['userid']); if (!$incept) { atomic_error("请输入收件人ID"); } $lookupuser = array(); if (!bbs_getuser($incept, $lookupuser)) { atomic_error("错误的收件人ID"); } $incept = $lookupuser['userid']; if (!strcasecmp($incept, 'guest')) { atomic_error("不能发信给guest"); } if (!bbs_sufficient_score_to_sendmail($incept)) { atomic_error("积分不足,不能发信给" . $incept); } $ret = bbs_postmail($incept, $title, $content, $sig, $backup); } if ($ret < 0) { switch ($ret) { case -1: case -2: atomic_error("无法创建文件"); break; case -3: atomic_error($incept . " 拒收您的邮件"); break; case -4: atomic_error($incept . " 的信箱已满"); break; case -5: atomic_error("两次发文/信间隔过密,请休息几秒再试!"); break; case -6: atomic_error("添加邮件列表出错"); break; case -7: atomic_error("邮件发送成功,但未能保存到发件箱"); break; case -8: atomic_error("找不到所回复的原信。"); break; case -100: atomic_error("错误的收件人ID"); break; default: atomic_error("系统错误,请联系管理员"); } } if ($num > 0) { $url = "?act=mailread&num=" . $num; echo "发送成功!本页面将在3秒后自动返回<a href='{$url}'>原信件</a><meta http-equiv='refresh' content='3; url=" . $url . "'/>"; } else { $url = "?act=mail"; echo "发送成功!本页面将在3秒后自动返回<a href='{$url}'>信件列表</a><meta http-equiv='refresh' content='3; url=" . $url . "'/>"; } atomic_footer(); return; } if ($num > 0) { if (!strncmp($title, "Re: ", 4)) { $nowtitle = $title; } else { $nowtitle = "Re: " . $title; } } else { $nowtitle = ""; } $html = "<form action='?act=mailpost&num=" . $num . "&post=1' method='post'>"; $html .= '标题: <input type="text" name="title" size="40" maxlength="100" value="' . ($nowtitle ? htmlspecialchars($nowtitle, ENT_QUOTES) . " " : "") . '"/><br/>'; if ($num > 0) { $html .= "收件人: " . $receiver . "<br/>"; } else { $html .= '收件人: <input type="text" name="userid"/><br/>'; } $html .= '<textarea name="text" rows="20" cols="80" wrap="physical">'; if ($num > 0) { $html .= "\n\n【 在 " . $receiver . " 的来信中提到: 】\n"; $fp = fopen($filename, "r"); if ($fp) { $lines = 0; for ($i = 0; $i < 4; $i++) { if (($buf = fgets($fp, 500)) == FALSE) { break; } } while (1) { if (($buf = fgets($fp, 500)) == FALSE) { break; } if (strncmp($buf, ": 【", 4) == 0) { continue; } if (strncmp($buf, ": : ", 4) == 0) { continue; } if (strncmp($buf, "--\n", 3) == 0) { break; } if (strncmp($buf, '\\n', 1) == 0) { continue; } if (++$lines > 10) { $html .= ": ...................\n"; break; } $html .= ": " . htmlspecialchars($buf); } fclose($fp); } } $html .= '</textarea><br/><input type="submit" value="发送" /></form>'; echo $html; atomic_footer(); }