📄 ultraboard.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 + -