📄 ikon.lib
字号:
</table>
<p>
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
<tr>
<td>
<table cellpadding=6 cellspacing=1 border=0 width=100%>
<tr>
<td bgcolor=$miscbacktwo valign=middle align=center><font face=$font color=$fontcolormisc><b>错误: $where</b></font></td></tr>
<tr>
<td bgcolor=$miscbackone valign=middle><font face=$font color=$fontcolormisc>
<b>关于$where错误的详细错误原因:</b>
<ul>
<li><b>$errormsg</b>
<li>您是否仔细阅读了<a href="$helpprog">帮助文件</a>?
</ul>
<b>产生$where错误可能的原因:</b>
<ul>
<li>密码错误
<li>用户名错误
<li>用户没有<a href="$registerprog">注册</a>
</ul>
<br><br>
<center><font face=$font color=$fontcolormisc> << <a href="javascript:history.go(-1)">返回上一页</a></center>
</tr>
</td>
</table></td></tr></table>
~;
&output(
-Title => $boardname,
-ToPrint => $output,
-Version => $versionnumber
);
}
##########################
# Get member info.
sub getmember {
my $nametocheck = shift;
$nametocheck =~ s/ /\_/g;
$filetoopen = "$ikondir" . "members/$nametocheck.cgi";
$filetoopen = &stripMETA($filetoopen);
if (-e $filetoopen) {
open(FILE,"$filetoopen");
$filedata = <FILE>;
close(FILE);
chomp($filedata);
($membername, $password, $membertitle, $membercode, $numberofposts, $emailaddress, $showemail, $ipaddress, $homepage, $aolname, $icqnumber ,$location ,$interests, $joineddate, $lastpostdate, $signature, $timedifference, $privateforums, $useravatar, $misc1, $misc2, $misc3, $personalavatar, $personalwidth, $personalheight) = split(/\|/,$filedata);
chomp $privateforums;
if($privateforums) {
@private = split(/&/,$privateforums);
foreach $accessallowed (@private) {
chomp $accessallowed;
($access, $value) = split(/=/,$accessallowed);
$allowedentry{$access} = $value;
}
}
}
else { $userregistered = "no"; }
}
sub getmemberstime {
local($nametocheck) = @_;
$nametocheck =~ s/ /\_/g;
$filetoopen = "$ikondir" . "members/$nametocheck.cgi";
$filetoopen = &stripMETA($filetoopen);
open(FILE,"$filetoopen");
flock(FILE,2) if ($OS_USED eq "Unix");
$filedata = <FILE>;
close(FILE);
($trash, $trash, $trash, $trash, $trash, $trash, $trash, $trash, $trash, $trash, $trash ,$trash ,$trash, $trash, $trash, $trash, $timedifferencevalue, $trash) = split(/\|/,$filedata);
}
sub getlastvisit {
$lv = cookie("templastvisit");
if (! $lv) {
$lv = cookie("lastvisit");
if (! $lv) { $ctime = time; $lv = "$inforum-$ctime--"; }
$tempvisitcookie = cookie(-name => "templastvisit",
-path => "$cookiepath",
-value => "$lv");
}
@pairs = split(/\--/,$lv);
foreach (@pairs) { #
($n,$val) = split(/\-/,$_);
$lastvisitinfo{$n} = "$val";
} #
} # endroute
sub setlastvisit { #
local($tinfo) = @_;
($tid,$tv) = split(/\,/,$tinfo);
$lastvisit = cookie("lastvisit");
@newv= ""; $u = "0"; #
@pairs = split(/\--/,$lastvisit);
foreach (@pairs) { #
($n,$val) = split(/\-/,$_);
if ("$tid" eq "$n") {
$u = "1"; $val = $tv;
} #
push(@newv, "$n-$val--");
} #
if ($u eq "0" && $tinfo ne "") { push(@newv,"$tid-$tv--"); }
$nfo = ""; $nfo = join("",@newv); ##
$permvisitcookie = cookie(-name => "lastvisit",
-value => "$nfo",
-path => "$cookiepath",
-expires => "+30d");
if ($mv eq "1") {
$tempvisitcookie = cookie(-name => "templastvisit",
-value => "$nfo",
-path => "$cookiepath");
}
}
sub numerically { $a <=> $b }
sub alphabetically { lc($a) cmp lc($b) }
# 得到分论坛在线情况!
sub getonline {
$where=shift;
$filetoopen = "$ikondir" . "data/onlinedata.dat";
$filetoopen = &stripMETA($filetoopen);
open(FILE,"$filetoopen");
@onlinedata = <FILE>;
close(FILE);
$lengthmark= 0;
foreach $line (@onlinedata) {
chomp $line;
($savedusername, $savedcometime, $savedtime, $savedwhere, $savedipaddress,$saveosinfo,$savebrowseinfo, $savedwhere2, $saveservername) = split(/\|/, $line);
$lookfor = substr($savedusername, 0, 4);
$fromwhere = &ipwhere("$savedipaddress");
($ip1,$ip2,$ip3,$ip4) = split(/\./,$savedipaddress);
if ($membercode eq "ad") {
$savedipaddress="$ip1.$ip2.$ip3.$ip4";
}
elsif ($membercode eq "mo") {
$savedipaddress="$ip1.$ip2.$ip3.*";
}
else {
$savedipaddress="$ip1.$ip2.*.*";
}
$savedcometime = &dateformatshort($savedcometime + ($timezone*3600) + ($timedifferencevalue*3600));
$savedtime = &dateformatshort($savedtime + ($timezone*3600) + ($timedifferencevalue*3600));
$savedwhere =~s/\<a \s*(.*?)\s*\>\s*(.*?)\s*\<\/a\>/$2/isg;
$savedwhere =~s/\<\/a\>//isg;
$savedwhere =~s/\<b\>//isg;
$savedwhere =~s/\<\/b\>//isg;
$savedwhere2 =~s/\<a \s*(.*?)\s*\>\s*(.*?)\s*\<\/a\>/“$2”/isg;
$savedwhere2 =~s/\<\/a\>//isg;
$savedwhere2 =~s/\<b\>//isg;
$savedwhere2 =~s/\<\/b\>//isg;
$wherebaomi=$where."(密)";
if (($savedwhere eq $where)||($savedwhere eq $wherebaomi)){
if ($lookfor =~/^客人/) {
$guests++;
$memberoutput .= qq~<img src="$imagesurl/images/messages2.gif" border=0 width=12 height=11 alt="欢迎您,客人,请注册呀!"><a href="#"><ACRONYM nowarp TITLE=\"目前动作:$savedwhere2\n来访时间:$savedcometime\n活动时间:$savedtime\n操作系统:$saveosinfo\n浏 览 器:$savebrowseinfo\nIP地址:$savedipaddress\n来源鉴定:$fromwhere\">客人</ACRONYM></a> ~;
$lengthmark +=8;
}
else {
$members++;
$cleanmember = $savedusername;
$cleanmember =~ s/ /\_/g;
$lengthmark =$lengthmark+4+length($cleanmember);
$memberoutput .= qq~<a href="javascript:openScript('messanger.cgi?action=new&touser=$cleanmember',600,400)"><img src="$imagesurl/images/messages1.gif" border=0 width=12 height=11 alt="给$savedusername发送一个短消息"></a><a href="$profileprog?action=show&member=$cleanmember" target=_blank><ACRONYM nowarp TITLE=\"目前动作:$savedwhere2\n来访时间:$savedcometime\n活动时间:$savedtime\n操作系统:$saveosinfo\n浏 览 器:$savebrowseinfo\nIP地址:$savedipaddress\n来源鉴定:$fromwhere\">$savedusername</ACRONYM></a> ~;
}
if ($lengthmark > 108) {
$memberoutput .= qq~<br> ~;
$lengthmark = 0;
}
$totleonline=$members+$guests;
$membertongji = "目前本分论坛总共有 <b>$totleonline</b> 人在线。其中,注册用户 <b>$members</b> 人,访客 <b>$guests</b> 人。";
}
}
}
###########################
# Who's online feature.
sub whosonline {
local($instruct) = @_;
($tempusername, $where, $method, $where2) = split(/\|/, $instruct);
if ($badwords) {
@pairs = split(/\&/,$badwords);
foreach (@pairs) {
($bad, $good) = split(/=/,$_);
chop $good;
$where2 =~ s/$bad/$good/isg;
}
}
$ipaddress = $ENV{'REMOTE_ADDR'};
$servername = $ENV{'REMOTE_HOST'};
if ($tempusername eq "客人") {
$tempusername = "客人($ipaddress)";
$tempusername .= "($servername)" if ($servername ne "");
}
##Counter Begin...
$filetoopen = "$ikondir" . "data/counter.dat";
open(FILE,"$filetoopen");
$count = <FILE>;
close(FILE);
($count1,$count2) = split(/\|/, $count);
$count2++; #点击数
$filetoopen = "$ikondir" . "data/onlinedata.dat";
open(FILE,"$filetoopen");
@onlinedata = <FILE>;
close(FILE);
$addcountflag = 0;
foreach $line (@onlinedata) {
chomp $line;
($savedusername, $savedcometime, $savedtime, $savedwhere, $saveipaddress, $saveosinfo, $savebrowseinfo, $savedwhere2, $saveservername) = split(/\|/, $line);
$addcountflag =1 if ($tempusername eq $savedusername);
}
$newcount = $count1;
$newcount++ if ($addcountflag == 0);
$filetomake = "$ikondir" . "data/counter.dat";
open(FILE, ">$filetomake");
flock(FILE, 2) if ($OS_USED eq "Unix");
print FILE "$newcount|$count2|";
close(FILE);
##counter end...
$guests = 0;
$members = 0;
$currenttime = time;
$userexpire = $currenttime - ($membergone * 60);
$filetoopen = "$ikondir" . "data/onlinedata.dat";
$filetoopen = &stripMETA($filetoopen);
open(FILE,"$filetoopen");
@onlinedata = <FILE>;
close(FILE);
open(FILE,">$filetoopen");
flock(FILE, 2) if ($OS_USED eq "Unix");
$memberprinted = "no";
$osinfo=&osinfo();
$browseinfo=&browseinfo();
foreach $line (@onlinedata) {
chomp $line;
($savedusername, $savedcometime, $savedtime, $savedwhere, $savedipaddress,$saveosinfo,$savebrowseinfo, $savedwhere2, $saveservername) = split(/\|/, $line);
$savedusername =~ s/\_/ /g;
$tempusername =~ s/\_/ /g;
unless ("$userexpire" > "$savedtime") {
if (($savedusername eq $tempusername)||(($savedusername eq "客人($ipaddress)($servername)")&&($ipaddress eq $savedipaddress))) {
print FILE "$tempusername|$savedcometime|$currenttime|$where|$ipaddress|$osinfo|$browseinfo|$where2|$servername|\n" if ($memberprinted ne "yes");
$memberprinted = "yes";
}
else { print FILE "$line\n"; }
}
} # end foreach
if ($memberprinted eq "no") { print FILE "$tempusername|$currenttime|$currenttime|$where|$ipaddress|$osinfo|$browseinfo|$where2|$servername|\n";}
close(FILE);
if ($method eq "both") {
$filetoopen = "$ikondir" . "data/onlinedata.dat";
$filetoopen = &stripMETA($filetoopen);
open(FILE,"$filetoopen");
@onlinedata = <FILE>;
close(FILE);
$lengthmark= 0;
foreach $line (@onlinedata) {
chomp $line;
($savedusername, $savedcometime, $savedtime, $savedwhere, $savedipaddress,$saveosinfo,$savebrowseinfo, $savedwhere2, $saveservername) = split(/\|/, $line);
$lookfor = substr($savedusername, 0, 4);
$fromwhere = &ipwhere("$savedipaddress");
($ip1,$ip2,$ip3,$ip4) = split(/\./,$savedipaddress);
if ($membercode eq "ad") {
$savedipaddress="$ip1.$ip2.$ip3.$ip4";
}
elsif ($membercode eq "mo") {
$savedipaddress="$ip1.$ip2.$ip3.*";
}
else {
$savedipaddress="$ip1.$ip2.*.*";
}
$savedcometime = &dateformatshort($savedcometime + ($timezone*3600) + ($timedifferencevalue*3600));
$savedtime = &dateformatshort($savedtime + ($timezone*3600) + ($timedifferencevalue*3600));
$savedwhere =~s/\<a \s*(.*?)\s*\>\s*(.*?)\s*\<\/a\>/$2/isg;
$savedwhere =~s/\<\/a\>//isg;
$savedwhere =~s/\<b\>//isg;
$savedwhere =~s/\<\/b\>//isg;
$savedwhere2 =~s/\<a \s*(.*?)\s*\>\s*(.*?)\s*\<\/a\>/“$2”/isg;
$savedwhere2 =~s/\<\/a\>//isg;
$savedwhere2 =~s/\<b\>//isg;
$savedwhere2 =~s/\<\/b\>//isg;
if ($lookfor =~/^客人/) {
$guests++;
$memberoutput .= qq~<img src="$imagesurl/images/messages2.gif" border=0 width=12 height=11 alt="欢迎您,客人,请注册呀!"><a href="#"><ACRONYM nowarp TITLE=\"目前位置:$savedwhere\n目前动作:$savedwhere2\n来访时间:$savedcometime\n活动时间:$savedtime\n操作系统:$saveosinfo\n浏 览 器:$savebrowseinfo\nIP地址:$savedipaddress\n来源鉴定:$fromwhere\">客人</ACRONYM></a> ~;
$lengthmark +=8;
}
else {
$members++;
$cleanmember = $savedusername;
$cleanmember =~ s/ /\_/g;
$lengthmark =$lengthmark+4+length($cleanmember);
$memberoutput .= qq~<a href="javascript:openScript('messanger.cgi?action=new&touser=$cleanmember',600,400)"><img src="$imagesurl/images/messages1.gif" border=0 width=12 height=11 alt="给$savedusername发送一个短消息"></a><a href="$profileprog?action=show&member=$cleanmember" target=_blank><ACRONYM nowarp TITLE=\"目前位置:$savedwhere\n目前动作:$savedwhere2\n来访时间:$savedcometime\n活动时间:$savedtime\n操作系统:$saveosinfo\n浏 览 器:$savebrowseinfo\nIP地址:$savedipaddress\n来源鉴定:$fromwhere\">$savedusername</ACRONYM></a> ~;
}
if ($lengthmark > 104) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -