Thread: Help with a mod
View Single Post
  #1  
Old 12-23-2009, 11:55 PM
Ashje Ashje is offline
Member
 
Join Date: Jan 2009
Posts: 179
Credits: 10,269
Ashje
Default Help with a mod

Hey guys,
I'm trying to make a currency mod. I've just started and added money to the users table as well as editing register.php to account for the new field. Now I've hit a snag on the levelup.php script. Here's what I have:
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);

    
// Currency Mod starts here

    
$query "SELECT * FROM ".$prefix."users WHERE username='$loggedinname'";
    
$result mysql_query($query);
    
$num mysql_numrows($result);

    
$money=@mysql_result($result,$i,"money");

// Change this number 10 to the number of currency you want users to earn on level up
    
$money $money 10;

    
$query "UPDATE ".$prefix."users SET 'money'='".$money."' WHERE 'username'='".$loggedinname."'";
    
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 != 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
    

    

    
}
    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
// **********************************************************************



?>
More specifically the actual currency mod in that script is here:
PHP Code:
// Actually insert our click information into the database...

    
$query "UPDATE ".$prefix."owned_adoptables SET totalclicks='".$newclicks."' WHERE aid='".$id."'";
    
mysql_query($query);

    
// Currency Mod starts here

    
$query "SELECT * FROM ".$prefix."users WHERE username='$loggedinname'";
    
$result mysql_query($query);
    
$num mysql_numrows($result);

    
$money=@mysql_result($result,$i,"money");

// Change this number 10 to the number of currency you want users to earn on level up
    
$money $money 10;

    
$query "UPDATE ".$prefix."users SET 'money'='".$money."' WHERE 'username'='".$loggedinname."'";
    
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')"); 
But when I go to level up my adoptable, the money field doesn't update in my database.

Any help is appreciated. =D

Thanks,
Ashje
Reply With Quote