www.pudn.com > coolchat.zip > chatinfo.pl
sub chatinfomain
{
my($qry_string) = shift;
($action,$param)=split(/\*/,$qry_string,2);
if($action eq "li")
{
&userlist;
}
elsif($action eq "vw")
{
&view_user($param);
}
elsif($action eq "si")
{
&send_user_info;
}
elsif($action eq "vi")
{
&change_user_info;
}
else
{
&somerror("$ErrorMessage","$ChatURLpath",1);
}
}
sub view_user
{
my $viewed_id = shift;
my $lowviewid = $viewed_id;
$first_id='!';
my $idpath = $LOGOpath.$first_id."/";
my $datapath = $idpath.$lowviewid;
if(open(DATA,"<$datapath$DATA"))
{
@userlines=;
close DATA;
}
else
{
&somerror("我不能找到用户 - $viewed_id, 请见谅!如果是中文id,请刷新一下浏览器!");
}
($logtime,$msgnum,$onlinetime,$experience,$lifevalue,$lastip,$lasttime,$nowip,$nowtime,$tails)=split(/:/,$userlines[0],10);
($homepagename,$homepageurl,$icq,$sex,$star,$merry,$height,$weight,$job,$age,$tails)=split(/:/,$userlines[1],11);
($life,$edu,$school,$book,$sports,$work,$people,$music,$site,$file,$lover,$film,$tails)=split(/:/,$userlines[2],13);
$lifevalue = int($lifevalue/100);
my $lastvisitime = convert_time($nowtime);
my $viewed_nickname = $userlines[3];
my $viewemail = $space;
my($showemail,$email)=split(/:/,$userlines[4],3);
my($country,$state,$city)=split(/:/,$userlines[5],4);
$homepagename =~s/$colon/:/g;
$homepageurl =~s/$colon/:/g;
if((($showemail eq 1) || ($UserData{'Group'} eq 99))&&($email ne ""))
{
$viewemail = "$email";
}
$lastip = "Private" if($UserData{'Group'} ne 99);
my $viewed_homepage = $space;
$viewed_homepage = "$homepagename" if(($homepageurl ne "")&&($homepagename ne ""));
my @BoyGirl = ('','先生','女士');
my @MerryState= ('','未婚','已婚','保密');
my @EducationValue = ('','小学','初中','高中','大学','硕士','博士','博士后');
my $userimage = "$UsrImageURL/Default.gif";
$userimage = "$UsrImageURL/$lowviewid.gif" if(-e "$UsrImagedir/$lowviewid.gif");
my @infolines = ();
if(open(INFO,"<$datapath.INF"))
{
#print "$viewed_id
\n";
@infolines=;
close INFO;
}
print "Content-type: text/html\nPragma: no-cache\n\n";
print qq|
$viewed_id 的用户信息
| $viewed_id 个人信息 |
 |
用户ID: |
$viewed_id |
| 呢称: |
$viewed_nickname |
| e-mail: |
$viewemail |
| 个人主页 |
$viewed_homepage |
| ICQ |
$icq$space |
| 性别: |
$BoyGirl[$sex]$space |
| 婚姻: |
$MerryState[$merry]$space |
| 身高: |
$height(cm)$space |
| 阅历: |
$experience |
体重: |
$weight(kg) |
| 来访次数: |
$logtime |
职业: |
$job$space |
| 在线时间: |
$onlinetime(s) |
学历: |
$EducationValue[$edu]$space |
| 生命值: |
$lifevalue |
毕业学校: |
$school$space |
| 发言: |
[$msgnum] |
国家: |
$country |
| 上次来访时间: |
$lastvisitime |
省份: |
$state$space |
| 上次来访IP: |
$lastip |
城市: |
$city |
| 喜好的书籍: |
$book$space |
喜好的运动: |
$sports |
| 理想工作: |
$work |
偶像: |
$people$space |
| 喜好的音乐: |
$music |
喜好的地方: |
$site$space |
| 喜好的电影: |
$film$space |
梦中情人: |
$lover$space |
| 个人名言 |
|;
foreach $info(@infolines)
{
print "$info ";
}
print qq|
|
|;
}
sub send_user_info
{
my $lowviewid = lc($UserData{'User'});
$first_id='!';
my $idpath = $LOGOpath.$first_id."/";
my $datapath = $idpath.$lowviewid;
if(open(DATA,"<$datapath$DATA"))
{
@userlines=;
close DATA;
}
else
{
&somerror("System busy or your information file is error!");
}
($logtime,$msgnum,$onlinetime,$experience,$lifevalue,$lastip,$lasttime,$nowip,$nowtime,$tails)=split(/:/,$userlines[0],10);
($homepagename,$homepageurl,$icq,$sex,$star,$merry,$height,$weight,$job,$age,$tails)=split(/:/,$userlines[1],11);
($life,$edu,$school,$book,$sports,$work,$people,$music,$site,$file,$lover,$film,$tails)=split(/:/,$userlines[2],13);
$lifevalue = int($lifevalue/100);
my $lastvisitime = convert_time($nowtime);
my $viewed_nickname = $userlines[3];
my $viewemail = $space;
my($showemail,$email)=split(/:/,$userlines[4],3);
my($country,$state,$city)=split(/:/,$userlines[5],4);
if($showemail eq 1)
{
$pubemailyes = " checked";
}
else
{
$pubemailno = " checked";
}
$homepagename =~s/$colon/:/g;
$homepageurl =~s/$colon/:/g;
$lastip = "Private" if($UserData{'Group'} ne 99);
my $viewed_homepage = $space;
$viewed_homepage = "$homepage" if(($homepageurl ne "")||($homepagename ne ""));
my @BoyGirl = ('','先生','女士');
my @MerryState= ('','未婚','已婚','保密');
my @EducationValue = ('','小学','初中','高中','大学','硕士','博士','博士后');
my $userimage = "$UsrImageURL/Default.gif";
$userimage = "$UsrImageURL/$lowviewid.gif" if(-e "$UsrImagedir/$lowviewid.gif");
my @infolines = ();
if(open(INFO,"<$datapath.INF"))
{
@infolines=;
close INFO;
}
print "Content-type: text/html\nPragma: no-cache\n\n";
print qq|
$UserData{'User'}的用户信息
|;
}
sub change_user_info
{
require "$CGIfuncpath/cgi-lib.pl";
$cgi_lib'maxdata = 15000;
$ret = &ReadParse(\%in);
&CgiDie("出错了!输入错误!") if !defined $ret;
&CgiDie("没有找到图片!","请察看fup.html.") if !$ret;
my $lowid = lc($UserData{'User'});
$first_id='!';
my $idpath=$LOGOpath.$first_id."/";
my $datapath = $idpath.$lowid;
if(open(DATA,"<$datapath"))
{
@userlines=;
close DATA;
($id,$crykey,$tails)=split(/:/,$userlines[0],3);
# $crypass=crypt($in{'passwd'},$CryKey);
$crypass=$in{'passwd'};
&somerror("出错了!好像你的密码错误耶!") if($crykey ne $crypass);
}
if(($in{'newpasswd'} eq $in{'confirm'})&&($in{'confirm'} ne $in{'passwd'})&&($in{'confirm'} ne "")&&(length($in{'confirm'}) > 2))
{
$crypass=crypt($in{'newpasswd'},$CryKey);
$userlines[0] = "$id:$crypass:$tails";
&lock("$datapath");
if(open(DATA,">$datapath"))
{
foreach $line(@userlines)
{
print DATA $line;
}
}
&unlock("$datapath");
}
if($UserData{'Group'} ne 99)
{
$in{'info'} =~s/>/>/g;
$in{'info'} =~s/</g;
}
$in{'info'} =~s/\r//g;
$in{'pubemail'} =~s/\D//g;
$in{'icq'} =~s/\D//g;
$in{'sex'} =~s/\D//g;
$in{'merry'} =~s/\D//g;
$in{'age'} =~s/\D//g;
$in{'age'} = 0 if($in{'age'} < 0);
$in{'age'} = 150 if($in{'age'} > 150);
$in{'weight'} =~s/[^\d.]//g;
$in{'height'} =~s/[^\d.]//g;
$in{'edu'} =~s/\D//g;
$in{'email'} =~s/[^\d\w.\@]//g;
$in{'homepagename'} =~s/>/>/g;
$in{'homepagename'} =~s/>/</g;
$in{'homepagename'} =~s/:/$colon/g;
$in{'homepageurl'} =~s/>/>/g;
$in{'homepageurl'} =~s/>/>/g;
$in{'homepageurl'} =~s/:/$colon/g;
$in{'country'} =~s/>/>/g;
$in{'country'} =~s/>/</g;
$in{'country'} =~s/:/$colon/g;
$in{'state'} =~s/>/>/g;
$in{'state'} =~s/>/</g;
$in{'state'} =~s/:/$colon/g;
$in{'city'} =~s/>/>/g;
$in{'city'} =~s/>/</g;
$in{'city'} =~s/:/$colon/g;
$in{'job'} =~s/>/>/g;
$in{'job'} =~s/>/</g;
$in{'job'} =~s/:/$colon/g;
$in{'work'} =~s/>/>/g;
$in{'work'} =~s/>/</g;
$in{'work'} =~s/:/$colon/g;
$in{'people'} =~s/>/>/g;
$in{'people'} =~s/>/</g;
$in{'people'} =~s/:/$colon/g;
$in{'music'} =~s/>/>/g;
$in{'music'} =~s/>/</g;
$in{'music'} =~s/:/$colon/g;
$in{'site'} =~s/>/>/g;
$in{'site'} =~s/>/</g;
$in{'site'} =~s/:/$colon/g;
$in{'film'} =~s/>/>/g;
$in{'film'} =~s/>/</g;
$in{'film'} =~s/:/$colon/g;
$in{'lover'} =~s/>/>/g;
$in{'lover'} =~s/>/</g;
$in{'lover'} =~s/:/$colon/g;
$in{'school'} =~s/>/>/g;
$in{'school'} =~s/>/</g;
$in{'school'} =~s/:/$colon/g;
$in{'book'} =~s/>/>/g;
$in{'book'} =~s/>/</g;
$in{'book'} =~s/:/$colon/g;
$in{'sports'} =~s/>/>/g;
$in{'sports'} =~s/>/</g;
$in{'sports'} =~s/:/$colon/g;
$in{'bgcolor'} =~s/:/$colon/g;
$in{'fontcolor'} =~s/:/$colon/g;
$in{'fontsize'} =~s/\D//g;
$in{'fresh'} =~s/\D//g;
$in{'fontface'} =~s/:/$colon/g;
my $NickName = &RemoveSpecialChar($in{'nickname'});
$NickName = $UserData{'Nick'} if(length($NickName) < 2);
if(open(INFO,">$datapath.INF"))
{
print INFO $in{'info'};
close INFO;
}
my $gifimgpath = "$UsrImagedir/$lowid.gif";
if($in{'logoimg'} ne "")
{
if(open(IMG,">$gifimgpath"))
{
binmode IMG;
print IMG $in{'logoimg'};
close IMG;
}
}
&lock("$datapath$DATA");
if(open(DATA,"<$datapath$DATA"))
{
@userlines=;
close DATA;
($homepagename,$homepageurl,$icq,$sex,$star,$merry,$height,$weight,$job,$age,$tails1)=split(/:/,$userlines[1],11);
($life,$edu,$school,$book,$sports,$work,$people,$music,$site,$file,$lover,,$film,$tails2)=split(/:/,$userlines[2],13);
($showemail,$email,$tails3)=split(/:/,$userlines[4],3);
($coutry,$state,$city,$tails4)=split(/:/,$userlines[5],4);
($fresh,$bgcolor,$fontcolor,$fontsize,$fontface,$tails5)=split(/:/,$userlines[6],6);
$userlines[1] = "$in{'homepagename'}:$in{'homepageurl'}:$in{'icq'}:$in{'sex'}:$in{'star'}:$in{'merry'}:$in{'height'}:$in{'weight'}:$in{'job'}:$in{'age'}:$tails1";
$userlines[2] = "$in{'life'}:$in{'edu'}:$in{'school'}:$in{'book'}:$in{'sports'}:$in{'work'}:$in{'people'}:$in{'music'}:$in{'site'}:$in{'file'}:$in{'lover'}:$in{'film'}:$tails2";
$userlines[3] = $NickName;
$userlines[4] = "$in{'pubemail'}:$in{'email'}:$tails3";
$userlines[5] = "$in{'country'}:$in{'state'}:$in{'city'}:$tails4";
$userlines[6] = "$in{'fresh'}:$in{'bgcolor'}:$in{'fontcolor'}:$in{'fontsize'}:$in{'fontface'}:$tails5";
$userlines[1] =~ s/\n|\r//g;
$userlines[2] =~ s/\n|\r//g;
$userlines[3] =~ s/\n|\r//g;
$userlines[4] =~ s/\n|\r//g;
$userlines[5] =~ s/\n|\r//g;
$userlines[6] =~ s/\n|\r//g;
$userlines[1] = "$userlines[1]\n";
$userlines[2] = "$userlines[2]\n";
$userlines[3] = "$userlines[3]\n";
$userlines[4] = "$userlines[4]\n";
$userlines[5] = "$userlines[5]\n";
$userlines[6] = "$userlines[6]\n";
if(open(DATA,">$datapath$DATA"))
{
foreach $line(@userlines)
{
print DATA $line;
}
close DATA;
}
}
&unlock("$datapath$DATA");
print "Content-type: text/html\nPragma: no-cache\n";
&SetCookies(999999,'Fresh',$in{'fresh'},'Bgcolor',$in{'bgcolor'},'Fontcolor',$in{'fontcolor'},'Fontface',$in{'fontface'},'Fontsize',$in{'fontsize'});
print "Location:$chatInfo&vw*$UserData{'User'}\n\n";
#&view_user($UserData{'User'});
}
sub userlist
{
print "Content-type: text/html\nPragma: no-cache\n\n";
print "$Chat_Roomname 用户列表
\n";
if(open(USER,"$ChatUserListFile"))
{
@lines=;
close USER;
$lines_num=@lines;
$j =0;
for($i=0;$i<$lines_num;$i++)
{
($id,$name)=split(/:/,$lines[$i],3);
print "$name($id)";
if($j == 8)
{
print "\n";
$j=0;
}
else
{
$j++;
}
}
}
print "