kayzne
Power Member
- Dec 26, 2007
- 705
- 1,968
Hey,
I need a perl script converted to php with an accompanying MySQL db. Please Bid.
Here's the code:
Main CGI:
MEMBER CGI
Variables.
I need a perl script converted to php with an accompanying MySQL db. Please Bid.
Here's the code:
Main CGI:
Code:
#!/usr/bin/perl
use CGI::Carp 'fatalsToBrowser';
use CGI qw (:standard);
require "variables.pl";
open(ACT, "$file");
flock(ACT, 2);
@act = <ACT>;
flock(ACT, 8);
close(ACT);
$ac = $ENV{'QUERY_STRING'};
$referer = $ENV{'HTTP_REFERER'};
$forward = "";
foreach $line (@act) {
chop($line);
@info = split(/\|/, $line);
if($info[0] eq $ac) {
&site;
}
}
if($forward eq "") {
$forward = "$default";
print "Location: $forward\n\n";
} else { &site; }
sub site {
open(HEAD,"index.html");
flock(HEAD, 2);
@head = <HEAD>;
flock(HEAD, 8);
close(HEAD);
print "Content-type:text/html\n\n";
foreach $temp (@head) {
$temp =~ s/\<username>/$info[0]/gi;
$temp =~ s/\<email>/$info[2]/gi;
$temp =~ s/\<name>/$info[3]/gi;
$temp =~ s/\<siteheadline>/$info[4]/gi;
$temp =~ s/\<url>/$info[5]/gi;
$temp =~ s/\<description>/$info[6]/gi;
$temp =~ s/\<id>/$info[7]/gi;
print $temp; }
exit;
}
MEMBER CGI
Code:
#!/usr/bin/perl
$|=1;
use CGI::Carp 'fatalsToBrowser';
use CGI qw (:standard);
require "variables.pl";
$action = param(action);
$user = param(user);
$pass = param(pass);
if($action eq "menu") { &menu; }
elsif($action eq "addmem") { &addmem; }
elsif($action eq "send2") { &send2; }
elsif($action eq "editmember") { &editmember; }
elsif($action eq "editmember2") { &editmember2; }
elsif($action eq "deletemember") { &deletemember; }
else { &main; }
sub main {
print "Content-type:text/html\n\n";
print qq|
<html>
<head>
<title>$program</title>
</head>
<body>
<table border="0" width="100%" cellspacing="0" cellpadding="3">
<tr>
<td width="100%" bgcolor="#000080"><font face="Arial" color="#FFFFFF"><b>$program</b></font></td>
</tr>
<tr>
<td width="100%">
<blockquote>
<p><font face="Arial" size="2">To login to your account please
fill in your username and password in the boxes below. To create a new account, scroll down and choose your own user name and password</font></p>
<div align="center">
<center>
<form action="$ENV{'SCRIPT_NAME'}" method="POST">
<table border="0" cellspacing="0" cellpadding="2" width="248">
<tr>
<td width="88"><b><font face="Arial" size="2">Username:</font></b></td>
<td width="148"><input type="text" name="user" size="20"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">Password:</font></b></td>
<td width="148"><input type="password" name="pass" size="20"></td>
</tr>
<tr>
<td width="236" colspan="2">
<p align="center"><input type="submit" value="Login"></td>
</tr>
</table> <input type="hidden" name="action" value="menu">
</form>
<BR><BR><font face="Arial" size="2">To add your account, please
fill in the form below. You will need to be a paypal member
and you will need a home page url. If you are not a paypal
member, please sign up here <a href="http://www.paypal.com
" target="new">Click Here</a></font>
<form action="$ENV{'SCRIPT_NAME'}" method="POST">
<table border="0" cellspacing="0" cellpadding="2" width="248">
<tr>
<td width="88"><b><font face="Arial" size="2">Username:</font></b></td>
<td width="148"><input type="text" name="username" size="20"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">Password:</font></b></td>
<td width="148"><input type="password" name="password" size="20"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">Name:</font></b></td>
<td width="148"><input type="text" name="name" size="20"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">Email:</font></b></td>
<td width="148"><input type="text" name="email" size="20"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">WebSite Title:</font></b></td>
<td width="148"><input type="text" name="siteheadline" size="20"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">Website URL:</font></b></td>
<td width="148"><input type="text" name="url" size="20"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">Description:</font></b></td>
<td width="148"><input type="text" name="description" size="20"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">PayPal Email:</font></b></td>
<td width="148"><input type="text" name="id" size="20"></td>
</tr>
<tr>
<td width="236" colspan="2">
<p align="center"><input type="submit" value="Add"></td>
</tr>
</table>
<input type="hidden" name="action" value="addmem">
</form>
</center>
</div>
</blockquote>
</td>
</tr>
<tr>
<td width="100%" bgcolor="#000080">
<p align="right"><font face="Arial" size="2" color="#FFFFFF">©2001-2003 CGItoolbox.com </font></td>
</tr>
</table>
<center><FONT FACE=verdana SIZE=1><B>$program written<BR>
by <a href="http://www.hostswan.com/cgi">CGI Toolbox</a></B></FONT></center>
</body>
</html>
|;
exit;
}
sub addmem {
@data = param;
foreach $data (@data) {${$data} = param($data);}
unless($username && $password && $email && $name && $siteheadline && $url && $description && $id){
&plainerror('A Form Field was left blank, please click your browsers back button and try again!'); }
unless($url =~ m/http:\/\//){
&plainerror('Site URL must be in this format "http://www.yoursite.com"'); }
open(FILE, "$file");
flock(FILE, 2);
@file = <FILE>;
flock(FILE, 8);
close(FILE);
foreach $line (@file) {
chomp($line);
@temp = split(/\|/,$line);
if($temp[0] eq $username) { $found = 1; }
}
if($found eq "1") {
&plainerror("Username Already Used");
}
open(ACCTS,">>$file") || &plainerror("Could not open file ($!)");
flock(ACCTS, 2);
print ACCTS "$username|$password|$email|$name|$siteheadline|$url|$description|$id\n";
flock(ACCTS, 8);
close(ACCTS);
open(AUTO, "signup.txt") || &plainerror("Could not open autoresponder file ($!)!");
@auto = <AUTO>;
close(AUTO);
open(MAIL, "|$sendmail -t") || &plainerror("Could not open sendmail ($!)!");
print MAIL "To: $email\n";
print MAIL "From: $adminemail\n";
print MAIL "Subject: Welcome!\n\n";
foreach $line (@auto) {
chop($line);
$line =~ s/<name>/$name/g;
$line =~ s/<username>/$username/g;
$line =~ s/<email>/$email/g;
$line =~ s/<password>/$password/g;
$line =~ s/<siteheadline>/$siteheadline/g;
$line =~ s/<url>/$url/g;
$line =~ s/<description>/$description/g;
$line =~ s/<id>/$id/g;
print MAIL "$line\n";
}
close(MAIL);
open(AUTO, "affiliate.txt") || &plainerror("Could not open autoresponder file ($!)!");
@auto = <AUTO>;
close(AUTO);
open(MAIL, "|$sendmail -t") || &plainerror("Could not open sendmail ($!)!");
print MAIL "To: $adminemail\n";
print MAIL "From: $adminemail\n";
print MAIL "Subject: You Have a New Affiliate!\n\n";
foreach $line (@auto) {
chop($line);
$line =~ s/<name>/$name/g;
$line =~ s/<username>/$username/g;
$line =~ s/<email>/$email/g;
$line =~ s/<password>/$password/g;
$line =~ s/<siteheadline>/$siteheadline/g;
$line =~ s/<url>/$url/g;
$line =~ s/<description>/$description/g;
$line =~ s/<id>/$id/g;
print MAIL "$line\n";
}
close(MAIL);
&plainerror('You have been added! Push Your Back Button to log in or check your email for further instructions');
exit;
}
sub uauth {
open(UDB, "$file") || &plainerror("Could not open passwd ($!)!");
flock(UDB, 2);
@udb = <UDB>;
flock(UDB, 8);
close(UDB);
$found = 0;
foreach $line (@udb) {
chop($line);
@info = split(/\|/,$line);
if($user eq $info[0] && $pass eq $info[1]) {
$found = 1;
}
}
unless($found eq "1") { &plainerror("Invalid logon information."); }
}
sub menu {
&uauth;
open(UDB, "$file") || &plainerror("Could not open passwd ($!)!");
flock(UDB, 2);
@udb = <UDB>;
flock(UDB, 8);
close(UDB);
$found = 0;
foreach $line (@udb) {
chop($line);
@info = split(/\|/,$line);
if($info[0] eq $user){
print "Content-type:text/html\n\n";
print qq|<html>
<head>
<title>$program</title>
</head>
<body>
<table border="0" width="100%" cellspacing="0" cellpadding="3">
<tr>
<td width="100%" bgcolor="#000080"><font face="Arial" color="#FFFFFF"><b>$program</b></font></td>
</tr>
<tr>
<td width="100%">
<blockquote>
<center>
<p align="center"><font face="arial" size="3"><b>$program</b></font></p>
<p align="center"><font face="arial" size="2"><b>URL to Promote is:<BR>
<a href="$promote/main.cgi?$user">$promote/main.cgi?$user</a></b></font></p>
<p align="center"><b><font size="2">Update Form</font></b></p>
<form method="POST" action="$ENV{'SCRIPT_NAME'}">
<table border="0" cellspacing="0" cellpadding="2" width="248">
<tr>
<td width="88"><b><font face="Arial" size="2">Password:</font></b></td>
<td width="148"><input type="password" name="npass" size="20" value="$info[1]"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">Email:</font></b></td>
<td width="148"><input type="text" name="email" size="20" value="$info[2]"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">Website Headline:</font></b></td>
<td width="148"><input type="text" name="siteheadline" size="20" value="$info[4]"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">Website URL:</font></b></td>
<td width="148"><input type="text" name="url" size="20" value="$info[5]"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">Description:</font></b></td>
<td width="148"><input type="text" name="description" size="20" maxlength="150" value="$info[6]"></td>
</tr>
<tr>
<td width="88"><b><font face="Arial" size="2">PayPal Email:</font></b></td>
<td width="148"><input type="text" name="id" size="20" value="$info[7]"></td>
</tr>
<tr>
<td width="236" colspan="2">
<p align="center"><input type="submit" value="Submit"></td>
</tr>
</table>
<input type="hidden" name="action" value="editmember">
<input type="hidden" name="pass" value="$pass">
<input type="hidden" name="user" value="$user">
</form>
<p align="center"><b><font size="2" color="#000000">To DELETE your account,
press the button below</font></b></p>
<form method="POST" action="$ENV{'SCRIPT_NAME'}">
<p align="center"><input type="submit" value="Delete My Account">
<input type="hidden" name="action" value="deletemember">
<input type="hidden" name="pass" value="$pass">
<input type="hidden" name="user" value="$user">
</p>
</form>
</blockquote>
</td>
</tr>
<tr>
<td width="100%" bgcolor="#000080">
<p align="right"><font face="Arial" size="2" color="#FFFFFF">©2001-2003 CGItoolbox.com </font></td>
</tr>
</table>
<center><FONT FACE=verdana SIZE=1><B>$program written<BR>
by <a href="http://www.hostswan.com/cgi">CGI Toolbox</a></B></FONT></center>
</body>
</html>
</body>
</html>
|;
}}
exit;
}
sub editmember {
&uauth;
@data = param;
foreach $data (@data) {
${$data} = param($data);
}
open(ACCTS,"$file") || &plainerror("Could not open file ($!)");
flock(ACCTS, 2);
@accts = <ACCTS>;
flock(ACCTS, 8);
close(ACCTS);
foreach $line (@accts) {
chop($line);
($luser,$lpass,$lemail,$lname,$lsiteheadline,$lurl,$ldescription,$lid) = split(/\|/,$line);
if($user eq $luser){
$line = "$luser|$npass|$email|$name|$siteheadline|$url|$description|$id\n";
}
else {
$line = "$line\n";
}
}
open(ACCTS,">$file") || &plainerror("Could not open file ($!)");
flock(ACCTS, 2);
print ACCTS (@accts);
flock(ACCTS, 8);
close(ACCTS);
&plainerror('The member has been edited');
exit;
}
sub deletemember {
&uauth;
@data = param;
foreach $data (@data) {${$data} = param($data);}
open(ACCTS,"$file") || &plainerror("Could not open file ($!)");
flock(ACCTS, 2);
@accts = <ACCTS>;
flock(ACCTS, 8);
close(ACCTS);
foreach $line (@accts) {
chop($line);
@tempd = split(/\|/,$line);
if($user eq $tempd[0]){
$line = "";
}
else {
$line = "$line\n";
}
}
open(ACCTS,">$file") || &plainerror("Could not open file ($!)");
flock(ACCTS, 2);
print ACCTS (@accts);
flock(ACCTS, 8);
close(ACCTS);
&plainerror('Your have been deleted');
exit;
}
sub plainerror {
print "Content-type:text/html\n\n";
print qq|
<HTML><HEAD>
<title>$program</title>
</head>
<body bgcolor="ffffff">
<table border="0" width="100%" cellspacing="0" cellpadding="3">
<tr>
<td width="100%" bgcolor="#000080"><font face="Arial" color="#FFFFFF"><b>$program</b></font></td>
</tr>
<tr>
<td width="100%">
<blockquote>
<FONT FACE="Arial" SIZE=2 COLOR=000080><CENTER>$_[0]</CENTER></FONT><HR WIDTH=50%>
</blockquote>
</td>
</tr>
<tr>
<td width="100%" bgcolor="#000080">
<p align="right"><font face="Arial" size="2" color="#FFFFFF">©2001-2003 CGItoolbox.com </font></td>
</tr>
</table><center><FONT FACE=verdana SIZE=1><B>$program written<BR>
by <a href="http://www.hostswan.com/cgi">CGI Toolbox</a></B></FONT></center>
</BODY></HTML>
|;
exit;
}
Variables.
Code:
#path to sendmail
$sendmail = "/usr/sbin/sendmail";
#Your email address
$adminemail = "yourname\@yoursite.com";
# this is the path to the data.txt file
$file = "/www/yourpath/af/data.txt";
# this is where the script will send the visitor if the
#visitor types in the wrong url
$default = "http://www.yourdomain.com/af/main.cgi?main";
# this is the path to the directory where the scripts are.
$datapath = "/www/yourpath/af/";
# this is the name of your program
$program = "Your Affiliate Program";
# this is the URL to the directory where the scripts are
$promote = "http://www.yourdomain.com/af";
1;