Gossamer Forum
Home : General : Perl Programming :

Please help me!!!

Quote Reply
Please help me!!!
I have modify some perl file and some problems exist! I am the first time to write perl, so I really don't know what to do...
Can anyone download the code at http://home.fiberia.com/fe034acdff098345bd003ecf09a0b6/searcher/test/topranker.zip , and told me what's the problem??? Thanks lot!
The following is the content in topranker.zip
This is add.cgi -----------------------------

#!/usr/local/bin/perl

require "variables.pl";
&parse_html;
&parse_query;

if($query{'action'} eq "") {
print "Content-type: text/html\n\n";
print <<HTML;
<font face="$AddFontFace">
<center>
<h2>Add Your Site To The $SiteTitle</h2>
HTML

open(DATA, "$CgiDir/addsite.dat");
while (<DATA> ) {
print "$_";
}
close(DATA);

print <<HTML;
<table>
<tr>
<td>
<font face="$AddFontFace" size="-1">
<form action="add.cgi?action=add" method="post">
<b>E-Mail Address:</b><br>
<input type="text" size="20" name="email"><p>
<b>Site Title:</b><br>
<input type="text" size="40" name="title"><p>
<b>Site URL:</b><br>
<input type="text" size="50" name="url" value="http://"><p>
<b>Site Description:</b><br>
<input type="text" size="50" name="descrip"><p>
<b>Desired Username:</b><br>
<input type="text" size="15" maxsize="10" name="id"><p>
<b>Desired Password:</b><br>
<input type="password" size="15" maxsize="8" name="password"><p>
<input type="submit" value="Add User">
</form>
</td>
</tr>
</table>
HTML
}
elsif($query{'action'} eq "add") {
if(-e "$InfoDir/$form{'id'}" &#0124; &#0124; $form{'id'} eq "rerank") {
print "Content-type: text/html\n\n";
print "<center><h2>Sorry, That Username Is Taken</h2>";
print "Use your browsers back button and select another username";
}
else {
&addMember;
if($good_input) {
&printConfirm;
}
}
}

####################################
# Adds a member to the list
#
sub addMember {
$good_input = 1;
if($form{'title'} eq "" &#0124; &#0124;
$form{'url'} eq "http://" &#0124; &#0124;
$form{'descrip'} eq "" &#0124; &#0124;
$form{'email'} eq "" &#0124; &#0124;
$form{'password'} eq "" &#0124; &#0124;
$form{'id'} eq "") {

$good_input = 0;

print "Content-type: text/html\n\n";
print "<b>You forgot to fill in one or more fields.<br>Press your browsers back button";
print " and fill in these required fields:</b>";
print "<ul>";

if($form{'url'} eq "http://") {
print "<li>Web Site URL";
}

if($form{'descrip'} eq "") {
print "<li>Site Description";
}

if($form{'email'} eq "") {
print "<li>E-Mail Address";
}

if($form{'title'} eq "") {
print "<li>Site Title";
}

if($form{'id'} eq "") {
print "<li>Username";
}

if($form{'password'} eq "") {
print "<li>Password";
}

print "</ul>";
}
}

