📄 wwwboard.pl
字号:
}
print NEWFILE "内容:<br>\n";
print NEWFILE "<textarea name=\"body\" COLS=50 ROWS=10>\n";
if ($quote_text == 1) {
@chunks_of_body = split(/\<\;p\>\;/,$hidden_body);
foreach $chunk_of_body (@chunks_of_body) {
@lines_of_body = split(/\<\;br\>\;/,$chunk_of_body);
foreach $line_of_body (@lines_of_body) {
print NEWFILE ": $line_of_body\n";
}
print NEWFILE "\n";
}
}
print NEWFILE "</textarea>\n";
print NEWFILE "<p>\n";
# print NEWFILE "主页连接: <input type=text name=\"url\" size=50><br>\n";
# print NEWFILE "主页标题: <input type=text name=\"url_title\" size=52><br>\n";
# print NEWFILE "图象连接: <input type=text name=\"img\" size=50><p>\n";
print NEWFILE "<input type=submit value=\"回复\"> <input type=reset>\n";
print NEWFILE "<p><hr width=100%>\n";
if ($show_faq == 1) {
print NEWFILE "<center>[ <a href=\"#followups\">回复</a> ] [ <a href=\"#postfp\">发布回答</a> ] [ <a href=\"$baseurl/$mesgfile\">$title</a> ] [ <a href=\"$baseurl/$faqfile\">FAQ</a> ]</center>\n";
}
else {
print NEWFILE "<center>[ <a href=\"#followups\">回复</a> ] [ <a href=\"#postfp\">发布回答</a> ] [ <a href=\"$baseurl/$mesgfile\">$title</a> ]</center>\n";
}
print NEWFILE "</body></html>\n";
close(NEWFILE);
}
###############################
# Main WWWBoard Page Subroutine
sub main_page {
open(MAIN,"$basedir/$mesgfile") || die $!;
@main = <MAIN>;
close(MAIN);
open(MAIN,">$basedir/$mesgfile") || die $!;
if ($followup == 0) {
foreach $main_line (@main) {
if ($main_line =~ /<!--begin-->/) {
print MAIN "<!--begin-->\n";
print MAIN "<!--top: $num--><li><a href=\"$mesgdir/$num\.$ext\">$subject</a> - <b>$name</b> <i>$date</i>\n";
print MAIN "(<!--responses: $num-->0)\n";
print MAIN "<ul><!--insert: $num-->\n";
print MAIN "</ul><!--end: $num-->\n";
}
else {
print MAIN "$main_line";
}
}
}
else {
foreach $main_line (@main) {
$work = 0;
if ($main_line =~ /<ul><!--insert: $last_message-->/) {
print MAIN "<ul><!--insert: $last_message-->\n";
print MAIN "<!--top: $num--><li><a href=\"$mesgdir/$num\.$ext\">$subject</a> - <b>$name</b> <i>$date</i>\n";
print MAIN "(<!--responses: $num-->0)\n";
print MAIN "<ul><!--insert: $num-->\n";
print MAIN "</ul><!--end: $num-->\n";
}
elsif ($main_line =~ /\(<!--responses: (.*)-->(.*)\)/) {
$response_num = $1;
$num_responses = $2;
$num_responses++;
foreach $followup_num (@followup_num) {
if ($followup_num == $response_num) {
print MAIN "(<!--responses: $followup_num-->$num_responses)\n";
$work = 1;
}
}
if ($work != 1) {
print MAIN "$main_line";
}
}
else {
print MAIN "$main_line";
}
}
}
close(MAIN);
}
############################################
# Add Followup Threading to Individual Pages
sub thread_pages {
foreach $followup_num (@followup_num) {
open(FOLLOWUP,"$basedir/$mesgdir/$followup_num\.$ext");
@followup_lines = <FOLLOWUP>;
close(FOLLOWUP);
open(FOLLOWUP,">$basedir/$mesgdir/$followup_num\.$ext");
foreach $followup_line (@followup_lines) {
$work = 0;
if ($followup_line =~ /<ul><!--insert: $last_message-->/) {
print FOLLOWUP "<ul><!--insert: $last_message-->\n";
print FOLLOWUP "<!--top: $num--><li><a href=\"$num\.$ext\">$subject</a> <b>$name</b> <i>$date</i>\n";
print FOLLOWUP "(<!--responses: $num-->0)\n";
print FOLLOWUP "<ul><!--insert: $num-->\n";
print FOLLOWUP "</ul><!--end: $num-->\n";
}
elsif ($followup_line =~ /\(<!--responses: (.*)-->(.*)\)/) {
$response_num = $1;
$num_responses = $2;
$num_responses++;
foreach $followup_num (@followup_num) {
if ($followup_num == $response_num) {
print FOLLOWUP "(<!--responses: $followup_num-->$num_responses)\n";
$work = 1;
}
}
if ($work != 1) {
print FOLLOWUP "$followup_line";
}
}
else {
print FOLLOWUP "$followup_line";
}
}
close(FOLLOWUP);
}
}
sub return1_html {
print "Content-type: text/html\n\n";
print "";
print "<html><head><title>信息增加: $subject</title></head>\n";
print "<body><center><h1>信息增加: $subject</h1></center>\n";
print "以下信息被加入:<p><hr width=100%><p>\n";
print "<b>姓名:</b> $name<br>\n";
print "<b>邮箱:</b> $email<br>\n";
print "<b>标题:</b> $subject<br>\n";
print "<b>内容:</b><p>\n";
print "<TABLE><TR bgcolor=\"Teal\"><TD>$body</TD></TR></TABLE>\n";
if ($message_url) {
print "<b>连接:</b> <a href=\"$message_url\">$message_url_title</a><br>\n";
}
if ($message_img) {
print "<b>映象:</b> <img src=\"$message_img\"><br>\n";
}
print "<b>增加时间:</b> $date<p>\n";
print "<hr width=100%>\n";
print "<center>[ <a href=\"$baseurl/$mesgdir/$num\.$ext\">返回到您的信息</a> ] [ <a href=\"$baseurl/$mesgfile\">$title</a> ]</center>\n";
print "</body></html>\n";
}
sub return_html
{
#&send_html;
print "Location:$baseurl/$mesgfile\n\n";
}
sub increment_num {
open(NUM,">$basedir/$datafile") || die $!;
print NUM "$num";
close(NUM);
}
sub error {
$error = $_[0];
print "Content-type: text/html\n\n";
print "";
if ($error eq 'no_name') {
print "<html><head><title>$title ERROR: No Name</title></head>\n";
print "<body><center><h1>错误: 无姓名</h1></center>\n";
print "您忘了填写姓名,必需填写:姓名,标题,内容.<p><hr width=100%><p>\n";
&rest_of_form;
}
elsif ($error eq 'no_subject') {
print "<html><head><title>$title ERROR: No Subject</title></head>\n";
print "<body><center><h1>错误:无标题</h1></center>\n";
print "您忘了填写标题,必需填写:姓名,标题,内容.<p><hr width=100%><p>\n";
&rest_of_form;
}
elsif ($error eq 'no_body') {
print "<html><head><title>$title ERROR: No Message</title></head>\n";
print "<body><center><h1>错误: 无内容</h1></center>\n";
print "您忘了填写发布内容,必需填写:姓名,标题,内容.<p><hr width=100%><p>\n";
&rest_of_form;
}
else {
print "错误! 无定义.\n";
}
exit;
}
sub rest_of_form {
print "<center><table cols=1 border width=100% height=1%><tr><td>";
print "<form method=POST action=\"$cgi_url\">\n";
if ($followup == 1) {
print "<input type=hidden name=\"origsubject\" value=\"$FORM{'origsubject'}\">\n";
print "<input type=hidden name=\"origname\" value=\"$FORM{'origname'}\">\n";
print "<input type=hidden name=\"origemail\" value=\"$FORM{'origemail'}\">\n";
print "<input type=hidden name=\"origdate\" value=\"$FORM{'origdate'}\">\n";
print "<input type=hidden name=\"followup\" value=\"$FORM{'followup'}\">\n";
}
print "姓名: <input type=text name=\"name\" value=\"$FORM{'name'}\" size=10>";
print "密码: <input type=password name=\"userpassword\" value=\"$FORM{'userpassword'}\" size=10>";
print "邮箱: <input type=text name=\"email\" value=\"$FORM{'email'}\" size=50><p>\n";
if ($subject_line == 1) {
print "<input type=hidden name=\"subject\" value=\"$FORM{'subject'}\">\n";
print "标题: <b>$FORM{'subject'}</b><p>\n";
}
else {
print "标题: <input type=text name=\"subject\" value=\"$FORM{'subject'}\" size=50><p>\n";
}
print "内容:\n";
print "<textarea COLS=50 ROWS=10 name=\"body\">\n";
$FORM{'body'} =~ s/</</g;
$FORM{'body'} =~ s/>/>/g;
$FORM{'body'} =~ s/"/"/g;
print "$FORM{'body'}\n";
print "</textarea><p>\n";
# print "主页连接: <input type=text name=\"url\" value=\"$FORM{'url'}\" size=50><br>\n";
# print "主页标题: <input type=text name=\"url_title\" value=\"$FORM{'url_title'}\" size=50><br>\n";
# print "图象连接: <input type=text name=\"img\" value=\"$FORM{'img'}\" size=50><p>\n";
print "<center>";
print "<input type=submit value=\"回复\"> <input type=reset value=\"清除\">\n";
print "</center>";
print "</form>\n";
print "<br><hr width=100%>\n";
if ($show_faq == 1) {
print "<center>[ <a href=\"#followups\">回复</a> ] [ <a href=\"#postfp\">发布回答</a> ] [ <a href=\"$baseurl/$mesgfile\">$title</a> ] [ <a href=\"$baseurl/$faqfile\">FAQ</a> ]</center>\n";
}
else {
print "<center>[ <a href=\"#followups\">回复</a> ] [ <a href=\"#postfp\">发布回答</a> ] [ <a href=\"$baseurl/$mesgfile\">$title</a> ]</center>\n";
}
print "</td></tr></table></center>";
print "</body></html>\n";
}
sub error1 {
#&send_html;
$error = $_[0];
print "Content-type: text/html\n\n";
if ($error eq 'wrong_passwd1') {
print "<html><head><title>$title ERROR: 密码不正确</title></head>\n";
print $bodyset;
print "<center><h1>ERROR: 密码不正确或您不是冰花雪夜聊客</h1></center>\n";
}
else{
print "<html><head><title>$title ERROR:不知名错误</title></head>\n";
print $bodyset;
print "<center><h1>ERROR: 不知名错误</h1></center>\n";
print "<p>请向管理员报告<br><hr size=0 width=75%><p>\n";
}
exit;
}
sub send_html {
if ($has_send ne "1") {
print "Content-type: text/html\n\n";
$has_send = "1";
}
}
sub check_usrpwd
{
$usrpass=$FORM{'userpassword'};
$name=$FORM{'name'};
#去掉NAME中的空格
$name=~s/ //g;
opendir (MEMBERDIR, "$memberspath");
@members = readdir(MEMBERDIR);
closedir (MEMBERDIR);
$found = 0;
$match = 0;
CHECKPROFILES: foreach $member(@members)
{
if ($member eq "$name.txt")
{
$match = 1;
open (CHECKPROFILE, "$memberspath/$name.txt");
@profile = <CHECKPROFILE>;
close (CHECKPROFILE);
@profilestats = split (/|/, $profile[0]);
$crypassword = crypt($usrpass, substr($profilestats[2], 0, 2));
if ($profilestats[2] eq $crypassword)
{
last CHECKPROFILES;
}
else
{
&error1("wrong_passwd1");
}
}
else
{
#可以加是否过期的判断
}
}
if ($match eq 0)
{
&error1("wrong_passwd1");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -