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

📄 ultraboard.lib

📁 这个社区是虚拟社区使用的程序
💻 LIB
字号:
###############################################################################
# UltraBoard.lib                                                              #
###############################################################################
# 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.                                           #
###############################################################################

###############################################################################
# CheckPermission                                                             #
###############################################################################
sub CheckPermission {
$HMessage= "<img src=/vrcdata/Images/HMessage.gif border=0>";
	&GetCookies();
    $Group = "Guest";
    if ($in{'Session'} ne "") {
        $SaveSession=0;
        $SessionID=$in{'Session'};
        ($UserName, $Password)=&GetSession($in{'Session'});
    }
    if (($UserName == -1)||(!$UserName)) {
        $SaveSession=1;
        if ($in{'UserName'} && $in{'Password'}) {
            $UserName=lc($in{'UserName'});
            $Password=$in{'Password'};
        }elsif (($Cookies{'UserName'}&&$Cookies{'Password'})) {
            $UserName=lc($Cookies{'UserName'});
            $Password=$Cookies{'Password'};
        }        
    }
    #print $Cookies{'UserName'},$Cookies{'Password'};
	#$Group = "Guest";
	#if ($in{'UserName'} && $in{'Password'}) {
	#	$UserName=lc($in{'UserName'});
	#	$Password=$in{'Password'};
	#}elsif (($Cookies{'UserName'}&&$Cookies{'Password'})) {
	#	$UserName=lc($Cookies{'UserName'});
	#	$Password=$Cookies{'Password'};
	#}
	if (($Cookies{'UserName'}&&$Cookies{'Password'})) {
		$Remember="on";
	}
	if (-e "$MembersPath/$UserName.info") {
		@MemberData=&GetMemberData($UserName);
		if ($MemberData[6] ne "Activate") {
			print &CookiesHeader(time+31536000,"UserName","","Password","");
			&ShowError("ACCESS DENIED","$MemberData[6] Your $UserName account have been disactivated.<br>Please contact the webmaster (".&Link("mailto:$EmailAddress","","").$EmailAddress."</a>".") for more information.");
		}
		$EPassword=Crypt::crypt($Password,substr($UserName, 0, 2));
		if ($EPassword eq $MemberData[2]) {
			$Group=$MemberData[3];

            if ($SaveSession == 1) {
                $SessionID=&CreateSession($UserName, $Password);
            }

			if ($in{'Remember'}) {
				print &CookiesHeader(time+31536000,"UserName",$UserName,"Password",$Password);
			}
		}else{
            @MemberData=[];
			$UserName="";
			$Password="";
			$EPassword="";
            $SessionID="";
        }
	}else{
		$UserName="";
		$Password="";
		$EPassword="";
        $SessionID="";
	}
    &RemoveSessions;
}

###############################################################################
# GetHTMLHeader                                                               #
###############################################################################
sub GetHTMLHeader {
	my ($Title, $HTML);
	if ($TitleMode eq "GRAPHIC") {
		$Title =	&Image("$URLImages/$TitleGraphic","","","","","","$UBName - $UBDes");
	}else{
		$Title =	&Font($FontFace,$TitleNameSize,$TitleTextColor)."<b>".$UBName."</b>"."</font>"."<br>".
					&Font($FontFace,$TitleDesSize,$TitleTextColor).$UBDes."</font>";
	}
	$HTML.=	&BTable($TableWidth,$TableAlign,"0","0",$TableCellSpacing,$TableCellPadding,$TableBorderColor,"","").
				&Tr($TitleAlign,"",$TitleBGColor).
					&Td("","","","","","","","","").
						$Title.
					"</td>".
				"</tr>".
				&GetMenu().
			&CBTable();
	return $HTML;
}

###############################################################################
# GetMenu                                                                     #
###############################################################################
sub GetMenu {
	my ($HTML);
	$HTML.= &Table("100%","","0","0","","").
				&Tr("","","").
					"<td>";       
	$HTML.=	&Link("UltraBoard.$Ext?Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Session=$SessionID","","",
			"返回 $UBName").$imgHome."</a>".$imgSperater if ($in{'Action'} ne "");
    if (($Group eq "Guest")&&($in{'Action'} ne "SignIn")) {
        $HTML.=	&Link("UltraBoard.$Ext?Action=SignIn&Ref=$in{'Action'}&Category=$in{'Category'}&Board=$in{'Board'}&Post=$in{'Post'}&ID=$in{'ID'}&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}&Session=$SessionID","","",
				"登录").$imgSignIn."</a>".$imgSperater;   
    }elsif ($in{'Action'} ne "SignIn") {
        $HTML.=	&Link("UltraBoard.$Ext?Action=SignOut&Ref=$in{'Action'}&Category=$in{'Category'}&Board=$in{'Board'}&Post=$in{'Post'}&ID=$in{'ID'}&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}&ReName=$MemberData[0]","","",
        			"退出").$imgSignOut."</a>".$imgSperater;    
    }
    if (($Group ne "Guest")&&($in{'Action'} ne "SignUp")) {
        $HTML.=	&Link("UltraBoard.$Ext?Action=ModifyAccount&Ref=$in{'Action'}&Category=$in{'Category'}&Board=$in{'Board'}&Post=$in{'Post'}&ID=$in{'ID'}&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}&Session=$SessionID","","",
				"编辑您的个人信息").$imgModifyAccount."</a>".$imgSperater;    
    }elsif (($in{'Action'} ne "SignUp")&&($AllowRegister)) {
        $HTML.=	&Link("UltraBoard.$Ext?Action=SignUp&Ref=$in{'Action'}&Category=$in{'Category'}&Board=$in{'Board'}&Post=$in{'Post'}&ID=$in{'ID'}&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}&Session=$SessionID","","",
				"注册新用户").$imgSignUp."</a>".$imgSperater;    
    }
	if ($in{'Action'} ne "SearchThreads") {
        $HTML.=	&Link("UltraBoard.$Ext?Action=SearchThreads&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}&Session=$SessionID","","",
				"搜索").$imgSearch."</a>".$imgSperater if ($in{'Action'} ne "Search");
	}    
	$HTML.=	&Link("UltraBoard.$Ext?Action=Help&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}&Session=$SessionID","","",
			"帮助").$imgHelp."</a>".$imgSperater if ($in{'Action'} ne "Help");
	$HTML.=	&Link("UltraBoard.$Ext?Action=Home&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}&Session=$SessionID","","",
			"玩家的家").$Home_Image."玩家的家"."</a>".$imgSperater if ($in{'Action'} ne "Help");
	if ($Group eq "administrator") {
		$HTML.=	&Link("UBAdmin.$Ext?Session=$SessionID","","",
				"社区管理中心").$imgAdmin."使者秘令"."</a>".$imgSperater;
	}
#add
	if ($Group ne "Guest"){
		open(ONCHAT,"$ChatRoom_DIRECTORY/online.txt")||&CGIError("Couldn't open/read the online file<br>\nPath: $ChatRoom_DIRECTORY<br>\nReason : $!");
		flock(ONCHAT,1) if ($FLock);
			@ONCHAT_DATA=<ONCHAT>;
		close(ONCHAT);
		$#ONCHAT_DATA++;
	$HTML.="<a href=\"/cgi-bin/vrc/Sources/Vote/vote.pl?uref=$SessionID\" target=\"_blank\">$imgAdmin<font color=blue>投票中心</font></a>";
		$HTML.="</td></tr><td>";

		open(ONLINE,"$Online_DIRECTORY/Online.Data")||&CGIError("Couldn't open/read the Online.Data file<br>\nPath: $Online_DIRECTORY<br>\nReason : $!");
			flock(ONLINE,1) if ($ONLINE);
				@ONLINE_DATA=<ONLINE>;
		close(ONLINE);
		$#ONLINE_DATA++;
		$HTML.=&Link("UltraBoard.pl?Action=ShowOnline&Ref=$in{'Action'}&Category=$in{'Category'}&Board=$in{'Board'}&Post=$in{'Post'}&ID=$in{'ID'}&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}&Session=$SessionID","","",
				"查看在线用户清单").$UserOnline."社区现在有 <font color=red>".$#ONLINE_DATA."</font> 位用户在线</a>".$imgSperater;
		$HTML.="<a href=\"#\" onClick=\"window.open('/cgi-bin/vrc/Sources/VRChat/chat.pl?job=login&uref=$SessionID','_blank','width='+(screen.width-10)+',height='+(screen.height-100)+',top=0,left=0,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no')\">$imgChat龙门客栈2000有 <font color=green>$#ONCHAT_DATA</font> 位用户闲聊</a>$imgSperater";

		$HTML.="</a></td></tr></table><tr><td bgcolor=#EEEEEE>";

		$HTML.=&Link("UltraBoard.pl?Action=SendMessage&Ref=$in{'Action'}&Category=$in{'Category'}&Board=$in{'Board'}&Post=$in{'Post'}&ID=$in{'ID'}&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}&Session=$SessionID","","",
				"社区BP Call传呼中心,可以让你与在线用户直接联系,就像各位的BP Call一样实用!").$imgSendMessage."</a>";
	}
	if ($MemberData[21] != 0){
		$HTML.=$imgSperater.&Link("UltraBoard.pl?Action=ShowMessage&ID=$MemberData[0]&Board=$in{'Board'}&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}&Session=$SessionID","Profile","",
			"You get $MemberData[21] message(s)!").$HMessage."你的社区Call机上有 <font color=red>".$MemberData[21]."</font> 条讯息!"."</a>";
	}

	$HTML.=	"</td>".
		"</tr>";
	return $HTML;
}

