\n"; close (MAIN); } } else { open (CHAT,">$file_dir/chat$room"); print CHAT ""; close (CHAT); } &createone; } sub createone { $vname = $name; $vname =~ s/ /_/g; $vname =~ s/\//_/g; if (-e "$vis_dir/$vname") { } else { $password = crypt($passwd,MW); open (VFILE,">$vis_dir/$vname"); print VFILE "\n"; close (VFILE) } &countv; } sub countv { opendir(VFILES,$vis_dir); @vfilelist = grep(!/^\.\.?$/, readdir (VFILES)); closedir(VFILES); foreach $vfilelist (@vfilelist) { if (-A "$vis_dir/$vfilelist" > $visitors_time / 86400) { unlink("$vis_dir/$vfilelist"); } } } ############ # Login sub login { opendir(VFILES,$vis_dir); @vfilelist = grep(!/^\.\.?$/, readdir (VFILES)); closedir(VFILES); $vtotal = @vfilelist; $vtotal = $vtotal - 1; $entry =~ s/ /_/g; $entry =~ s/\//_/g; open (VISITORS,"$file_dir/vis$entry"); @visitors =
- \n";
print "$page_title\n";
print "$reg_page
\n"; print "$instruct
\n"; if ($vnum < 1) { print "$no_vis
\n"; } elsif ($vnum==1) { print "$one_vis
\n"; } else { print "$mult_vis_a $vnum $mult_vis_b
\n"; } if ($vtotal < 1) { print "$no_vis_tot
\n"; } elsif ($vtotal==1) { print "$one_vis_tot
\n"; } else { print "$mult_vis_tot_a $vtotal $mult_vis_tot_b
\n"; } print "
- \n";
print "
\n"; } if ($help_file ne "") { print "$help_a $help_b $help_c
\n";
}
}
############
# Check Name
sub check_name {
if (
($name ne "$admin_name" or $passwd ne "$admin_passwd") and
($name ne "$name1" or $passwd ne "$pass1") and
($name ne "$name2" or $passwd ne "$pass2") and
($name ne "$name3" or $passwd ne "$pass3") and
($name ne "$name4" or $passwd ne "$pass4") and
($name ne "$name5" or $passwd ne "$pass5") and
($name ne "$name6" or $passwd ne "$pass6") and
($name ne "$name7" or $passwd ne "$pass7") and
($name ne "$name8" or $passwd ne "$pass8") and
($name ne "$name9" or $passwd ne "$pass9") and
($name ne "$name10" or $passwd ne "$pass10") and
($name ne "$name11" or $passwd ne "$pass11") and
($name ne "$name12" or $passwd ne "$pass12") and
($name ne "$name13" or $passwd ne "$pass13") and
($name ne "$name14" or $passwd ne "$pass14") and
($name ne "$name15" or $passwd ne "$pass15") and
($name ne "$name16" or $passwd ne "$pass16") and
($name ne "$name17" or $passwd ne "$pass17") and
($name ne "$name18" or $passwd ne "$pass18") and
($name ne "$name19" or $passwd ne "$pass19") and
($name ne "$name20" or $passwd ne "$pass20") and
($name ne "$name21" or $passwd ne "$pass21") and
($name ne "$name22" or $passwd ne "$pass22") and
($name ne "$name23" or $passwd ne "$pass23") and
($name ne "$name24" or $passwd ne "$pass24") and
($name ne "$name25" or $passwd ne "$pass25") and
($name ne "$name26" or $passwd ne "$pass26") and
($name ne "$name27" or $passwd ne "$pass27") and
($name ne "$name28" or $passwd ne "$pass28") and
($name ne "$name29" or $passwd ne "$pass29") and
($name ne "$name30" or $passwd ne "$pass30") and
($name ne "$name31" or $passwd ne "$pass31") and
($name ne "$name32" or $passwd ne "$pass32") and
($name ne "$name33" or $passwd ne "$pass33") and
($name ne "$name34" or $passwd ne "$pass34") and
($name ne "$name35" or $passwd ne "$pass35") and
($name ne "$name36" or $passwd ne "$pass36") and
($name ne "$name37" or $passwd ne "$pass37") and
($name ne "$name38" or $passwd ne "$pass38") and
($name ne "$name39" or $passwd ne "$pass39") and
($name ne "$name40" or $passwd ne "$pass40") and
($name ne "$name41" or $passwd ne "$pass41") and
($name ne "$name42" or $passwd ne "$pass42") and
($name ne "$name43" or $passwd ne "$pass43") and
($name ne "$name44" or $passwd ne "$pass44") and
($name ne "$name45" or $passwd ne "$pass45") and
($name ne "$name46" or $passwd ne "$pass46") and
($name ne "$name47" or $passwd ne "$pass47") and
($name ne "$name48" or $passwd ne "$pass48") and
($name ne "$name49" or $passwd ne "$pass49") and
($name ne "$name50" or $passwd ne "$pass50") and
($name ne "$name51" or $passwd ne "$pass51") and
($name ne "$name52" or $passwd ne "$pass52") and
($name ne "$name53" or $passwd ne "$pass53") and
($name ne "$name54" or $passwd ne "$pass54") and
($name ne "$name55" or $passwd ne "$pass55") and
($name ne "$name56" or $passwd ne "$pass56") and
($name ne "$name57" or $passwd ne "$pass57") and
($name ne "$name58" or $passwd ne "$pass58") and
($name ne "$name59" or $passwd ne "$pass59") and
($name ne "$name60" or $passwd ne "$pass60") and
($name ne "$name61" or $passwd ne "$pass61") and
($name ne "$name62" or $passwd ne "$pass62") and
($name ne "$name63" or $passwd ne "$pass63") and
($name ne "$name64" or $passwd ne "$pass64") and
($name ne "$name65" or $passwd ne "$pass65") and
($name ne "$name66" or $passwd ne "$pass66") and
($name ne "$name67" or $passwd ne "$pass67") and
($name ne "$name68" or $passwd ne "$pass68") and
($name ne "$name69" or $passwd ne "$pass69") and
($name ne "$name70" or $passwd ne "$pass70") and
($name ne "$name71" or $passwd ne "$pass71") and
($name ne "$name72" or $passwd ne "$pass72") and
($name ne "$name73" or $passwd ne "$pass73") and
($name ne "$name74" or $passwd ne "$pass74") and
($name ne "$name75" or $passwd ne "$pass75") and
($name ne "$name76" or $passwd ne "$pass76") and
($name ne "$name77" or $passwd ne "$pass77") and
($name ne "$name78" or $passwd ne "$pass78") and
($name ne "$name79" or $passwd ne "$pass79") and
($name ne "$name80" or $passwd ne "$pass80") and
($name ne "$name81" or $passwd ne "$pass81") and
($name ne "$name82" or $passwd ne "$pass82") and
($name ne "$name83" or $passwd ne "$pass83") and
($name ne "$name84" or $passwd ne "$pass84") and
($name ne "$name85" or $passwd ne "$pass85") and
($name ne "$name86" or $passwd ne "$pass86") and
($name ne "$name87" or $passwd ne "$pass87") and
($name ne "$name88" or $passwd ne "$pass88") and
($name ne "$name89" or $passwd ne "$pass89") and
($name ne "$name90" or $passwd ne "$pass90") and
($name ne "$name91" or $passwd ne "$pass91") and
($name ne "$name92" or $passwd ne "$pass92") and
($name ne "$name93" or $passwd ne "$pass93") and
($name ne "$name94" or $passwd ne "$pass94") and
($name ne "$name95" or $passwd ne "$pass95") and
($name ne "$name96" or $passwd ne "$pass96") and
($name ne "$name97" or $passwd ne "$pass97") and
($name ne "$name98" or $passwd ne "$pass98") and
($name ne "$name99" or $passwd ne "$pass99") and
($name ne "$name100" or $passwd ne "$pass100")
)
{ &name_taken; }
if ($passwd eq "") {
&name_taken;
}
else {
$vname = $name;
$vname =~ s/ /_/g;
$vname =~ s/\//_/g;
opendir(VFILES,$vis_dir);
@vfilelist = grep(!/^\.\.?$/, readdir (VFILES));
closedir(VFILES);
foreach $vfilelist_line (@vfilelist) {
if ($vfilelist_line eq $vname) {
open (VSAME,"$vis_dir/$vname") || die $!;
@vsame = \n";
print "$wrong_name \n";
print " \n");
}
else {
push (@vfile_new,"$vfile_line");
}
}
open(VFILE,">$vis_dir/$vname");
foreach $vfile_line(@vfile_new) {
print VFILE "$vfile_line";
}
close (VFILE);
undef @vfile_new;
open(MAIN,"$file_dir/chat$room") || die $!;
@main = \n");
}
else {
push (@main_new,"$main_line");
}
}
open(MAIN,">$file_dir/chat$room") || die $!;
foreach $main_line(@main_new) {
print MAIN "$main_line";
}
close(MAIN);
undef @main_new;
}
##########
# Modify chat page
sub post {
if ($message ne "") {
open(MAIN,"$file_dir/chat$room") || die $!;
@main = \n");
}
else {
push (@main_new,"$main_line");
}
}
open(MAIN,">$file_dir/chat$room") || die $!;
foreach $main_line(@main_new) {
print MAIN "$main_line";
}
close(MAIN);
undef @main_new;
}
}
#########
# Snag information when person hits reload
sub snag {
$mess = $message;
}
##########
# Update Visitor's log
sub update {
open (VISITORS,"$file_dir/vis$room") || die $!;
@visitors = \n";
print "$page_title\n";
print "$reg_page
\n";
print "\n";
&unlock;
exit;
}
###########
# Register
sub register {
$login = "$date";
open (VISITORS,"$file_dir/vis$room") || die $!;
@visitors = \n");
}
else {
push (@visitors_new,"$name \n");
}
}
else {
push (@visitors_new,"$visitors_line");
}
}
open(VISITORS,">$file_dir/vis$room") || die $!;
foreach $visitors_line(@visitors_new) {
print VISITORS "$visitors_line";
}
close(VISITORS);
undef @visitors_new;
$vname = $name;
$vname =~ s/ /_/g;
$vname =~ s/\//_/g;
open(VFILE,"$vis_dir/$vname");
@vfile = $name
$message \n");
}
else {
push (@visitors_new,"$name $date \n");
}
}
else {
push (@visitors_new,"$visitors_line");
}
}
open(VISITORS,">$file_dir/vis$room") || die $!;
foreach $visitors_line(@visitors_new) {
print VISITORS "$visitors_line";
}
close(VISITORS);
undef @visitors_new;
}
############
# Reload
sub reload {
open(MAIN,"$file_dir/chat$room") || die $!;
@main = $name $date