-
Notifications
You must be signed in to change notification settings - Fork 1
/
bbssnd.php
136 lines (128 loc) · 4.49 KB
/
bbssnd.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
session_start();
require("www2-funcs.php");
require("www2-board.php");
login_init();
assert_login();
if( !isset( $_GET["board"] )) {
html_error_quit("未指定发文版面!");
}
$boardName = $_GET["board"];
$brdArr=array();
$boardID= bbs_getboard($boardName,$brdArr);
if( $boardID == 0) html_error_quit("指定的版面不存在!");
$boardName = $brdArr["NAME"];
$usernum = $currentuser["index"];
if (bbs_checkreadperm($usernum, $boardID) == 0) html_error_quit("您无权阅读该版!");
if (bbs_is_readonly_board($brdArr)) html_error_quit("本版为只读讨论区!");
if (bbs_checkpostperm($usernum, $boardID) == 0) html_error_quit("您无权在该版面发文!");
if ($currentuser['score_user']<2000) {
$code=@$_POST['code'];
if (!$code) html_error_quit('请输入验证码');
if (!@$_SESSION['num_auth'] || strcasecmp($_SESSION['num_auth'], $code))
html_error_quit('验证码错误,请重新输入');
}
if (!isset($_POST["title"])) html_error_quit("没有指定文章标题!");
if (!isset($_POST["tmpl"])) {
if (bbs_is_tmplpost_board($brdArr)){
header('Location:bbsshowtmpl.php?board=' . $boardName);
exit();
}
if (!isset($_POST["text"])) html_error_quit("没有指定文章内容!");
$tmpl = 0;
} else {
$tmpl = 1;
$filename = "tmp/".$currentuser["userid"].".tmpl.tmp";
if (($handle = @fopen($filename, "r")) !== false) {
$contents = fread($handle, filesize($filename));
fclose($handle);
unlink($filename);
} else {
html_error_quit("无法读取文件");
}
}
if (isset($_GET["reid"])) $reID = $_GET["reid"];
else
$reID = 0;
if (bbs_is_outgo_board($brdArr)) $outgo = intval(@$_POST["outgo"]);
else $outgo = 0;
if(@$_POST["havemath"] == "1")
$is_tex = 1;
else
$is_tex = 0;
settype($reID, "integer");
$articles = array();
if ($reID > 0) {
$num = bbs_get_records_from_id($boardName, $reID, $dir_modes["NORMAL"], $articles);
if ($num == 0) html_error_quit("错误的Re文编号!");
if ($articles[1]["FLAGS"][2] == 'y') html_error_quit("该文不可回复!");
}
//post articles
$anony = isset($_POST["anony"])?intval($_POST["anony"]):0;
bbs_board_nav_header($brdArr, $reID ? "回复文章" : "发表文章");
if($tmpl & ($reID > 0)) {
$filename = "boards/" . $boardName . "/" . $articles[1]["FILENAME"];
$contents .= bbs_get_quote($filename);
}
$title = rtrim($_POST["title"]);
if (isset($_POST["titkey"])) {
$tk = intval(@$_POST["titkey"]);
$titkey = array();
$count = bbs_gettitkey($boardName, $titkey, 1);
if ($tk>0 && $tk<=$count)
$title = '['.$titkey[$tk-1]["desc"].']'.$title;
}
$ret = bbs_postarticle($boardName, $title,
($tmpl ? $contents :$_POST["text"]), intval(@$_POST["signature"]), $reID,
$outgo, $anony, @intval($_POST["mailback"]), $is_tex);
switch ($ret) {
case -1:
html_error_quit("错误的讨论区名称!");
break;
case -2:
html_error_quit("本版为二级目录版!");
break;
case -3:
html_error_quit("标题为空!");
break;
case -4:
html_error_quit("此讨论区是唯读的, 或是您尚无权限在此发表文章!");
break;
case -5:
html_error_quit("很抱歉, 你被版务人员停止了本版的post权利!");
break;
case -6:
html_error_quit("两次发文/信间隔过密,请休息几秒再试!");
break;
case -7:
html_error_quit("无法读取索引文件! 请通知站务人员, 谢谢! ");
break;
case -8:
html_error_quit("本文不可回复!");
break;
case -9:
case -22:
html_error_quit("系统内部错误, 请迅速通知站务人员, 谢谢!");
break;
case -21:
html_error_quit("您的积分不符合当前讨论区的设定, 暂时无法在当前讨论区发表文章...");
break;
}
if ($ret == -10) {
$prompt = "发文成功!<br/><br/>但是很抱歉,本文可能含有不当内容,需经审核方可发表。<br/><br/>" .
"根据《帐号管理办法》,被系统过滤的文章视同公开发表。请耐心等待<br/>" .
"站务人员的审核,不要多次尝试发表此文章。<br/><br/>" .
"如有疑问,请致信 SYSOP 咨询。";
} elseif ($ret == -23) {
$prompt = "发文成功!<br/><br/>但本版为审核版面,需经审核方可发表。<br/><br/>" .
"根据《帐号管理办法》,被系统过滤的文章视同公开发表。请耐心等待<br/>" .
"站务人员的审核,不要多次尝试发表此文章。<br/><br/>" .
"如有疑问,请致信 SYSOP 咨询。";
} else {
$prompt = "发文成功!<br/>" .
"本页面将在3秒后自动返回版面文章列表<meta HTTP-EQUIV=REFRESH CONTENT='3; URL=bbsdoc.php?board=" . $boardName . "'/><div id='kbsrcInfo'>con,$boardID,$ret</div>";
}
html_success_quit($prompt,
array("<a href='" . MAINPAGE_FILE . "'>返回首页</a>",
"<a href='bbsdoc.php?board=" . $boardName . "'>返回 " . $brdArr['DESC'] . "</a>"));
?>