Tony
02-02-2011, 04:21 PM
Ref system V1:
I DID NOT DO MUCH TESTING, IF YOU FIND AN ERROR, LET ME KNOW.
How this works?
step1: go into admincp
step2: Site settings
step3: View or Edit Basic Site Settings
step4: Rewards for referrals set the value
step5: Be happy.
Future updates:
rewarding pets
IP address checking to stop abuse.
User must be active for at least X amount of time before the reward is recieved
PM the user telling him/her they were rewarded.
taking suggestions.
database
SQL WILL COME SOON.
add Referrer and Referrals to the end of prefix_users
add refreward and a default value of 0 to prefix_settings
Register.php
First find this:
//Grab the post data from the form
$username = $_POST["username"];
$pass1 = $_POST["pass1"];
$pass2 = $_POST["pass2"];
$email = $_POST["email"];
$tos = $_POST["tos"];
$hidden = $_POST["hidden"];
and change it to this:
//Grab the post data from the form
$refer = $_POST["refer"];
$username = $_POST["username"];
$pass1 = $_POST["pass1"];
$pass2 = $_POST["pass2"];
$email = $_POST["email"];
$tos = $_POST["tos"];
$hidden = $_POST["hidden"];
find this:
$article_title = $regnew;
$article_content = $regnewexplain."<br><form name='form1' method='post' action='register.php'>
<p>Username: <input name='username' type='text' id='username' maxlength='20'></p>
<p>Your username may be up to 20 characters long and may only contain letters, numbers and spaces. </p>
<p>Password: <input name='pass1' type='password' id='pass1' maxlength='20'></p>
<p>Your password may be up to 20 characters long and may contain letters, numbers, spaces and special characters. The use of a special character, such as * or ! is recommended for increased security. </p>
<p>Confirm Password: <input name='pass2' type='password' id='pass2' maxlength='20'></p>
<p>Email Address: <input name='email' type='text' id='email'></p>
<p><input name='tos' type='checkbox' id='tos' value='yes'> I agree to the <a href='tos.php' target='_blank'>Terms of Service</a>.
<input name='hidden' type='hidden' id='hidden' value='goregister'></p>
<p><input type='submit' name='Submit' value='Register'>
</p></form>";
and change to this:
//TMOD added Reffered field.
$article_title = $regnew;
$article_content = $regnewexplain."<br><form name='form1' method='post' action='register.php'>
<p>Username: <input name='username' type='text' id='username' maxlength='20'></p>
<p>Your username may be up to 20 characters long and may only contain letters, numbers and spaces. </p>
<p>Password: <input name='pass1' type='password' id='pass1' maxlength='20'></p>
<p>Your password may be up to 20 characters long and may contain letters, numbers, spaces and special characters. The use of a special character, such as * or ! is recommended for increased security. </p>
<p>Confirm Password: <input name='pass2' type='password' id='pass2' maxlength='20'></p>
Who invited you? Leave blank if no one!
<p>Referrer: <input name='refer' type='text' id='refer'></p>
<p>Email Address: <input name='email' type='text' id='email'></p>
<p><input name='tos' type='checkbox' id='tos' value='yes'> I agree to the <a href='tos.php' target='_blank'>Terms of Service</a>.
<input name='hidden' type='hidden' id='hidden' value='goregister'></p>
<p><input type='submit' name='Submit' value='Register'>
</p></form>";
find this:
if(@eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
$emailisvalid = "yes";
}
replace with this: *And wasn't working with the SQL so I just have two queries, i'll fix eventually.*
if(@eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
$emailisvalid = "yes";
}
//TMOD +1 for refferal..
if($refer){
$query = "SELECT value FROM ".$prefix."settings WHERE name = 'refreward'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$refreward = $row['value'];
mysql_query("UPDATE ".$prefix."users SET Referrals = Referrals + 1 WHERE username = '$refer'");
mysql_query("UPDATE ".$prefix."users SET dollar = dollar + '$refreward' WHERE username = '$refer'");
}
find:
mysql_query("INSERT INTO ".$prefix."users VALUES ('', '$username', '$pass1','$email','3','1', '$date', '0','','','','','','0')");
and change to:
mysql_query("INSERT INTO ".$prefix."users VALUES ('', '$username', '$pass1','$email','3','1', '$date', '0','','','','','','0', '$refer', '')");
Admin.php
find:
<p>Site Title:
<input name='sitetitle' type='text' id='sitetitle' value='".grabanysetting("browsertitle")."'>
</p>
add:
<p>Site Title:
<input name='sitetitle' type='text' id='sitetitle' value='".grabanysetting("browsertitle")."'>
</p>
This is the amount of gold you want to give out for each refferal.
<p>Rewards for refferals:
<input name='reward' type='text' id='reward' value='".grabanysetting("refreward")."'>
</p>
admpost.php
find:
$sitenamevar = $_POST["sitename"];
$sitenamevar = secure($sitenamevar);
add:
// We are changing the settings for the site...
$rewardvar = $_POST["reward"];
$rewardvar = secure($rewardvar);
$sitenamevar = $_POST["sitename"];
$sitenamevar = secure($sitenamevar);
find:// Everything looks good, update the settings...
$query = "UPDATE ".$prefix."settings SET value='".$sitenamevar."' WHERE name='sitename'";
mysql_query($query);
add:
// Everything looks good, update the settings...
$query = "UPDATE ".$prefix."settings SET value='".$sitenamevar."' WHERE name='sitename'";
mysql_query($query);
$query = "UPDATE ".$prefix."settings SET value='".$rewardvar."' WHERE name='refreward'";
mysql_query($query);
I DID NOT DO MUCH TESTING, IF YOU FIND AN ERROR, LET ME KNOW.
How this works?
step1: go into admincp
step2: Site settings
step3: View or Edit Basic Site Settings
step4: Rewards for referrals set the value
step5: Be happy.
Future updates:
rewarding pets
IP address checking to stop abuse.
User must be active for at least X amount of time before the reward is recieved
PM the user telling him/her they were rewarded.
taking suggestions.
database
SQL WILL COME SOON.
add Referrer and Referrals to the end of prefix_users
add refreward and a default value of 0 to prefix_settings
Register.php
First find this:
//Grab the post data from the form
$username = $_POST["username"];
$pass1 = $_POST["pass1"];
$pass2 = $_POST["pass2"];
$email = $_POST["email"];
$tos = $_POST["tos"];
$hidden = $_POST["hidden"];
and change it to this:
//Grab the post data from the form
$refer = $_POST["refer"];
$username = $_POST["username"];
$pass1 = $_POST["pass1"];
$pass2 = $_POST["pass2"];
$email = $_POST["email"];
$tos = $_POST["tos"];
$hidden = $_POST["hidden"];
find this:
$article_title = $regnew;
$article_content = $regnewexplain."<br><form name='form1' method='post' action='register.php'>
<p>Username: <input name='username' type='text' id='username' maxlength='20'></p>
<p>Your username may be up to 20 characters long and may only contain letters, numbers and spaces. </p>
<p>Password: <input name='pass1' type='password' id='pass1' maxlength='20'></p>
<p>Your password may be up to 20 characters long and may contain letters, numbers, spaces and special characters. The use of a special character, such as * or ! is recommended for increased security. </p>
<p>Confirm Password: <input name='pass2' type='password' id='pass2' maxlength='20'></p>
<p>Email Address: <input name='email' type='text' id='email'></p>
<p><input name='tos' type='checkbox' id='tos' value='yes'> I agree to the <a href='tos.php' target='_blank'>Terms of Service</a>.
<input name='hidden' type='hidden' id='hidden' value='goregister'></p>
<p><input type='submit' name='Submit' value='Register'>
</p></form>";
and change to this:
//TMOD added Reffered field.
$article_title = $regnew;
$article_content = $regnewexplain."<br><form name='form1' method='post' action='register.php'>
<p>Username: <input name='username' type='text' id='username' maxlength='20'></p>
<p>Your username may be up to 20 characters long and may only contain letters, numbers and spaces. </p>
<p>Password: <input name='pass1' type='password' id='pass1' maxlength='20'></p>
<p>Your password may be up to 20 characters long and may contain letters, numbers, spaces and special characters. The use of a special character, such as * or ! is recommended for increased security. </p>
<p>Confirm Password: <input name='pass2' type='password' id='pass2' maxlength='20'></p>
Who invited you? Leave blank if no one!
<p>Referrer: <input name='refer' type='text' id='refer'></p>
<p>Email Address: <input name='email' type='text' id='email'></p>
<p><input name='tos' type='checkbox' id='tos' value='yes'> I agree to the <a href='tos.php' target='_blank'>Terms of Service</a>.
<input name='hidden' type='hidden' id='hidden' value='goregister'></p>
<p><input type='submit' name='Submit' value='Register'>
</p></form>";
find this:
if(@eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
$emailisvalid = "yes";
}
replace with this: *And wasn't working with the SQL so I just have two queries, i'll fix eventually.*
if(@eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
$emailisvalid = "yes";
}
//TMOD +1 for refferal..
if($refer){
$query = "SELECT value FROM ".$prefix."settings WHERE name = 'refreward'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$refreward = $row['value'];
mysql_query("UPDATE ".$prefix."users SET Referrals = Referrals + 1 WHERE username = '$refer'");
mysql_query("UPDATE ".$prefix."users SET dollar = dollar + '$refreward' WHERE username = '$refer'");
}
find:
mysql_query("INSERT INTO ".$prefix."users VALUES ('', '$username', '$pass1','$email','3','1', '$date', '0','','','','','','0')");
and change to:
mysql_query("INSERT INTO ".$prefix."users VALUES ('', '$username', '$pass1','$email','3','1', '$date', '0','','','','','','0', '$refer', '')");
Admin.php
find:
<p>Site Title:
<input name='sitetitle' type='text' id='sitetitle' value='".grabanysetting("browsertitle")."'>
</p>
add:
<p>Site Title:
<input name='sitetitle' type='text' id='sitetitle' value='".grabanysetting("browsertitle")."'>
</p>
This is the amount of gold you want to give out for each refferal.
<p>Rewards for refferals:
<input name='reward' type='text' id='reward' value='".grabanysetting("refreward")."'>
</p>
admpost.php
find:
$sitenamevar = $_POST["sitename"];
$sitenamevar = secure($sitenamevar);
add:
// We are changing the settings for the site...
$rewardvar = $_POST["reward"];
$rewardvar = secure($rewardvar);
$sitenamevar = $_POST["sitename"];
$sitenamevar = secure($sitenamevar);
find:// Everything looks good, update the settings...
$query = "UPDATE ".$prefix."settings SET value='".$sitenamevar."' WHERE name='sitename'";
mysql_query($query);
add:
// Everything looks good, update the settings...
$query = "UPDATE ".$prefix."settings SET value='".$sitenamevar."' WHERE name='sitename'";
mysql_query($query);
$query = "UPDATE ".$prefix."settings SET value='".$rewardvar."' WHERE name='refreward'";
mysql_query($query);