##################################
# Prints the page to confirm the
# site has been added to the list
#
sub printConfirm {
open(INFO, ">$InfoDir/$form{'id'}");
print INFO "0|$form{'title'}|$form{'url'}|$form{'descrip'}|$form{'email'}|$form{'banner'}|$form{'password'}|";
close(INFO);

chmod(0666, "$InfoDir/$form{'id'}");

open(IN, ">$InDir/$form{'id'}");
print IN "0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|";
close(IN);

chmod(0666, "$InDir/$form{'id'}");

open(OUT, ">$OutDir/$form{'id'}");
print OUT "0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|";
close(OUT);

chmod(0666, "$OutDir/$form{'id'}");

print "Content-type: text/html\n\n";
print <<HTML;
<center>
<font face="$AddFontFace" size="-1">
<h2>Addition Successful</h2>
Your information has been recorded and you<br>
may now begin sending hits to our top list.

<p>

Here's the information you submitted:

<p>

<table border="$AddTableBorder" cellspacing="$AddCellspacing" cellpadding="$AddCellpadding" width="$AddTableWidth" bgcolor="$AddBgColour">
<tr>
<td bgcolor="$AddTitleBgColour">
<font face="$AddFontFace" size=-2>
<b>USERNAME</b>
</td>
<td>
<font face="$AddFontFace" size=-2>
$form{'id'}
</td>
</tr>
<tr>
<td bgcolor="$AddTitleBgColour">
<font face="$AddFontFace" size=-2>
<b>PASSWORD</b>
</td>
<td>
<font face="$AddFontFace" size=-2>
$form{'password'}
</td>
</tr>
<tr>
<td bgcolor="$AddTitleBgColour">
<font face="$AddFontFace" size=-2>
<b>SITE TITLE</b>
</td>
<td>
<font face="$AddFontFace" size=-2>
$form{'title'}
</td>
</tr>
<tr>
<td bgcolor="$AddTitleBgColour">
<font face="$AddFontFace" size=-2>
<b>SITE URL</b>
</td>
<td>
<font face="$AddFontFace" size=-2>
<a href="$form{'url'}">$form{'url'}</a>
</td>
</tr>
<tr>
<td bgcolor="$AddTitleBgColour">
<font face="$AddFontFace" size=-2>
<b>E-MAIL ADDRESS</b>
</td>
<td>
<font face="$AddFontFace" size=-2>
<a href="mailto:$form{'email'}">$form{'email'}</a>
</td>
</tr>
<tr>
<td bgcolor="$AddTitleBgColour">
<font face="$AddFontFace" size=-2>
<b>DESCRIPTION</b>
</td>
<td>
<font face="$AddFontFace" size=-2>
$form{'descrip'}
</td>
</tr>
</table>

<p>

<h3>Linking Information</h3>

Now just place a link on your site that points to:<br>
<font color="red">$CgiUrl/in.cgi?$form{'id'}</font>

<p>

Follow the link below to get acceptable banners<br>
and text to use for your links.

<p>

<a href="$BannerUrl">Banners And Text Links</a>

HTML

open (MAIL,"|$MailCmd -t");
print MAIL "To: $form{'email'}\nFrom: $YourEmail\n";
print MAIL "Subject: Welcome To The $SiteTitle\n\n";
print MAIL "Welcome to the $SiteTitle Top List.\n";
print MAIL "You can begin sending hits to the list at any time\n";
print MAIL "and you will be listed, if you send enough hits, at the\n";
print MAIL "next update. Below is your linking information.\n\n";
print MAIL "URL to send hits to:\n";
print MAIL "$CgiUrl/in.cgi?$form{'id'}\n\n";
print MAIL "URL to get banners and text links:\n";
print MAIL "$BannerUrl\n\n";
print MAIL "Thanks for joining,\nWEBMASTER, $SiteTitle\n";
print MAIL "$HtmlUrl/index.html";
close (MAIL);
}

This is in.cgi ------------------------------

#!/usr/local/bin/perl

require "variables.pl";
&CheckTime;

if($ENV{'QUERY_STRING'} eq "rerank") {
&SortData;
&PrintList;
print "Location: $HtmlUrl/index.html\n\n";
}

if(-e "$InDir/$ENV{'QUERY_STRING'}") {
open(IN, "$ENV{'QUERY_STRING'}");
$IN = <IN>;
close(IN);

($In, $D0In, $D1In, $D2In, $D3In, $D4In, $D5In, $D6In, $D7In, $H0In, $H1In, $H2In, $H3In, $H4In, $H5In, $H6In, $H7In, $H8In, $H9In, $H10In, $H11In, $H12In, $H13In, $H14In, $H15In, $H16In, $H17In, $H18In, $H19In, $H20In, $H21In, $H22In, $H23In, $H24In, $TotalIn) = split(/\|/, $IN);

$In++;
$D0In++;
$H0In++;
$TotalIn++;

open(IN, ">$InDir/$ENV{'QUERY_STRING'}");
flock(IN, 2);
print IN "$In|$D0In|$D1In|$D2In|$D3In|$D4In|$D5In|$D6In|$D7In|$H0In|$H1In|$H2In|$H3In|$H4In|$H5In|$H6In|$H7In|$H8In|$H9In|$H10In|$H11In|$H12In|$H13In |$H14In|$H15In|$H16In|$H17In|$H18In|$H19In|$H20In|$H21In|$H22In|$H23In|$H24In|$TotalIn|";
close(IN);

print "Location: $HtmlUrl/index.html\n\n";
}
else {
print "Location: $HtmlUrl/index.html\n\n";
}

This is out.cgi -----------------------------

#!/usr/local/bin/perl

require "variables.pl";
&CheckTime;

if(-e "$OutDir/$ENV{'QUERY_STRING'}") {
open(OUT, "$OutDir/$ENV{'QUERY_STRING'}");
$OUT = <OUT>;
close(OUT);

($Out, $D0Out, $D1Out, $D2Out, $D3Out, $D4Out, $D5Out, $D6Out, $D7Out, $H0Out, $H1Out, $H2Out, $H3Out, $H4Out, $H5Out, $H6Out, $H7Out, $H8Out, $H9Out, $H10Out, $H11Out, $H12Out, $H13Out, $H14Out, $H15Out, $H16Out, $H17Out, $H18Out, $H19Out, $H20Out, $H21Out, $H22Out, $H23Out, $H24Out, $TotalOut) = split(/\|/, $OUT);

$Out++;
$D0Out++;
$H0Out++;
$TotalOut++;

open(OUT, ">$OutDir/$ENV{'QUERY_STRING'}");
flock(OUT, 2);
print OUT "$Out|$D0Out|$D1Out|$D2Out|$D3Out|$D4Out|$D5Out|$D6Out|$D7Out|$H0Out|$H1Out|$H2Out|$H3Out|$H4Out|$H5Out|$H6Out|$H7Out|$H8Out|$H9Out|$H10Out| $H11Out|$H12Out|$H13Out|$H14Out|$H15Out|$H16Out|$H17Out|$H18Out|$H19Out|$H20Out|$H21Out|$H22Out|$H23Out|$H24Out|$TotalOut|";
close(OUT);

open(INFO, "$InfoDir/$ENV{'QUERY_STRING'}");
$INFO = <INFO>;
close(INFO);

($mark, $url, $title, $descrip, $email, $banner, $password) = split(/\|/, $INFO);

print "Location: $url\n\n";
}
else {
print "Location: $HtmlUrl/wrongid.html\n\n";
}

This is variables.pl ------------------------

$SiteTitle = "Top Ranker 50";
# The title of your site

$CgiDir = "/usr/local/www/users/searcher/test/cgi-bin";
# The full UNIX path to all the
# cgi files are located for this script

$CgiUrl = "http://home.fiberia.com/fe034acdff098345bd003ecf09a0b6/searcher/test/cgi-bin";
# The full URL to the location of all script files

$HtmlDir = "/usr/local/www/users/searcher/test/TopRanker";
# The full UNIX path to where the
# HTML file (the html file containing the list) will be located

$HtmlUrl = "http://home.fiberia.com/fe034acdff098345bd003ecf09a0b6/searcher/test/TopRanker";
# The full URL to the location of where the html file
# (the html file containing the list) will be located

$InfoDir = "/usr/local/www/users/searcher/test/info";
# Full UNIX path to location
# where members info files are placed
#
# This must be an empty directory!

$InDir = "/usr/local/www/users/searcher/test/in";
# Full UNIX path to location
# where members incoming statistic files are placed
#
# This must be an empty directory!

$OutDir = "/usr/local/www/users/searcher/test/out";
# Full UNIX path to location
# where members outcoming statistic files are placed
#
# This must be an empty directory!

$BannerUrl = "/usr/local/www/users/searcher/test/banners.html";
# Full URL to a page that contains banners and
# proper text links for your members to use.
# Members will be given a link to this page after
# they add their site.

$DateCmd = '/bin/date';
# UNIX date command. Can be found with the following command at a UNIX prompt:
# which date
# If this does not help you contact your system administrator

$MailCmd = '/usr/sbin/sendmail';
# UNIX Sendmail command
#
# This has to point to your sendmail program. If your server does not
# have sendmail, you may need to modify the open(MAIL,"|$MailCmd -t");
# lines in all of the scripts to support whatever format your server
# e-mail system requires. If you are not sure, ask your server
# administrator.
#
# To help in locating this try the following command at a UNIX prompt:
# which sendmail
# If this does not help you contact your system administrator

$YourEmail = "mp3searcher\@softhome.net";
# Your e-mail address.
# NOTE: The backslash before the @ IS required.

$ListSize = "50";
# The total number of sites to list.

$RerankTime = "900";

$ResetTime = "86400";

#################################################################################
# VARIABLES FOR THE LOOK OF THE RANKING PAGE #
#################################################################################

$RankTableBorder = "1";
# The size of the border around the ranking list.

$RankTableWidth = "80%";
# The width you want the table to be, can eitherbe a percent or a number.

$RankCellpadding = "10";
# cellpadding value for the ranking list table.

$RankCellspacing = "0";
# cellspacing value for the ranking list table.

$RankFontFace = "Arial";
# The font to be used throughout the ranking list.

$RankBgColour = "#ffffff";
# The background color of the rows containing the ranking list.

$RankTitleBgColour = "#DCDCDC";
# The background color of the row containing titles for the list.
# RANK, TITLE, MARK.

#################################################################################
# VARIABLES FOR THE LOOK OF add.cgi #
#################################################################################

$AddTableBorder = "1";
# The size of the border around the conformation list.

$AddTableWidth = "80%";
# The width you want the table to be, can either be a percent or a number.

$AddCellpadding = "10";
# cellpadding value for the conformation list table.

$AddCellspacing = "0";
# cellspacing value for the conformation list table.

$AddFontFace = "Arial";
# The font to be used throughout the conformation list.

$AddBgColour = "#ffffff";
# The background color of the columns containing the user information.

$AddTitleBgColour = "#DCDCDC";
# The background color of the Columns containing titles for the user information.
# USERNAME, PASSWORD, SITE TITLE, SITE URL, E-MAIL ADDRESS, DESCRIPTION.

########### DONE - NO MORE EDITING NEEDS TO BE DONE TO THIS FILE ##############

$curTime = `$DateCmd +"%B %d, %Y %T %Z"`;
$header_file = "header.txt";
$footer_file = "footer.txt";

###############################################
# Parse information submitted through web form
# **Removes any html from the information
#
sub parse_html {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);

foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/~!/ ~!/g;
$value =~ s/<([^>]|\n)*>//g;
$form{$name} = $value;
}
}

#####################
# Parse query string
#
sub parse_query {
@pairs = split(/&/, $ENV{'QUERY_STRING'});
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$query{$name} = $value;
}
}

#########################################
# Gathers data from info files and sorts
#
sub SortData {
opendir (INFO, "$InfoDir");
@filenames = grep (!/^\.\.?$/, readdir (INFO));
closedir (INFO);
$num_of_files = @filenames;

foreach $i (@filenames) {
open (INFO, "$InfoDir/$i");
$INFO = <INFO>;
close (INFO);
$data_array{$i} = $INFO;
}

@sorted_data = sort {$data_array{$b} <=> $data_array{$a}} keys(%data_array);
}

###############################
# Check to see if it is time
# to update/reset list
#
sub CheckTime {
open(TIME, "$CgiDirtime");
$TIME=<TIME>;
close (TIME);
($Time1, $Time2, $Time3, $Time4) = split(/\|/, $TIME);
$TimeNow = time;

if (int($TimeNow/$RerankTime) != int($Time1/$RerankTime)) {
open(TIME, "$CgiDir/time");
flock(TIME, 2);
print TIME "$TimeNow|$Time2|$Time3|$Time4|";
close (TIME);
&SortData;
&PrintList;
}

if (int($TimeNow/$ResetTime) != int($Time2/$ResetTime)) {
open(TIME, "$CgiDir/time");
flock(TIME, 2);
print TIME "$Time1|$TimeNow|$Time3|$Time4|";
close (TIME);
&Reset;
}

if (int($TimeNow/(60*60)) != int($Time3/(60*60)) {
open(TIME, "$CgiDir/time");
flock(TIME, 2);
print TIME "$Time1|$Time2|$TimeNow|$Time4|";
close (TIME);
&UpdateHourlyStat;
}

if (int($TimeNow/(60*60*24)) != int($Time4/(60*60*24)) {
open(TIME, "$CgiDir/time");
flock(TIME, 2);
print TIME "$Time1|$Time2|$Time3|$TimeNow|";
close (TIME);
&UpdateDailyStat;
}
}

#################################################################################
# Reset all counters #
#################################################################################

sub Reset {
opendir (IN, "$InDir");
@filenames = grep (!/^\.\.?$/, readdir (IN));
closedir (IN);

foreach $i (@filenames) {
open(IN, "$InDir/$i");
$IN = <IN>;
close(IN);

($In, $D0In, $D1In, $D2In, $D3In, $D4In, $D5In, $D6In, $D7In, $H0In, $H1In, $H2In, $H3In, $H4In, $H5In, $H6In, $H7In, $H8In, $H9In, $H10In, $H11In, $H12In, $H13In, $H14In, $H15In, $H16In, $H17In, $H18In, $H19In, $H20In, $H21In, $H22In, $H23In, $H24In, $TotalIn) = split(/\|/, $IN);

open(IN, ">$InDir/$i");
flock(IN, 2);
print IN "$In|$D0In|$D1In|$D2In|$D3In|$D4In|$D5In|$D6In|$D7In|$H0In|$H1In|$H2In|$H3In|$H4In|$H5In|$H6In|$H7In|$H8In|$H9In|$H10In|$H11In|$H12In|$H13In |$H14In|$H15In|$H16In|$H17In|$H18In|$H19In|$H20In|$H21In|$H22In|$H23In|$H24In|$TotalIn|";
close(IN);
}

opendir (OUT, "$OutDir");
@filenames = grep (!/^\.\.?$/, readdir (OUT));
closedir (OUT);

foreach $i (@filenames) {
open(OUT, "$OutDir/$i");
$OUT = <OUT>;
close(OUT);

($Out, $D0Out, $D1Out, $D2Out, $D3Out, $D4Out, $D5Out, $D6Out, $D7Out, $H0Out, $H1Out, $H2Out, $H3Out, $H4Out, $H5Out, $H6Out, $H7Out, $H8Out, $H9Out, $H10Out, $H11Out, $H12Out, $H13Out, $H14Out, $H15Out, $H16Out, $H17Out, $H18Out, $H19Out, $H20Out, $H21Out, $H22Out, $H23Out, $H24Out, $TotalOut) = split(/\|/, $OUT);

open(OUT, ">$OutDir/$i");
flock(OUT, 2);
print OUT "$Out|$D0Out|$D1Out|$D2Out|$D3Out|$D4Out|$D5Out|$D6Out|$D7Out|$H0Out|$H1Out|$H2Out|$H3Out|$H4Out|$H5Out|$H6Out|$H7Out|$H8Out|$H9Out|$H10Out| $H11Out|$H12Out|$H13Out|$H14Out|$H15Out|$H16Out|$H17Out|$H18Out|$H19Out|$H20Out|$H21Out|$H22Out|$H23Out|$H24Out|$TotalOut|";
close(OUT);
}

opendir (INFO, "$InfoDir");
@filenames = grep (!/^\.\.?$/, readdir (INFO));
closedir (INFO);

foreach $i (@filenames) {
open(INFO, "$InfoDir/$i");
$INFO = <INFO>;
close(INFO);

($mark, $url, $title, $descrip, $email, $banner, $password) = split(/\|/, $INFO);

$UpMark = int (((($In * 2) + $Out) / 3) + 0.5)

open(INFO, ">$InfoDir/$i");
flock(INFO, 2);
print INFO "$UpMark|$title|$url|$descrip|$email|$banner|$password|";
close(INFO);
}
}

#################################################################################
# Resets all hourly stats #
#################################################################################

sub UpdateHourlyStat {
opendir (IN, "$InDir");
@filenames = grep (!/^\.\.?$/, readdir (IN));
closedir (IN);

foreach $i (@filenames) {
open(IN, "$InDir/$i");
$IN = <IN>;
close(IN);

($In, $D0In, $D1In, $D2In, $D3In, $D4In, $D5In, $D6In, $D7In, $H0In, $H1In, $H2In, $H3In, $H4In, $H5In, $H6In, $H7In, $H8In, $H9In, $H10In, $H11In, $H12In, $H13In, $H14In, $H15In, $H16In, $H17In, $H18In, $H19In, $H20In, $H21In, $H22In, $H23In, $H24In, $TotalIn) = split(/\|/, $IN);

$UpH0In = 0;
$UpH1In = $H0In;
$UpH2In = $H1In;
$UpH3In = $H2In;
$UpH4In = $H3In;
$UpH5In = $H4In;
$UpH7In = $H6In;
$UpH8In = $H7In;
$UpH9In = $H8In;
$UpH10In = $H9In;
$UpH11In = $H10In;
$UpH12In = $H11In;
$UpH13In = $H12In;
$UpH14In = $H13In;
$UpH15In = $H14In;
$UpH16In = $H15In;
$UpH17In = $H16In;
$UpH18In = $H17In;
$UpH19In = $H18In;
$UpH20In = $H19In;
$UpH21In = $H20In;
$UpH22In = $H21In;
$UpH23In = $H22In;
$UpH24In = $H23In;

open(IN, ">$InDir/$i");
flock(IN, 2);
print IN "$In|$D0In|$D1In|$D2In|$D3In|$D4In|$D5In|$D6In|$D7In|$UpH0In|$UpH1In|$UpH2In|$UpH3In|$UpH4In|$UpH5In|$UpH6In|$UpH7In|$UpH8In|$UpH9In|$UpH10I n|$UpH11In|UpH12In|$UpH13In|$UpH14In|$UpH15In|$UpH16In|$UpH17In|$UpH18In|$UpH19In|$UpH20In|$UpH21In|$UpH22In|$UpH23In|$UpH24In|$TotalIn|";
close(IN);
}

opendir (OUT, "$OutDir");
@filenames = grep (!/^\.\.?$/, readdir (OUT));
closedir (OUT);

foreach $i (@filenames) {
open(OUT, "$OutDir/$i");
$OUT = <OUT>;
close(OUT);

($Out, $D0Out, $D1Out, $D2Out, $D3Out, $D4Out, $D5Out, $D6Out, $D7Out, $H0Out, $H1Out, $H2Out, $H3Out, $H4Out, $H5Out, $H6Out, $H7Out, $H8Out, $H9Out, $H10Out, $H11Out, $H12Out, $H13Out, $H14Out, $H15Out, $H16Out, $H17Out, $H18Out, $H19Out, $H20Out, $H21Out, $H22Out, $H23Out, $H24Out, $TotalOut) = split(/\|/, $OUT);

$UpH0Out = 0;
$UpH1Out = $H0Out;
$UpH2Out = $H1Out;
$UpH3Out = $H2Out;
$UpH4Out = $H3Out;
$UpH5Out = $H4Out;
$UpH7Out = $H6Out;
$UpH8Out = $H7Out;
$UpH9Out = $H8Out;
$UpH10Out = $H9Out;
$UpH11Out = $H10Out;
$UpH12Out = $H11Out;
$UpH13Out = $H12Out;
$UpH14Out = $H13Out;
$UpH15Out = $H14Out;
$UpH16Out = $H15Out;
$UpH17Out = $H16Out;
$UpH18Out = $H17Out;
$UpH19Out = $H18Out;
$UpH20Out = $H19Out;
$UpH21Out = $H20Out;
$UpH22Out = $H21Out;
$UpH23Out = $H22Out;
$UpH24Out = $H23Out;

open(OUT, ">$OutDir/$i");
flock(OUT, 2);
print OUT "$Out|$D0Out|$D1Out|$D2Out|$D3Out|$D4Out|$D5Out|$D6Out|$D7Out|$UpH0Out|$UpH1Out|$UpH2Out|$UpH3Out|$UpH4Out|$UpH5Out|$UpH6Out|$UpH7Out|$UpH8O ut|$UpH9Out|$UpH10Out|$UpH11Out|UpH12Out|$UpH13Out|$UpH14Out|$UpH15Out|$UpH16Out|$UpH17Out|$UpH18Out|$UpH19Out|$UpH20Out|$UpH21Out|$UpH22Out |$UpH23Out|$UpH24Out|$TotalOut|";
close(OUT);
}
}

#################################################################################
# Resets all daily stats #
#################################################################################
sub UpdateDailyStat {
opendir (IN, "$InDir");
@filenames = grep (!/^\.\.?$/, readdir (IN));
closedir (IN);

foreach $i (@filenames) {
open(IN, "$InDir/$i");
$IN = <IN>;
close(IN);

($In, $D0In, $D1In, $D2In, $D3In, $D4In, $D5In, $D6In, $D7In, $H0In, $H1In, $H2In, $H3In, $H4In, $H5In, $H6In, $H7In, $H8In, $H9In, $H10In, $H11In, $H12In, $H13In, $H14In, $H15In, $H16In, $H17In, $H18In, $H19In, $H20In, $H21In, $H22In, $H23In, $H24In, $TotalIn) = split(/\|/, $IN);

$UpD0In = 0;
$UpD1In = $D0In;
$UpD2In = $D1In;
$UpD3In = $D2In;
$UpD4In = $D3In;
$UpD5In = $D4In;
$UpD6In = $D5In;
$UpD7In = $D6In;

open(IN, ">$InDir/$i");
flock(IN, 2);
print IN "$In|$UpD0In|$UpD1In|$UpD2In|$UpD3In|$UpD4In|$UpD5In|$UpD6In|$UpD7In|$H0In|$H1In|$H2In|$H3In|$H4In|$H5In|$H6In|$H7In|$H8In|$H9In|$H10In|$H11 In|$H12In|$H13In|$H14In|$H15In|$H16In|$H17In|$H18In|$H19In|$H20In|$H21In|$H22In|$H23In|$H24In|$TotalIn|";
close(IN);
}

opendir (OUT, "$OutDir");
@filenames = grep (!/^\.\.?$/, readdir (OUT));
closedir (OUT);

foreach $i (@filenames) {
open(OUT, "$OutDir/$i");
$OUT = <OUT>;
close(OUT);

($Out, $D0Out, $D1Out, $D2Out, $D3Out, $D4Out, $D5Out, $D6Out, $D7Out, $H0Out, $H1Out, $H2Out, $H3Out, $H4Out, $H5Out, $H6Out, $H7Out, $H8Out, $H9Out, $H10Out, $H11Out, $H12Out, $H13Out, $H14Out, $H15Out, $H16Out, $H17Out, $H18Out, $H19Out, $H20Out, $H21Out, $H22Out, $H23Out, $H24Out, $TotalOut) = split(/\|/, $OUT);

$UpD0Out = 0;
$UpD1Out = $D0Out;
$UpD2Out = $D1Out;
$UpD3Out = $D2Out;
$UpD4Out = $D3Out;
$UpD5Out = $D4Out;
$UpD6Out = $D5Out;
$UpD7Out = $D6Out;

open(OUT, ">$OutDir/$i");
flock(OUT, 2);
print OUT "$Out|$UpD0Out|$UpD1Out|$UpD2Out|$UpD3Out|$UpD4Out|$UpD5Out|$UpD6Out|$UpD7Out|$H0Out|$H1Out|$H2Out|$H3Out|$H4Out|$H5Out|$H6Out|$H7Out|$H8Out |$H9Out|$H10Out|$H11Out|$H12Out|$H13Out|$H14Out|$H15Out|$H16Out|$H17Out|$H18Out|$H19Out|$H20Out|$H21Out|$H22Out|$H23Out|$H24Out|$TotalOut|";
close(OUT);
}
}

###############################
# Print the list to rankem.html
#
sub PrintList {
$rank = 1;
$stop = 0;

open(HTMLFILE, ">$HtmlDir/index.html");
flock(HTMLFILE, 2);

open(HEADER, "$CgiDir/$header_file");
while(<HEADER> ) {
print HTMLFILE "$_";
}
close(HEADER);

print HTMLFILE qq|<table border="$RankTableBorder" cellspacing="$RankCellspacing" cellpadding="$RankCellpadding" width="$RankTableWidth">|;

print HTMLFILE qq|<tr bgcolor="$RankTitleBgColour">
<td align="center" width="5%">
<font face="$RankFontFace" size="-1"><b>NO.
</td>
<td align="center" width="85%">
<font face="$RankFontFace" size="-1"><b>SITE
</td>
<td align="center" width="10%">
<font face="$RankFontFace" size="-1"><b>MARK
</td>|;
print HTMLFILE "</tr>";

for ($s; $s <= $ListSize; $s++) {
if ($stop < $num_of_files) {
$stop++;
$user = $sorted_data[$s];

open (TEMP, "$InfoDir/$user");
$line = <TEMP>;
close (TEMP);

($mark, $title, $url, $descrip, $email, $banner, $password) = split (/\|/, $line);

if (($rank <= $ListSize) && ($data_array{$user} >= 1)) {
print HTMLFILE qq|<tr bgcolor="$list_bgcolor"><td align="center" width="5%"><font face="$RankFontFace" size="-1">$rank</td><td align="center" width="85%"><font face="$RankFontFace" size="-1">|;

print HTMLFILE qq|<a href="$CgiUrl/out.cgi?$user">|;

print HTMLFILE qq|$title</a><br>$descrip</td>
<td align="center" width="10%">
<font face="$RankFontFace" size="-1">$mark
</td>|;


print HTMLFILE qq|</tr>|;
}
}
$rank++;
}
print HTMLFILE qq|</table><p><font face="$RankFontFace" font size="-2">Last Updated: $curTime</font><p>|;


open(FOOTER, "$CgiDir/$footer_file");
while(<FOOTER> ) {
print HTMLFILE "$_";
}
close(FOOTER);
close(HTMLFILE);
}

That's all ----------------------------------

I will really very very happy if anyone can help me...
THANKS!!!
Subject Author Views Date
Thread Please help me!!! jpop 4291 Jan 6, 1999, 11:01 PM
Post Re: Please help me!!!
jpop 4154 Jan 6, 1999, 11:06 PM
Post Re: Please help me!!!
fhirsch 4140 Jan 7, 1999, 6:05 AM
Post Re: Please help me!!!
Alex 4149 Jan 7, 1999, 9:09 PM
Post Re: Please help me!!!
jpop 4151 Jan 8, 1999, 12:18 AM
Post Re: Please help me!!!
jpop 4136 Jan 8, 1999, 10:19 PM