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

📄 main.pl

📁 这个社区是虚拟社区使用的程序
💻 PL
📖 第 1 页 / 共 2 页
字号:
###############################################################################
# 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 + -