📄 searchthreads.pl
字号:
################################################################################ SearchThreads.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. ################################################################################################################################################################ SearchThreads ################################################################################sub SearchThreads { open(BOARDS,"$DBPath/Boards.db")||&CGIError("Couldn't open/read the Boards.db file<br>\nPath: $DBPath<br>\nReason : $!"); flock(BOARDS,1) if ($FLock); @BOARDS_DATA=<BOARDS>; close(BOARDS); open(CATEGORIES,"$DBPath/Categories.db")||&CGIError("Couldn't open/read the Categories.db file<br>\nPath: $DBPath<br>\nReason : $!"); flock(CATEGORIES,1) if ($FLock); @CATEGORIES_DATA=<CATEGORIES>; close(CATEGORIES);############################################################################### $HTML.= "<p>".&Form("UltraBoard.$Ext","POST","","","name=\"form\""). &HiddenBox("Action","DoSearchThreads"). &HiddenBox("Count",scalar(@BOARDS_DATA)). &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("","","5","","","","","",""). &Font($FontFace,$HeaderTextSize,$HeaderTextColor). "<b>搜索</b>". "</font>". "</td>". "</tr>". &Tr("","",$CategoryBGColor). &Td("","","5","","","","","",""). &Font($FontFace,$CategoryNameTextSize,$CategoryTextColor). "<b>关键词</b><br>". &Font($FontFace,$CategoryDesTextSize,$CategoryTextColor). "用空格分开关键词". "</font>". "</font>". "</td>". "</tr>". &Tr("","",$RowOddBGColor). &Td("","","5","","","","",$ColumnOddBGColor,""). &TextBox("Keywords","",$TextBoxSize,"","width:$IETextBoxSize"). "</td>". "</tr>". &Tr("","",$RowEvenBGColor). &Td("20","","","","","","",$ColumnOddBGColor,""). &Radio("Bealoon","And","",""). "</td>". &Td("100%","","4","","","","",$ColumnEvenBGColor,""). &Font($FontFace,$TextSize,$TextColor). "包含所有关键词". "</font>". "</td>". "</tr>". &Tr("","",$RowOddBGColor). &Td("20","","","","","","",$ColumnOddBGColor,""). &Radio("Bealoon","Or","Or",""). "</td>". &Td("100%","","4","","","","",$ColumnEvenBGColor,""). &Font($FontFace,$TextSize,$TextColor). "包含任意关键词". "</font>". "</td>". "</tr>". &Tr("","",$CategoryBGColor). &Td("","","5","","","","","",""). &Font($FontFace,$CategoryNameTextSize,$CategoryTextColor). "<b>时间范围</b>". "</font>". "</td>". "</tr>". &Tr("","",$RowOddBGColor). &Td("","","5","","","","",$ColumnOddBGColor,""). &Table("100%","","0","0","",""). &Tr("","",""). &Td("","","","","","","","",""). &Select("DateType","","","","less", "过去","more", "最近","less", ). "</td>". &Td("100%","","","","","","","",""). &Select("DateDays","","width:$IETextBoxSize","","", "任何时间","", "1 天","1", "2 天","2", "3 天","3", "7 天","7", "10 天","10", "20 天","20", "30 天","30", "45 天","45", "60 天","60", "90 天","90", "365 天","365" ). "</td>". "</tr>". "</table>". "</td>". "</tr>". &Tr("","",$CategoryBGColor). &Td("","","5","","","","","",""). &Font($FontFace,$CategoryNameTextSize,$CategoryTextColor). "<b>搜索范围</b>". "</font>". "</td>". "</tr>". &Tr("","",$RowOddBGColor). &Td("","","5","","","","",$ColumnOddBGColor,""). &Select("Method","","width:$IETextBoxSize","","", "主题,内容,用户名","SubjectMessageUserName", "主题,内容","SubjectMessage", "主题,用户名","SubjectUserName", "内容,用户名","MessageUserName", "主题","Subject", "内容","Message", "用户名","UserName" ). "</td>". "</tr>". &Tr("","",$CategoryBGColor). &Td("","","5","","","","","",""). &Font($FontFace,$CategoryNameTextSize,$CategoryTextColor). "<b>排列方式</b>". "</font>". "</td>". "</tr>". &Tr("","",$RowOddBGColor). &Td("","","5","","","","",$ColumnOddBGColor,""). &Table("100%","","0","0","",""). &Tr("","",""). &Td("","","","","","","","",""). &Select("SortOrder","","","","Descend", "升序","Ascend", "降序","Descend", ). "</td>". &Td("100%","","","","","","","",""). &Select("SortField","","width:$IETextBoxSize","","lastmodified", "讨论","topic", "作者","originator", "回复数","replies", "最后回复","lastmodified", ). "</td>". "</tr>". "</table>". "</td>". "</tr>". &Tr("","",$CategoryBGColor). &Td("","","5","","","","","",""). &Font($FontFace,$CategoryNameTextSize,$CategoryTextColor). "<b>在哪一个门派搜索</b>". "</font>". "</td>". "</tr>". &Tr("","",$CategoryBGColor). &Td("","","","","CENTER","","","",""). &Link("#","","","","onClick=\"CheckAll();return false;\""). &Image("$URLImages/CheckAll.gif","","","","","0","Reverse Selection"). "</a>". "</td>". &Td("","","","","","","","",""). &Font($FontFace,$CategoryNameTextSize,$CategoryTextColor). "<b>门系派别</b>". "</font>". "</td>". &Td("","","","","","","","",""). &Font($FontFace,$CategoryNameTextSize,$CategoryTextColor). "<b>区域权限</b>". "</font>". "</td>". &Td("","","","","CENTER","","","",""). &Font($FontFace,$CategoryNameTextSize,$CategoryTextColor). "<b>帖子数</b>". "</font>". "</td>". &Td("","","","","","","","",""). &Font($FontFace,$CategoryNameTextSize,$CategoryTextColor). "<b>最后回复</b>". "</font>". "</td>". "</tr>"; $Count=0; for (my ($i)=0,my ($j);$i<=$#CATEGORIES_DATA;$i++) { @CategoryInfo=&DecodeDBOutput($CATEGORIES_DATA[$i]); if ($UseCategory) { if ((-e "$DBPath/$CategoryInfo[0].acc")&&($Group ne "administrator")) { require "$DBPath/$CategoryInfo[0].acc"; if ($ACCESS{$Group} ne "Visable") { %ACCESS={}; next; } } $HTML.= &Tr("","",$CategoryBGColor). &Td("","","5","","","","","",""). &Font($FontFace,$CategoryNameTextSize,$CategoryTextColor). "<b>".$CategoryInfo[1]."<b>". "</font>". "</td>". "</tr>"; } open(CATEGORY,"$DBPath/$CategoryInfo[0].cat")||&CGIError("Couldn't open/read the $CategoryInfo[0].cat file<br>\nPath: $DBPath<br>\nReason : $!"); flock(CATEGORY,1) if ($FLock); @CATEGORY_DATA=<CATEGORY>; close(CATEGORY); $RowColor=$RowOddBGColor; for ($j=1;$j<scalar(@CATEGORY_DATA);$j++) { push (@Select,$j,$j); } for ($j=1;$j<=$#CATEGORY_DATA;$j++) { @BoardInfo=&DecodeDBOutput($CATEGORY_DATA[$j]); if ($BoardInfo[7] eq "") { open(COUNT,"$DBPath/$BoardInfo[0]/board.count")||&CGIError("Couldn't open/read the board.count file<br>\nPath: $DBPath/$BoardInfo[0]<br>\nReason : $!"); flock(COUNT,1) if ($FLock); @BoardCount=&DecodeDBOutput(<COUNT>); close(COUNT); if ($BoardInfo[5] eq "Active") { if (($BoardInfo[6] eq "Private")&&($Group ne "administrator")&&($Group ne $BoardInfo[4])) { if ($Group eq "Guest") { next; } require "$DBPath/$BoardInfo[0]/Access.db"; if (!$Access{$MemberData[3]}) { next; } }######################################################################################################################################################### if ($BOARD_DATA[6] eq "Protected" ){ $BOARD_DATA_CHINESE="<font color=FF8000>非公共区域</font>"; }else{ $BOARD_DATA_CHINESE="<font color=FF8000>公共区域</font>"; }######################################################################################################################################################### $HTML.= &Tr("","",$RowColor). &Td("20","","","","CENTER","","",$ColumnOddBGColor,""). &Checkbox("BoardID_".$Count++,"$BoardInfo[0]","",""). "</td>". &Td("45%","","","","","","",$ColumnEvenBGColor,""). &Font($FontFace,$TextSize,$TextColor). &Link("UltraBoard.$Ext?Action=ShowBoard&Board=$BoardInfo[0]&Idle=$in{'Idle'}&Sort=$in{'Sort'}&Order=$in{'Order'}&Page=$in{'Page'}Session=$SessionID","Board","$BoardInfo[2] ($BoardInfo[4])"). $BoardInfo[1]. "</a>". "</font>". "</td>". &Td("20%","","","","","","",$ColumnOddBGColor,""). &Font($FontFace,$TextSize,$TextColor). $BOARD_DATA_CHINESE. "</font>". "</td>". &Td("5%","","","","CENTER","","",$ColumnOddBGColor,""). &Font($FontFace,$TextSize,$TextColor). $BoardCount[2]. "</font>". "</td>". &Td("30%","","","","","","",$ColumnOddBGColor,""). &Font($FontFace,$TextSize,$TextColor). &GetDate($BoardCount[3],$DateTextColor,$TimeTextColor,$DateTextSize,$TimeTextSize). "</font>". "</td>". "</tr>"; if ($RowColor eq $RowOddBGColor) { $RowColor=$RowEvenBGColor; }else{ $RowColor=$RowOddBGColor; } %Access={}; # Clean Member List in Private Board } } } } $HTML.= &Tr("","",$CategoryBGColor). &Td("","","5","","","","","",""). "<center>".&Submit("","搜 索","width:$IETextBoxSize")."</center>". "</td>". "</tr>". &Tr("","",$MenuBGColor). &Td("","","5","","","","","",""). &PrintVersion(). "</td>". "</tr>". "</table></td></tr></table>". "</form>"; $HTML.=<<HTML; <SCRIPT LANGUAGE="JavaScript"> <!-- function CheckAll () { var Num=$Count; for (var i=0;i<Num;i++) { eval ("document.form.BoardID_"+i+".checked = 1-document.form.BoardID_"+i+".checked"); } } //--> </SCRIPT>HTML &PrintTheme("$UBName - 搜索",$HTML); exit;}###############################################################################1;# End of SearchThreads Function###############################################################################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -