📄 main.pl
字号:
###############################################################################
# Main.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. #
###############################################################################
###############################################################################
# Main #
###############################################################################
sub Main {
if ($DisplayFront eq "") {
print "Location: $URLSite\n\n";
exit;
}
my ($HTML, $Menu, $List);
###############################################################################
if (($OnlyCategory)&&($UseCategory)) {
$ColSpan="2";
$Title.=&Td("","","","","","","","","").&Font($FontFace,$HeaderTextSize,$HeaderTextColor)."<b>门派区域名称</b>"."</font>"."</td>".
&Td("10%","","","","","","","","").&Font($FontFace,$HeaderTextSize,$HeaderTextColor)."<center><b>场景数</b></center>"."</font>"."</td>";
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_INFO, @CATEGORY_DATA);
while (<CATEGORIES>) {
@CATEGORIES_INFO=&DecodeDBOutput($_);
if ((-e "$DBPath/$CATEGORIES_INFO[0].acc")&&($Group ne "administrator")) {
require "$DBPath/$CATEGORIES_INFO[0].acc";
if ($ACCESS{$Group} ne "Visable") {
%ACCESS={};
next;
}
}
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);
$List.= &Tr("","",$RowOddBGColor).
&Td("","","","","","","",$ColumnOddBGColor,"").
&Table("100%","","0","0","","").
&Tr("","","").
&Td("20","","","","","","","","").
&Image("$URLImages/Folder.gif","","","","","0","$CATEGORIES_INFO[1] - $CATEGORIES_INFO[2]").
"</td>".
Td("","","","","","","","","").
&Font($FontFace,$CategoryNameTextSize,$CategoryTextColor).
&Link("UltraBoard.$Ext?Action=ShowCategory&Category=$CATEGORIES_INFO[0]&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Session=$SessionID","","$CATEGORIES_INFO[1] - $CATEGORIES_INFO[2]",
"显示 ($CATEGORIES_INFO[1]) 门派区域").
"<b>".$CATEGORIES_INFO[1]."</b>".
"</a>".
"</font>".
"</td>".
"</tr>".
"</table>".
"</td>".
&Td("","","","","","","",$ColumnEvenBGColor,"").
&Font($FontFace,$CategoryNameTextSize,$CategoryTextColor).
"<center>$#CATEGORY_DATA</center>".
"</font>".
"</td>".
"</tr>".
&Tr("","",$RowEvenBGColor).
&Td("","",$ColSpan,"","","","","","").
&Font($FontFace,$CategoryDesTextSize,$CategoryTextColor);
if ($DisplayCategoryDes) {
$List.=$CATEGORIES_INFO[2];
}
$List.= "</font>".
"</td>".
"</tr>";
}
close(CATEGORIES);
}else{
$ColSpan="3";
$Title.=&Td("","","","","","","","","").&Font($FontFace,$HeaderTextSize,$HeaderTextColor)."<b>门系派别</b>"."</font>"."</td>".
&Td("","","","","","","","","").&Font($FontFace,$HeaderTextSize,$HeaderTextColor)."<b>刑堂执事</b>"."</font>"."</td>";
if (($ShowTotal eq "Both")||($ShowTotal eq "Topics")) {
$Title.=&Td("","","","","","","","","").&Font($FontFace,$HeaderTextSize,$HeaderTextColor)."<center><b>江湖事件</b></center>"."</font>"."</td>";
$ColSpan++;
}
if (($ShowTotal eq "Both")||($ShowTotal eq "Posts")) {
$Title.=&Td("","","","","","","","","").&Font($FontFace,$HeaderTextSize,$HeaderTextColor)."<center><b>武林威望</b></center>"."</font>"."</td>";
$ColSpan++;
}
$Title.=&Td("","","","","","","","","").&Font($FontFace,$HeaderTextSize,$HeaderTextColor)."<b>最近发生事件的时间</b>"."</font>"."</td>";
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) {
if ((-e "$DBPath/$CATEGORIES_INFO[0].acc")&&($Group ne "administrator")) {
require "$DBPath/$CATEGORIES_INFO[0].acc";
if ($ACCESS{$Group} ne "Visable") {
%ACCESS={};
next;
}
}
$List.= &Tr("","",$CategoryBGColor).
&Td("","",$ColSpan,"","","","","","").
&Table("","","0","0","","").
&Tr("","","").
&Td("20","","","","","","","","").
&Image("$URLImages/Folder.gif","","","","","0","$CATEGORIES_INFO[1] - $CATEGORIES_INFO[2]").
"</td>".
&Td("","","","","","","","","").
&Font($FontFace,$CategoryNameTextSize,$CategoryTextColor).
"<b>".$CATEGORIES_INFO[1]."</b>".
"</font>".
"</td>".
"</tr>".
"</table>".
"</td>".
"</tr>";
}
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]);
open(BOARD,"$DBPath/$CATEGORY_INFO[0]/board.count")||&CGIError("Couldn't open/read the board.count file<br>\nPath: $DBPath/$CATEGORY_INFO[0]<br>\nReason : $!");
flock(BOARD,1) if ($FLock);
@BOARD_INFO=&DecodeDBOutput(<BOARD>);
close(BOARD);
if ($CATEGORY_INFO[5] eq "Active") {
if (($CATEGORY_INFO[6] eq "Private")&&($Group ne "administrator")&&($Group ne $CATEGORY_INFO[4])) {
if ($Group eq "Guest") {
next;
}
require "$DBPath/$CATEGORY_INFO[0]/Access.db";
if (!$Access{$MemberData[3]}) {
next;
}
}
if ($Cookies{"B_".$CATEGORY_INFO[0]."_TIME"}>$BOARD_INFO[3]) {
$MessageIcon=&Image("$URLImages/Board.gif","","","","","0","$CATEGORY_INFO[1] - $CATEGORY_INFO[2]");
}else{
$MessageIcon=&Image("$URLImages/NewBoard.gif","","","","","0","$CATEGORY_INFO[1] - $CATEGORY_INFO[2]");
}
$UnRead=$BOARD_INFO[2]-$Cookies{"B_".$CATEGORY_INFO[0]."_POST"};
if ($UnRead > 0) {
$UnRead.=" 条新帖子";
}else{
$UnRead="没有新帖子";
}
if ($Group eq "administrator") {
$AccessStatus="可读、写、编辑";
}elsif ($Group eq "Guest") {
if ($CATEGORY_INFO[6] eq "Protected") {
$AccessStatus="只能浏览";
}else{
$AccessStatus="可读、写、编辑";
}
}else{
if (($CATEGORY_INFO[6] eq "Protected")||($CATEGORY_INFO[6] eq "Public")) {
$AccessStatus="可读、写、编辑";
}else{
if ($Access{$MemberData[3]}) {
if ($Access{$MemberData[3]} eq "FullAccess") {
$AccessStatus="可读、写、编辑";
}else{
$AccessStatus="只能浏览";
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -