RoconzaArt |
01-16-2011 08:45 PM |
I am using the latest version of the adopt script.
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
// **********************************************************************
$id = $_GET["id"];
$id = preg_replace("/[^a-zA-Z0-9s]/", "", $id);
$id = secure($id);
if($id == "" or !is_numeric($id)){
// If the ID is blank or non-numeric, then it is invalid...
$article_title = $err_idnoexist;
$article_content = $err_idnoexist_text;
}
else{
// We have what appears to be a valid adoptable ID, so we pull the adoptable's information from the database...
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE aid='$id'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$aid=@mysql_result($result,$i,"aid");
$type=@mysql_result($result,$i,"type");
$name=@mysql_result($result,$i,"name");
$totalclicks=@mysql_result($result,$i,"totalclicks");
$currentlevel=@mysql_result($result,$i,"currentlevel");
$usealternates=@mysql_result($result,$i,"usealternates");
$isfrozen=@mysql_result($result,$i,"isfrozen");
$owner=@mysql_result($result,$i,"owner");
$i++;
}
if($aid == $id){
// The adoptable does exist, so now we need to see if we can vote...
// We need to get the date today and the user's IP address (if is guest we use this)
$date = date('Y-m-d');
$ip = $_SERVER['REMOTE_ADDR'];
$ip = preg_replace("/[^a-zA-Z0-9@._-]/", "", $ip);
$ip = secure($ip);
$num = 0;
if($isloggedin == "yes"){
// If we are logged in, we check if a user with our username voted for this adoptable today...
$query = "SELECT * FROM ".$prefix."vote_voters WHERE adoptableid='$id' and username = '$loggedinname' and date = '$date'";
}
else{
$query = "SELECT * FROM ".$prefix."vote_voters WHERE adoptableid='$id' and ip = '$ip' and date = '$date'";
} // End the is logged in check else statement
// Check what the number for the query is...
$result = mysql_query($query);
$num = mysql_numrows($result);
if($num == 0){
// The number of results is still zero, so we did not vote on this adoptable yet today...
// Now we see if the adoptable is frozen by its owner. If it is, we do not level...
if($isfrozen == "yes"){
$article_title = $lang_isfrozen_title;
$article_content = $lang_isfrozen_explain;
}
else{
// Adoptable is NOT frozen, so I think we can actually proceed with the leveling up of this adoptable...
$newclicks = $totalclicks + 1; // Add 1 click to the current click total of this adoptable...
// Actually insert our click information into the database...
$query = "UPDATE ".$prefix."owned_adoptables SET totalclicks='".$newclicks."' WHERE aid='".$id."'";
mysql_query($query);
// Now we need to update our vote_voters table with the user's vote...
mysql_query("INSERT INTO ".$prefix."vote_voters VALUES ('$date', '$loggedinname', '$ip','$id')");
// Now we need to see if we actually level this adoptable up...
// See if another level actually exists...
$nextlevelexists = getnextlevelexists($type, $currentlevel);
if($nextlevelexists == "true"){
// A higher level does exist, so we see if it is time to level up
$nextlevel = $currentlevel + 1;
$query = "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel='$nextlevel'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$requiredclicks=@mysql_result($result,$i,"requiredclicks"); // The number of clicks required for the next level
$i++;
}
// Check if the number of clicks we have now is greater than or equal to the required clicks to level up...
if($newclicks >= $requiredclicks and $requiredclicks != 0 and $requiredclicks != ""){
// We need to level this adoptable up...
$query = "UPDATE ".$prefix."owned_adoptables SET currentlevel='".$nextlevel."' WHERE aid='".$id."'";
mysql_query($query);
// Now we check if we are enabling alternate images...
$parentid = converttypetoparentid($type); // Get the ID of the parent type adoptable
$altstatus = getaltstatus($parentid, $id, $nextlevel); // Check if we are using alternate images or not...
if($altstatus == "yes"){
// We are enabling alternate images for this adoptable...
$query = "UPDATE ".$prefix."owned_adoptables SET usealternates='yes' WHERE aid='".$id."'";
mysql_query($query);
}
// Now we can see if the adoptable's owner gets a reward...
// The reward function will take care of sending out any reward that exists...
$rewardstatus = reward($id, $type, $nextlevel, $owner);
} // End the if statement if we are leveling the adoptable up
}
// Show a thank you message along with the adoptable's information to the user...
$image = getcurrentimage($id); // Get the current image of the adoptable...
$article_title = $lang_gave."".$name." one ".$lang_unit;
$article_content = "<img src='".$image."'><br>".$lang_gave."".$name." one ".$lang_unit.".<br>".$lang_levelup_encourage;
} // Adoptable is not frozen, end isfrozen else check
// ************************************************
// Start Rewards
// ************************************************
//Get currency on level up
$query = "SELECT * FROM `adopts_users` WHERE `username`='$loggedinname'";
$result = mysql_query($query);
$num = mysql_numrows($result);
$i = 0;
while ($i < 1) {
$dollar = @mysql_result($result, $i, "dollar");
// Change this number 10 to the number of currency you want users to earn on level up
$amount = rand(5, 15);
$newbalance = $dollar + $amount;
$i++;
}
mysql_query("UPDATE `adopts_users` SET `dollar`='" . $newbalance . "' WHERE `username`='$loggedinname'");
$article_content = $article_content . "<div align='center'><br />You have earned ". $amount ." Dollars for leveling up this Adoptable. <br />You now have " . $newbalance . " Dollars.</div>";
}
else{
// We already voted on this adoptable today, so show an error...
if($isloggedin == "yes"){
$article_title = $lang_alreadyleveled_title;
$article_content = $lang_member_alreadyleveled;
}
else{
$article_title = $lang_alreadyleveled_title;;
$article_content = $lang_guest_alreadyleveled;
}
}
}
else{
// Adoptable is invalid, show an error...
$article_title = $err_idnoexist;
$article_content = $err_idnoexist_text;
}
} // End the ID is not blank and is numeric else check
// **********************************************************************
// 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
// **********************************************************************
?>
|