⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wwwboard.pl

📁 java开发的聊天室
💻 PL
📖 第 1 页 / 共 2 页
字号:
   }
   print NEWFILE "内容:<br>\n";
   print NEWFILE "<textarea name=\"body\" COLS=50 ROWS=10>\n";
   if ($quote_text == 1) {
      @chunks_of_body = split(/\&lt\;p\&gt\;/,$hidden_body);
      foreach $chunk_of_body (@chunks_of_body) {
         @lines_of_body = split(/\&lt\;br\&gt\;/,$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/</&lt;/g;
   $FORM{'body'} =~ s/>/&gt;/g;
   $FORM{'body'} =~ s/"/&quot;/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 + -