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

📄 newreply.pl

📁 这个社区是虚拟社区使用的程序
💻 PL
字号:
################################################################################ NewReply.pl                                                                 ################################################################################# UltraBoard Ver. 1.61 by UltraScripts.com                                    ## Scripts written by Jacky W.W. Yung, WebMaster@UltraScripts.com              ## Available from http://www.UltraScripts.com/UltraBoard/                      ## --------------------------------------------------------------------------- ## PROGRAM NAME : UltraBoard                                                   ## VERSION : 1.61                                                              ## LAST MODIFIED : 30/06/1999                                                  ## =========================================================================== ## COPYRIGHT NOTICE :                                                          ##                                                                             ## Copyright (c) 1999 Jacky Yung. All Rights Reserved.                         ##                                                                             ## This program is free software; you can change or modify it as you see fit.  ## However, modified versions cannot be sold or distributed.  You cannot alter ## the copyright and "powered by" notices throughout the scripts. These        ## notices must be clearly visible to the end users.                           ##                                                                             ## WARRANTY DISCLAIMER:                                                        ##                                                                             ## THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT WITHOUT ## ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR       ## FITNESS FOR A PARTICULAR PURPOSE.                                           ################################################################################################################################################################ NewReply                                                                    ################################################################################sub NewReply {	my ($HTML);	unless (-e "$DBPath/$in{'Board'}/board.list") {		&ShowError("POSTING PROBLEM","The board you want to reply topic is not found.<br>Please contact the webmaster (".&Link("mailto:$EmailAddress","","").$EmailAddress."</a>".") for more information.");	}	unless (-e "$DBPath/$in{'Board'}/$in{'Post'}.post") {		&ShowError("POSTING PROBLEM","The topic you want to reply is not found.<br>Please contact the webmaster (".&Link("mailto:$EmailAddress","","").$EmailAddress."</a>".") for more information.");	}	open(BOARD,"$DBPath/$in{'Board'}/board.list")||&CGIError("Couldn't open/read the board.list file<br>\nPath: $DBPath/$in{'Board'}<br>\nReason : $!");		flock(BOARD,1) if ($FLock);		$BOARD_DATA=<BOARD>;	close(BOARD);	@BoardInfo=&DecodeDBOutput($BOARD_DATA);	if ($Group ne "administrator") {		if ($BoardInfo[5] ne "Active") {			&ShowError("ACCESS DENIED","The \"$BoardInfo[1]\" board is currently inactive.<br>Please contact the webmaster (".&Link("mailto:$EmailAddress","","").$EmailAddress."</a>".") for more information.");		}		if (($BoardInfo[6] ne "Public")&&($Group eq "Guest")) {			print "Location: UltraBoard.$Ext?Action=SignIn&Ref=NewReply&Post=$in{'Post'}&Board=$in{'Board'}&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}\n\n";		}elsif ($BoardInfo[6] eq "Private") {			require "$DBPath/$in{'Board'}/Access.db";			if ($Access{$MemberData[3]} ne "FullAccess") {				print "Location: UltraBoard.$Ext?Action=SignIn&Ref=NewReply&Post=$in{'Post'}&Board=$in{'Board'}&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}\n\n";			}		}	}###############################################################################	open(POST,"$DBPath/$in{'Board'}/$in{'Post'}.post")||&CGIError("Couldn't open/read the $in{'Post'}.post file<br>\nPath: $DBPath/$in{'Board'}<br>\nReason : $!");		flock(POST,1) if ($FLock);		@POST_DATA=<POST>;	close(POST);	@PostInfo=&DecodeDBOutput($POST_DATA[0]);    if ($PostInfo[8] ne "") {        &ShowError("错误","此讨论已经被关闭。");    }	$Topic=$PostInfo[0];###############################################################################	$HTML.=	"<p>".&Form("UltraBoard.$Ext","POST","","").			&HiddenBox("Action","DoNewReply").			&HiddenBox("Board",$in{'Board'}).			&HiddenBox("Post",$in{'Post'}).            &HiddenBox("Idle",$in{'Idle'}).            &HiddenBox("Sort",$in{'Sort'}).            &HiddenBox("Order",$in{'Order'}).            &HiddenBox("Page",$in{'Page'}).			&HiddenBox("Session",$SessionID).			&BTable($TableWidth,$TableAlign,"0","0",$TableCellSpacing,$TableCellPadding,$TableBorderColor,"","").				&Tr("","",$HeaderBGColor).					&Td("","","2","","","","","","").						&Font($FontFace,$HeaderTextSize,$HeaderTextColor).							"<b>回复此讨论</b>".						"</font>".					"</td>".				"</tr>".				&Tr("","",$CategoryBGColor).					&Td("","","2","","","","","","").						&Font($FontFace,$CategoryNameTextSize,$CategoryTextColor);	if ($Group eq "Guest") {		$HTML.=	"<b>别名</b>";	}else{		$HTML.=	"<b>粘贴者</b>";	}	$HTML.=				"</font>".					"</td>".				"</tr>".				&Tr("","",$RowOddBGColor).					&Td("","","2","","","","","","");	if ($Group eq "Guest") {		$HTML.=	&TextBox("NickName","",$TextBoxSize,"20","width:$IETextBoxSize");	}else{		$HTML.=	&Font($FontFace,$TextSize,$TextColor).					"<b>$MemberData[1] ($MemberData[0])</b>".				"</font>";	}	$HTML.=			"</td>".				"</tr>".				&Tr("","",$CategoryBGColor).					&Td("","","2","","","","","","").						&Font($FontFace,$CategoryNameTextSize,$CategoryTextColor).							"<b>粘贴于</b>".						"</font>".					"</td>".				"</tr>".				&Tr("","",$RowOddBGColor).					&Td("","","2","","","","","","").						&Font($FontFace,$TextSize,$TextColor).							"<b>";	if ($UseCategory) {		open(CATEGORY,"$DBPath/$BoardInfo[3].cat")||&CGIError("Couldn't open/read the $BoardInfo[3].cat file<br>\nPath: $DBPath<br>\nReason : $!");			flock(CATEGORY,1) if ($FLock);			$CATEGORY_DATA=<CATEGORY>;			@CategoryInfo=&DecodeDBOutput($CATEGORY_DATA);		close(CATEGORY);		$HTML.=	"$CategoryInfo[1] / ";	}    if ($UBCodes) {        $MMessage="您可以使用 <font color=red>武林秘技心法</font>。"    }else{        $MMessage="您不可以使用 <font color=red>武林秘技心法</font>。"    }	$HTML.=					"$BoardInfo[1] / $Topic</b>".						"</font>".					"</td>".				"</tr>".				&Tr("","",$CategoryBGColor).					&Td("","","2","","","","","","").						&Font($FontFace,$CategoryNameTextSize,$CategoryTextColor).							"<b>主题</b>".						"</font>".					"</td>".				"</tr>".				&Tr("","",$RowOddBGColor).					&Td("","","2","","","","","","").						&TextBox("Subject","RE:$PostInfo[0]",$TextBoxSize,$MaxSubjectLen,"width:$IETextBoxSize").					"</td>".				"</tr>".				&Tr("","",$CategoryBGColor).					&Td("","","2","","","","","","").						&Font($FontFace,$CategoryNameTextSize,$CategoryTextColor).							"<b>内容</b><br>".                            &Font("",$CategoryDesTextSize,$CategoryTextColor).								$MMessage.							"</font>".						"</font>".					"</td>".				"</tr>".				&Tr("","",$RowOddBGColor).					&Td("","","2","","","","","","").						&TextArea("Message","",$TextBoxSize,"10","$TextAreaType","width:$IETextBoxSize").					"</td>".				"</tr>";	if ($Group ne "Guest") {		$HTML.=	&Tr("","",$CategoryBGColor).					&Td("","","2","","","","","","").						&Font($FontFace,$CategoryNameTextSize,$CategoryTextColor).							"<b>选项</b> ".						"</font>".					"</td>".				"</tr>";		if ($NotifyMembers=~/Reply/) {			$HTML.=	&Tr("","",$RowOddBGColor).						&Td("20","","","","","","",$ColumnOddBGColor,"").							&Checkbox("Nodify","on","","").						"</td>".						&Td("100%","","","","","","",$ColumnEvenBGColor,"").							&Font($FontFace,$TextSize,$TextColor).								"<b>当有人回复帖子时提醒您。</b>".							"</font>".						"</td>".					"</tr>";		}		if ($UseSignatures) {			$HTML.=	&Tr("","",$RowEvenBGColor).						&Td("20","","","","","","",$ColumnOddBGColor,"").							&Checkbox("UseSignature","on","","").						"</td>".						&Td("100%","","","","","","",$ColumnEvenBGColor,"").							&Font($FontFace,$TextSize,$TextColor).								"<b>使用签名</b>".							"</font>".						"</td>".					"</tr>";		}	}	$HTML.=		&Tr("","",$CategoryBGColor).					&Td("","","2","","","","","","").						&Table("100%","CENTER","0","0","","").							&Tr("","","").								&Td("50%","","2","","","","","","").									"<center>".&Submit("Submit","预  览","width:$IETextBoxSize")."</center>".								"</td>".								&Td("50%","","2","","","","","","").									"<center>".&Submit("Submit","回  复","width:$IETextBoxSize")."</center>".								"</td>".							"</tr>".						"</table>".					"</td>".				"</tr>".				&Tr("","",$MenuBGColor).					&Td("","","2","","","","","","").						&PrintVersion().					"</td>".				"</tr>".			"</table></td></tr></table>".			"</form>";###############################################################################		if ($PostInfo[2]) {		@MemberInfo=&GetMemberData($PostInfo[2]);	}	$HTML.=	&BTable($TableWidth,$TableAlign,"0","0",$TableCellSpacing,$TableCellPadding,$TableBorderColor,"","").				&Tr("","",$HeaderBGColor).					&Td("","","","","","","","","").						&Table("100%","CENTER","0","0","","").							&Tr("","","").								&Td("50%","","","","","","","","").									&Font($FontFace,$HeaderTextSize,$HeaderTextColor).										"<b>".$PostInfo[0]."</b>".									"</font>".								"</td>".								&Td("50%","","","","RIGHT","","","","").									&Font($FontFace,$HeaderTextSize,$HeaderTextColor);	if ($PostInfo[2]) {		$HTML.=	"<b>".$MemberInfo[1]."</b>";	}else{		$HTML.=	"<b>".$PostInfo[1]."</b>";	}	$HTML.=							"</font>".								"</td>".							"</tr>".						"</table>".					"</td>".				"</tr>".				&Tr("","",$RowOddBGColor).					&Td("","","","","","","","","").						&Table("100%","CENTER","5","5","","").							&Tr("","","").								&Td("","","","","","MIDDLE","","","").									&Font($FontFace,$TextSize,$TextColor).									"<span style=\"letter-spacing: 2\">".									$PostInfo[7].									"</span>";	if ($UseSignatures and $PostInfo[4] and $MemberInfo[15]) {		$HTML.=	"<hr>".				$MemberInfo[15];	}	$HTML.=							"</font>".								"</td>".							"</tr>".						"</table>".					"</td>".				"</tr>".				&Tr("","",$MenuBGColor).					&Td("","","","","","","","","").						&Table("100%","CENTER","0","0","","").							&Tr("","","").								&Td("","","","","","","","","").									&Font($FontFace,$MenuTextSize,$MenuTextColor).										&GetDate($PostInfo[5],$MenuTextColor,$MenuTextColor,$MenuTextSize,$MenuTextSize).									"</font>".								"</td>".								&Td("","","","","RIGHT","","","","");	if (($ShowIP eq "YES")||(($ShowIP eq "YESAdmin")&&(($Group eq "administrator")||($Group eq $BoardInfo[4])))) {		$HTML.=	&Font($FontFace,$MenuTextSize,$MenuTextColor).					"HOST/IP: ".$PostInfo[6].				"</font>";	}	$HTML.=						"</td>".							"</tr>".						"</table>".					"</td>".				"</tr>".			&CBTable();###############################################################################		for (my ($i)=2;$i<=$#POST_DATA;$i++) {		@MemberInfo=();		@PostInfo=&DecodeDBOutput($POST_DATA[$i]);		if ($PostInfo[2]) {			@MemberInfo=&GetMemberData($PostInfo[2]);		}		$HTML.=		"<p>".					&BTable($TableWidth,$TableAlign,"0","0",$TableCellSpacing,$TableCellPadding,$TableBorderColor,"","").						&Tr("","",$HeaderBGColor).							&Td("","","","","","","","","").								&Table("100%","CENTER","0","0","","").									&Tr("","","").										&Td("50%","","","","","","","","").											&Font($FontFace,$HeaderTextSize,$HeaderTextColor).												"<b>".$PostInfo[0]."</b>".											"</font>".										"</td>".										&Td("50%","","","","RIGHT","","","","").											&Font($FontFace,$HeaderTextSize,$HeaderTextColor);		if ($PostInfo[2]) {			$HTML.=								"<b>".$MemberInfo[1]."</b>";		}else{			$HTML.=								"<b>".$PostInfo[1]."</b>";		}		$HTML.=							"</font>".										"</td>".									"</tr>".								"</table>".							"</td>".						"</tr>".						&Tr("","",$RowOddBGColor).							&Td("","","","","","","","","").								&Table("100%","CENTER","5","5","","").									&Tr("","","").										&Td("","","","","","MIDDLE","","","").											&Font($FontFace,$TextSize,$TextColor).												$PostInfo[7];		if ($UseSignatures and $PostInfo[4] and $MemberInfo[15]) {			$HTML.=		"<hr>".						$MemberInfo[15];		}		$HTML.=								"</font>".										"</td>".									"</tr>".								"</table>".							"</td>".						"</tr>".						&Tr("","",$MenuBGColor).							&Td("","","","","","","","","").								&Table("100%","CENTER","0","0","","").									&Tr("","","").										&Td("","","","","","","","","").											&Font($FontFace,$MenuTextSize,$MenuTextColor).												&GetDate($PostInfo[5],$MenuTextColor,$MenuTextColor,$MenuTextSize,$MenuTextSize).											"</font>".										"</td>".										&Td("","","","","RIGHT","","","","").											&Font($FontFace,$MenuTextSize,$MenuTextColor).												"HOST/IP: ".$PostInfo[6].											"</font>".										"</td>".									"</tr>".								"</table>".							"</td>".						"</tr>".					&CBTable();				}	&PrintTheme("$UBName - 回复此讨论",$HTML);	exit;}###############################################################################1;# End of NewReply Function###############################################################################

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -