#!/usr/bin/perl

package rotate;

use FindBin;
use lib $FindBin::Bin;
use CGI;
use CGI::Carp qw(fatalsToBrowser);

require Exporter;

use vars qw/@ISA @EXPORT @EXPORT_OK $copyright $prgname/;

$version = "HTML Rotate Ver 1.0";
$prgname = "HTML Rotate";
$copyright = "Copyright 2007 FocalMedia.Net - All Rights Reserved";


@ISA = qw(Exporter);

@EXPORT = qw(check_access 
				 ); 

@EXPORT_OK = qw(
					);


&get_setup;




sub check_access
{

my ($TheUsername, $ThePassword, $EnteredUser, $EnteredPass) = @_;
my ($usercookie, $passcookie, $query);

$query = new CGI;

$usercookie = $query->cookie('htmlruser');
$passcookie = $query->cookie('htmlrpass');

if (($EnteredUser ne "") and ($EnteredPass ne "")) {&do_login ($EnteredUser, $EnteredPass);}

if (($usercookie eq "") and ($passcookie eq "")){&login_screen;}

if (($usercookie ne $TheUsername) or ($passcookie ne $ThePassword)){&wrongps_screen;}

}






sub do_login
{

my ($form_username, $form_password) = @_;

my ($query, $thecookie1, $thecookie2, $scripts_admin);

$query = new CGI;

$thecookie1 = $query->cookie(-name=>'htmlruser',
			    					  -value=>$form_username,
			    					  -path=>'/');

$thecookie2 = $query->cookie(	-name=>'htmlrpass',
			    						-value=>$form_password,
			    						-path=>'/');

print $query->header(-cookie=>[$thecookie1, $thecookie2]); 

#print "Content-type: text/html\n\n";

print "<html>
<head>
<title>HTML Rotate</title>
<meta HTTP-EQUIV=\"REFRESH\" CONTENT=\"0;URL=$script_url/admin.cgi\">
</head>
<body>
</body>
</html>
";

exit;

}



sub login_screen
{

my ($newquery, $scripts_admin);
my $newquery = CGI->new;


print $newquery->header();
print $newquery->start_html("Control Panel");


print qq[<html>

<head>
<title></title>
</head>

<body>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<form method="POST" action="$script_url/admin.cgi">
  <div align="center"><center><table border="0" cellspacing="1" width="600"
  bgcolor="#E0E0E0" cellpadding="3">
    <tr>
      <td bgcolor="#F8F8F8" width="592" colspan="2" height="25" align="left"
      background="$weburl/bar.gif"><font face="Arial" size="2" color="#000000"><strong>Login:</strong></font></td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF" width="143" align="right"><font face="Arial" size="2"
      color="#000000">User Name:</font></td>
      <td bgcolor="#FFFFFF" width="449" align="left"><font face="Arial" size="2" color="#000000"><input
      type="text" name="username" size="20"></font></td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF" width="143" align="right"><font face="Arial" size="2"
      color="#000000">Password:</font></td>
      <td bgcolor="#FFFFFF" width="449" align="left"><font face="Arial" size="2" color="#000000"><input
      type="password" name="password" size="20"></font></td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF" width="143" align="left"><font face="Arial" size="2" color="#000000"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      </strong></font></td>
      <td bgcolor="#FFFFFF" width="449" align="left"><font face="Arial" size="2" color="#000000"><input
      type="submit" value="   Login   " name="B1"></font></td>
    </tr>
  </table>
  </center></div>
</form>
<font color="#ffffff" face="Verdana" size="1">

<p align="center"></font>&nbsp;</p>
</body>
</html>

];


exit;

}



sub wrongps_screen
{

my ($scripts_admin);


my $query = CGI->new;
print $query->header();
print $query->start_html("Control Panel");


print qq[<html>

<head>
<title></title>
</head>

<body>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<form method="POST" action="$script_url/admin.cgi">
  <div align="center"><center><table border="0" cellspacing="1" width="600"
  bgcolor="#E0E0E0" cellpadding="3">
    <tr>
      <td bgcolor="#FFFFFF" width="592" colspan="2" height="25" background="$weburl/bar.gif"
      align="left"><font face="Arial" size="2" color="#000000"><strong>The user name or password
      you entered was incorrect.</strong> Please Retry.</font></td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF" width="143" align="right"><font face="Arial" size="2"
      color="#000000">User Name:</font></td>
      <td bgcolor="#FFFFFF" width="449" align="left"><font face="Arial" size="2" color="#000000"><input
      type="text" name="username" size="20"></font></td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF" width="143" align="right"><font face="Arial" size="2"
      color="#000000">Password:</font></td>
      <td bgcolor="#FFFFFF" width="449" align="left"><font face="Arial" size="2" color="#000000"><input
      type="password" name="password" size="20"></font></td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF" width="143"><font face="Arial" size="2" color="#000000"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      </strong></font></td>
      <td bgcolor="#FFFFFF" width="449" align="left"><font face="Arial" size="2" color="#000000"><input
      type="submit" value="   Login   " name="B1"></font></td>
    </tr>
  </table>
  </center></div>
</form>
<font color="#ffffff" face="Verdana" size="1">

<p align="center"></font>&nbsp;</p>
</body>
</html>



];


exit;

}







######################################################################

sub get_setup
{

$exists = (-e "config.cgi");
if ($exists > 0)
	{
	
	open (STP, "config.cgi");
		while (defined($line=<STP>))
			{
			if ($line =~ m/#/g)
				{
				$r = pos($line);
				$line = substr($line, 0, $r - 1);
				}
				
				$line =~ s/\n//g;
	
if ($line =~ /^WEBDIR/){$webdir = &get_setup_line($line, WEBDIR);}
if ($line =~ /^WEBURL/){$weburl = &get_setup_line($line, WEBURL);}
if ($line =~ /^SCRIPT_URL/){$script_url = &get_setup_line($line, SCRIPT_URL);}
if ($line =~ /^USERNAME/){$username = &get_setup_line($line, USERNAME);}
if ($line =~ /^PASSWORD/){$password = &get_setup_line($line, PASSWORD);}

			}
	close (STP);
	
	}
}


sub get_setup_line
{
my ($setup_line, $setup_var) = @_;
$crit = "\"";
$setup_line =~ m/$crit/g;
$r1 = pos($setup_line);
$setup_line =~ m/$crit/g;
$r2 = pos($setup_line);
$setup_line = substr($setup_line, $r1, ($r2 - $r1 - 1));
$return_val = $setup_line;
return ($return_val);
}

#### END CONFIGURATION ########################################################


sub get_file_contents
{

my ($filename) = @_;
my ($filesize, $filesize, $thefile);

$filesize = (-s "$filename");
open (TFILECNTS, "$filename");
 if ($flocking ne "No"){flock (TFILECNTS,2);}
	read(TFILECNTS,$thefile,$filesize);
 if ($flocking ne "No"){flock (TFILECNTS,2);}
close (TFILECNTS);

return ($thefile);
}


1;