###############################################################################
# GetBoardList                                                                #
###############################################################################
sub GetBoardList {
	my ($HTML,@BoardList);
	open(CATEGORIES,"$DBPath/Categories.db")||&CGIError("Couldn't open/read the Categories.db file<br>\nPath: $DBPath<br>\nReason : $!");
        flock(CATEGORIES,1) if ($FLock);
        my @CATEGORIES_DATA=<CATEGORIES>;
    close(CATEGORIES);
    for (@CATEGORIES_DATA) {
		@CATEGORIES_INFO=&DecodeDBOutput($_);
		if ($UseCategory) {
			push (@BoardList,$CATEGORIES_INFO[1],"C_".$CATEGORIES_INFO[0]);	
		}
        open(CATEGORY,"$DBPath/$CATEGORIES_INFO[0].cat")||&CGIError("Couldn't open/read the $CATEGORIES_INFO[0].cat file<br>\nPath: $DBPath<br>\nReason : $!");
            flock(CATEGORY,1) if ($FLock);
            @CATEGORY_DATA=<CATEGORY>;
        close(CATEGORY);
        for (my ($i)=1;$i<=$#CATEGORY_DATA;$i++) {
            @CATEGORY_INFO=&DecodeDBOutput($CATEGORY_DATA[$i]);
	    if ($CATEGORY_INFO[7] eq "") {
	            if ($CATEGORY_INFO[5] eq "Active") {
		        if (($CATEGORY_INFO[6] eq "Private")&&($Group ne "administrator")) {
			    if ($Group eq "Guest") {
				next;
	                    }
		            require "$DBPath/$CATEGORY_INFO[0]/Access.db";
			    if (!$Access{$MemberData[3]}) {
				next;
	                    }
		        }
			push (@BoardList,"- ".$CATEGORY_INFO[1],"B_".$CATEGORY_INFO[0]);
	                $Access={};		# Clean Member List in Private Board
		}
            }
        }
    }
###############################################################################
    my $Link;
    if ($in{'Category'}) {
        $Link="C_".$in{'Category'};
    }else{
        $Link="B_".$in{'Board'};
    }
    $HTML.= &Table($TableWidth,$TableAlign,"","6","","").
                &Tr("","","").
					&Td("","","","","","","nowrap","","").
						&Form("UltraBoard.$Ext","POST","","").
                        &HiddenBox("Action","Redirect").
                        &HiddenBox("Session",$SessionID).
                        #&HiddenBox("UserName",$UserName).
                        #&HiddenBox("Password",$Password).
                        &HiddenBox("Idle",$in{'Idle'}).
                        &HiddenBox("Order",$in{'Order'}).
                        &HiddenBox("Sort",$in{'Sort'}).
			       "</td>".
				"</tr>".
				&Tr("","","").
					&Td("","","","","RIGHT","","","","").
						&Select("Link","","","",$Link,@BoardList).&Submit("","GO","","").
	         		"</td>".
				"</tr>".
                &Tr("","","").
					&Td("","","","","","","nowrap","","").
						"</form>".
					"</td>".
				"</tr>".
			"</table>";
    return $HTML;
}
###############################################################################
1;# End of UltraBoard.lib file
###############################################################################

⌨️ 快捷键说明

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