mapleblade |
03-26-2010 02:20 AM |
RE: Adoptable shop new version! [UPDATED!]
No, if your register, you gain 1000coins[hr]
Here ya go:
PHP Code:
// **********************************************************************
// Basic Configuration Info
// **********************************************************************
include("inc/functions.php");
include("inc/config.php");
include("lang/lang.php");
$themeurl = grabanysetting("themeurl");
// **********************************************************************
// Define our top links by calling getlinks()
// **********************************************************************
$links = getlinks();
// **********************************************************************
// Define our ads by calling getads()
// **********************************************************************
$ads = getads("register");
// **********************************************************************
// Grab any dynamic article content from the content table
// **********************************************************************
$pagecontent = getsitecontent("index");
$article_title = $pagecontent[title];
$article_content = $pagecontent[content];
$article_content = nl2br($article_content);
// **********************************************************************
// Grab any settings that we will need for the current page from the DB
// **********************************************************************
$browsertitle = grabanysetting("browsertitle");
$sitename = grabanysetting("sitename");
$slogan = grabanysetting("slogan");
// **********************************************************************
// Check and see if the user is logged in to the site
// **********************************************************************
$loginstatus = logincheck();
$isloggedin = $loginstatus[loginstatus];
$loggedinname = $loginstatus[username];
// **********************************************************************
// End Prepwork - Output the page to the user
// **********************************************************************
if($isloggedin == "yes"){
$article_title = "You already have an account";
$article_content = "You already have an account, thus there is no need for you to register a new one.";
}
else{
//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"];
//Protect the database
$username = preg_replace("/[^a-zA-Z0-9\040.]/", "", $username);
$username = secure($username);
$pass1 = secure($pass1);
$pass2 = secure($pass2);
$email = preg_replace("/[^a-zA-Z0-9@._-]/", "", $email);
$email = secure($email);
$tos = preg_replace("/[^a-zA-Z0-9s]/", "", $tos);
$hidden = preg_replace("/[^a-zA-Z0-9s]/", "", $hidden);
if($hidden != "goregister"){
//The form was not submitted, so we are showing the signup page...
$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>";
}
else{
//We are attempting to register the user...
//First MD5 hash the passwords:
$pass1 = md5($pass1);
$pass2 = md5($pass2);
//Next check that the username does not already exist...
$flag = 0;
$query = "SELECT * FROM ".$prefix."users WHERE username = '$username'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);
if($num > 0){
$flag = 1;
}
//Now we verify that the email address is a valid email address...
$emailisvalid = "no";
if(eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $email)) {
$emailisvalid = "yes";
}
//First check that something required was not left blank...
if($username == "" or $pass1 == "" or $pass2 == "" or $email == ""){
$article_title = "Error";
$article_content = $regblank;
}
else if($pass1 != $pass2){
//Passwords do not match
$article_title = "Your passwords do not match";
$article_content = $passnomatch;
}
else if($tos != "yes"){
//User did not agree to TOS
$article_title = "Terms of Service Error";
$article_content = $notos;
}
else if($flag > 0){
//Username already exists
$article_title = "Your username already exists";
$article_content = $userexists;
}
else if($emailisvalid != "yes"){
//Email address is not valid or is a fake
$article_title = "Email address is not valid";
$article_content = $emailinvalid;
}
else{
//All checks are done, actually create the user's account on the database
$date = date('Y-m-d');
mysql_query("INSERT INTO ".$prefix."users VALUES ('', '$username', '$pass1','$email','3','1', '$date', '0','','','','','','0','')");
//Now that we have created the user, let's log them in...
$status = dologin($username, $pass1);
if($status != "success"){
$article_title = "Something is Wrong!";
$article_content = "Something is very, very wrong. Please contact Elesis about this error.";
}
else{
//We are registered and logged in...
$article_title = $titleregsuccess;
$article_content = $regsuccess."".$username."".$regsuccess2;
//Reflect our changes in the sidebar...
$sidebar = "<b><u>Welcome ".$username."</u></b>:<br><a href='account.php'>Go to My Account</a><br><a href='adopt.php'>Adopt Some Pets</a>";
}
}
}
}
// **********************************************************************
// Begin Template Definition
// **********************************************************************
//Define our current theme
$file = $themeurl;
// Do the template changes and echo the ready template
$template = file_get_contents($file);
$template = replace(':ARTICLETITLE:',$article_title,$template);
$template = replace(':ARTICLECONTENT:',$article_content,$template);
$template = replace(':ARTICLEDATE:',$article_date,$template);
$template = replace(':BROWSERTITLE:',$browsertitle,$template);
$template = replace(':SITENAME:',$sitename,$template);
//Define our links
$template = replace(':LINKSBAR:',$links,$template);
//Get the content for the side bar...
if($sidebar == ""){
$sidebar = getsidebar();
}
$template = replace(':SIDEFEED:',$sidebar,$template);
//Get the ad content...
$template = replace(':ADS:',$ads,$template);
//Get the slogan info
$template = replace(':SLOGAN:',$slogan,$template);
echo $template;
// **********************************************************************
// End Template Definition
// **********************************************************************
?>
[hr]
At my mysql, i set the dealfault 1000 so in the begining you have 1000coins.[hr]
Oh, there was someting wrong in doadopt.php[hr]
This fixes the unlimited adoptions problem :D
Doadopt.php
PHP Code:
<?php
// **********************************************************************
// Rusnak PHP Adoptables Script
// Copyright 2009 Brandon Rusnak
// For help and support: http://www.rusnakweb.com/forum/
//
// Redistribution prohibited without written permission
// **********************************************************************
// Wake the sleeping giant
// **********************************************************************
// Basic Configuration Info
// **********************************************************************
include("inc/functions.php");
include("inc/config.php");
include("lang/lang.php");
$themeurl = grabanysetting("themeurl");
// **********************************************************************
// Define our top links by calling getlinks()
// **********************************************************************
$links = getlinks();
// **********************************************************************
// Define our ads by calling getads()
// **********************************************************************
$ads = getads("any");
// **********************************************************************
// Grab any dynamic article content from the content table
// **********************************************************************
$pagecontent = getsitecontent("index");
$article_title = $pagecontent[title];
$article_content = $pagecontent[content];
$article_content = nl2br($article_content);
// **********************************************************************
// Grab any settings that we will need for the current page from the DB
// **********************************************************************
$browsertitle = grabanysetting("browsertitle");
$sitename = grabanysetting("sitename");
$slogan = grabanysetting("slogan");
// **********************************************************************
// Check and see if the user is logged in to the site
// **********************************************************************
$loginstatus = logincheck();
$isloggedin = $loginstatus[loginstatus];
$loggedinname = $loginstatus[username];
// **********************************************************************
// End Prepwork - Output the page to the user
// This file actually processes the adoption of a pet...
// **********************************************************************
$id = $_GET["id"];
$id = preg_replace("/[^a-zA-Z0-9s]/", "", $id);
$id = secure($id);
$promocode = $_GET["promocode"];
$promocode = preg_replace("/[^a-zA-Z0-9\\040.]/", "", $promocode);
$promocode = secure($promocode);
$name = $_GET["name"];
$name = preg_replace("/[^a-zA-Z0-9\\040.]/", "", $name);
$name = secure($name);
if($isloggedin == "yes"){
// I guess the first thing to do is see if we have a valid adoptable ID submitted...
if($id == "" or !is_numeric($id)){
$article_title = $err_idnoexist;
$article_content = $err_idnoexist_text;
}
else{
// The adoptable ID appears to be valid, so we need to double check that it is valid by pulling up the adoptable in the DB
$query = "SELECT * FROM ".$prefix."adoptables WHERE id='$id'";
$result = mysql_query($query);
$num = mysql_numrows($result);
$query2 = "SELECT * FROM ".$prefix."users WHERE username='$loginstatus[username]'";
$result2 = mysql_query($query2);
$num2 = mysql_numrows($result2);
//Loop out code
$i=0;
while ($i < 1) {
$aid=@mysql_result($result,$i,"id"); //The adoptable's ID
$type=@mysql_result($result,$i,"type");
$description=@mysql_result($result,$i,"description");
$eggimage=@mysql_result($result,$i,"eggimage");
$price=@mysql_result($result,$i,"price");
$coins=@mysql_result($result2,$i,"coins");
$i++;
}
if($id == $aid){
// The ID submitted matches an existing adoptable type
$canadopt = canadopt($aid, "adopting", $promocode);
// If we can adopt this creature, do the adoption
// Otherwise we show an error...
if($canadopt == "yes"){
// **********************************************************************
// BEGIN the actual adoption process
// **********************************************************************
// First we see if we have a custom name.
// If not, we use the default name
if($name == ""){
$name = $type;
}
// Now we determine if we are using alternate images or not
$alts = getaltstatus($id, 0, 0);
// Now we actually process the adoption and add it to the database...
// We need a unique code for the adoptable so we can show it to the user when we're done here...
$code = rand(1, 20000);
$newcoins = $coins - $price;
if(".$coins." > ".$price."){
$query2 = "UPDATE ".$prefix."users SET coins='".$newcoins."' WHERE username='".$loginstatus[username]."'";
mysql_query($query2);
mysql_query("INSERT INTO ".$prefix."owned_adoptables VALUES ('', '$type', '$name','$loggedinname','0','0', '$code', '','$alts','notfortrade','no')");
// Adoption complete, show the user a confirmation screen...
// We need to show the adoptable info from the database...
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE code='$code' and owner='$loggedinname'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$id=@mysql_result($result,$i,"aid");
$i++;
}
$article_title = $name." adopted successfully";
$article_content = "<img src='".$eggimage."'><br>".$congrats1." ".$name.". You can now manage ".$name." on the
<a href='myadopts.php'>My Adopts</a> page.<br><br><b><a href='myadopts.php?act=manage&id=".$id."'>Click Here to Manage ".$name."</a><br>
<a href='myadopts.php?act=bbcode&id=".$id."'>Click Here to get BBCodes / HTML Codes for ".$name."</a></b><br><br>
Be sure and <a href='levelup.php?id=".$id.">feed</a> ".$name." with clicks so that they grow! ";
}else{
$article_title = "Error";
$article_content = "You dont have enough coins for this adoptable.";
}
// **********************************************************************
// END the actual adoption process
// **********************************************************************
}
else{
$article_title = $accden;
$article_content = $adoptnoper;
}
} // End the if for if $id == $aid
else{
// Adoptable does not exist, show an error.
$article_title = $err_idnoexist;
$article_content = $err_idnoexist_text;
} // End the else for if $id == $aid
} // End the valid ID input else test statement (bulk of code goes above here)
} // End the log in check IF
else{
// Guests cannot adopt pets, so why bother...
$article_title = $guesttitleerror;
$article_content = $guesterror;
} // End the log in check ELSE
// **********************************************************************
// Begin Template Definition
// **********************************************************************
//Define our current theme
$file = $themeurl;
// Do the template changes and echo the ready template
$template = file_get_contents($file);
$template = replace(':ARTICLETITLE:',$article_title,$template);
$template = replace(':ARTICLECONTENT:',$article_content,$template);
$template = replace(':ARTICLEDATE:',$article_date,$template);
$template = replace(':BROWSERTITLE:',$browsertitle,$template);
$template = replace(':SITENAME:',$sitename,$template);
//Define our links
$template = replace(':LINKSBAR:',$links,$template);
//Get the content for the side bar...
$sidebar = getsidebar();
$template = replace(':SIDEFEED:',$sidebar,$template);
//Get the ad content...
$template = replace(':ADS:',$ads,$template);
//Get the slogan info
$template = replace(':SLOGAN:',$slogan,$template);
echo $template;
// **********************************************************************
// End Template Definition
// **********************************************************************
?>
[hr]
ill update the .zip
|