Mysidia Adoptables Support Forum

Mysidia Adoptables Support Forum (http://www.mysidiaadoptables.com/forum/index.php)
-   Questions and Supports (http://www.mysidiaadoptables.com/forum/forumdisplay.php?f=18)
-   -   Access Denied :S (http://www.mysidiaadoptables.com/forum/showthread.php?t=893)

rosepose 05-30-2009 03:57 PM

Access Denied :S
 
Well, I just made a new adoptable for Alearith, then tried to adopt it. Even though I had no adoptables of that type, it still will not let me adopt.
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 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 page sets up the new adoptions and then forwards the user to
// a secondary page for adoptables processing.....
// **********************************************************************

$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);

// Here we check if we have an ID that has been submitted or no

if($id == "" or !is_numeric($id)){

// We did not enter in an id, or it is not a number
// Show the available adoptables to the user...

$article_title $showingtitle;
$article_content $showing;

// If we are a guest, show a message that lets them know that they cannot adopt...

if($isloggedin != "yes"){

$article_content $article_content."".$showingguest;

}

// Begin the output of all the adoptables to the user...

$query "SELECT * FROM ".$prefix."adoptables";
$result mysql_query($query);
$num mysql_numrows($result);

//Loop out code
$i=0;
while (
$i $num) {

$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");

// Call a function to check if we have the proper privledge level to adopt this pet
// This function checks all of the little conditions and makes sure they are present
// If they are not present, the adoptable is not shown here, as that would be cruel.
// We call the function with the showing flag to not deny the showing if the user is a guest.


if($promocode == ""){
$promocode "none";
}

$canadopt canadopt($aid"showing"$promocode); // Feed an adoptable ID and showing, to show the adopt to guests...

if($canadopt == "yes"){

//If we can adopt the adoptable, show the image and adoption link...

$article_content $article_content."<p><b><u><a href='adopt.php?id=".$aid."'>".$type.":</a></u></b></p>
<p><a href='adopt.php?id="
.$aid."'><img src='".$eggimage."' border='0'></a></p>";

    if(
$isloggedin == "yes"){
    
$article_content $article_content."<p><b><a href='adopt.php?id=".$aid."'><img src='templates/icons/add.gif' border=0> Adopt ".$type."</a></b></p>";
    }
    else{
    
$article_content $article_content."<p><img src='templates/icons/no.gif' border=0> <b>".$guesterror."</b></p>";
    }


}

$i++;
// End the looping out of all adoptables...

// This bracket ends the IF check for whether or not an ID was entered
else{

// We have specified an ID of an adoptable we wish to adopt
// Let the user name the adoptable, then forward them
// to an additional page that actually adds the adoptie
// to their account.

// Now we have to connect to the database and get information about the adoptable

$query "SELECT * FROM ".$prefix."adoptables WHERE id='$id'";
$result mysql_query($query);
$num mysql_numrows($result);

//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");

$i++;
}

if(
$aid == $id){

//The adoptable exists and is valid

// Make sure again that we can adopt this adoptie...

$canadopt canadopt($aid"adopting"$promocode); 

if(
$canadopt == "yes"){

$article_title "Adopting ".$type;
$article_content $langa1."".$type.$langa2;



$article_content $article_content."<br><img src='".$eggimage."' border='0'><br>
<form name='form1' method='get' action='doadopt.php'>
  <p>Adoptable Name: 
    <input name='name' type='text' id='name'>
    <input name='id' type='hidden' id='id' value='"
.$id."'>
    <input name='promocode' type='hidden' id='promocode' value='"
.$promocode."'>
  </p>
  <p>
    <input type='submit' name='Submit' value='Adopt Me'>
</p>
</form>"
;


}
else{

$article_title $accden;
$article_content $adoptnoper;

// End Can Adopt ELSE

}
else{

//The adoptable does not exist, nothing we can do...

$article_title $err_idnoexist;
$article_content $err_idnoexist_text;

// End adoptable does not exist ELSE



// This bracket ends the else statements for whether or not an ID was entered


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



?>

That's my adopt.php file....

I'd really appreciate some help, I'm stumped and need this fixed :S

Seapyramid 05-30-2009 04:18 PM

RE: Access Denied :S
 
What are the requirements for the adoptable?

rosepose 05-30-2009 04:25 PM

RE: Access Denied :S
 
http://i639.photobucket.com/albums/uu115/solaeria/Picture1.png

There, that's a screenie of the tables.

Seapyramid 05-30-2009 04:41 PM

RE: Access Denied :S
 
Strange... I see nothing wrong there that could be causing it. I don't know. Sorry

rosepose 05-30-2009 05:16 PM

RE: Access Denied :S
 
Hmmm.... *sighs* Well, maybe it'll go away *looks hopeful*

BMR777 05-30-2009 05:58 PM

RE: Access Denied :S
 
Have you made any alterations to the canadopt() function in functions.php?

Find this line:

PHP Code:

$canadopt canadopt($aid"adopting"$promocode); 

Add after:

PHP Code:

$article_content $article_content."<br>Can Adopt? ".$canadopt."<br>"

Do you see "Can Adopt? yes" on your screen?

rosepose 05-30-2009 06:06 PM

RE: Access Denied :S
 
I did a search and I can't find that line. I have the profile and forum mods installed so that may be why, here's my functions.php
PHP Code:

<?php

// File ID: functions.php
// Purpose: Provides basic sitewide functions

//Connect to the database first
connect();

//This function simply connects us to the database
function connect(){

    include(
"config.php");
    
$conn mysql_connect($dbhost$dbuser$dbpass) or die ('Error connecting to MySQL');
    
mysql_select_db($dbname);

}

//This function performs security checks on all incoming form data
function secure($data){

if(
is_array($data)){
die(
"Hacking Attempt!");
}


//MySQL Real Escape String
$data mysql_real_escape_string($data);

//Strip HTML tags
$data strip_tags($data'');

return 
$data;

}

function 
getsitecontent($page){

include(
"config.php");


$query "SELECT * FROM ".$prefix."content WHERE page = '$page'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);


//Loop out code
$i=0;
while (
$i 1) {

$title=@mysql_result($result,$i,"title");
$content=@mysql_result($result,$i,"content");

$title stripslashes($title);
$content stripslashes($content);

$i++;
}

$value[content] = $content;
$value[title] = $title;

return 
$value;
}

//This function replaces template values
function replace($old,$new,$template)
    {
    
$template str_replace($old$new$template);
    return 
$template;
    }

function 
logincheck(){

include(
"config.php");

//Function to determine if user is logged in.

//Set up our login info...
$username "";
$password "";

//Check for cookie

if (isset($_COOKIE['auser']) and isset($_COOKIE['apass'])){

$username $_COOKIE['auser'];
$password $_COOKIE['apass'];

$username preg_replace("/[^a-zA-Z0-9\\040.]/"""$username);
$username secure($username);
$password secure($password);

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

//Loop out code
$i=0;
while (
$i 1) {

$luser=@mysql_result($result,$i,"username");
$lpass=@mysql_result($result,$i,"password");

$i++;
}

    if(
$username == $luser and $password == $lpass){
        
$isloggedin "yes";
    }
    else{
    if (isset(
$_COOKIE['auser'])){
    
$past time() - 10
    
setcookie("auser",$username,$past);
    }

    if (isset(
$_COOKIE['apass'])){
    
$past time() - 10
    
setcookie("apass",$password,$past);
    }
    
$isloggedin "no";
    }

}
else
{
//User is not logged in
$isloggedin "no";



//Return our user data
$userdata[loginstatus] = $isloggedin;
$userdata[username] = $username;

return 
$userdata;

}

function 
grabanysetting($where){

include(
"config.php");

$query "SELECT * FROM ".$prefix."settings WHERE name = '".$where."'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);

//Loop out code
$i=0;
while (
$i 1) {

$value=@mysql_result($result,$i,"value");
$value stripslashes($value);
$i++;
}
return 
$value;
}

function 
getlinks(){

include(
"config.php");

//This function gets the links for the top bar from the database 

/*

$links = "<li><a href='index.php'>Home</a></li>
<li><a href='account.php'>My Account</a></li>
<li><a href='messages.php'>Message Center</a></li>
<li><a href='trade.php'>Trade Adopts</a></li>
<li><a href='featured.php'>Popular</a></li>";

*/

// We will be getting our links from the database...

$links "";

    
$query "SELECT * FROM ".$prefix."links ORDER BY id ASC";
    
$result mysql_query($query);
    
$num mysql_numrows($result);

    
//Loop out code
    
$i=0;
    while (
$i $num) {

    
$linktext=@mysql_result($result,$i,"linktext");
    
$linkurl=@mysql_result($result,$i,"linkurl");

    
$linktext stripslashes($linktext);

    
$links $links."<a href='".$linkurl."' class=navi>".$linktext."</a>";

    
$i++;
    }


return 
$links;

}

function 
getsidebar(){

include(
"config.php");


$loginstatus logincheck();
$isloggedin $loginstatus[loginstatus];
$loggedinname $loginstatus[username];

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

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



if(
$num 0){

$i=0;
while (
$i 1) {

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

if(
$changewarning == "1"){
$warn "<b><u>".$loggedinname."'s Warning Level:</u></b><br>Your Warning Level: <img src='http://4u.1free.ws/1.png'><br><br>";
}
else if(
$changewarning == "2"){
$warn "<b><u>".$loggedinname."'s Warning Level:</u></b><br>Your Warning Level: <img src='http://4u.1free.ws/2.png'><br><br>";
}
else if(
$changewarning == "3"){
$warn "<b><u>".$loggedinname."'s Warning Level:</u></b><br>Your Warning Level: <img src='http://4u.1free.ws/3.png'><br><br>";
}
else if(
$changewarning == "4"){
$warn "<b><u>".$loggedinname."'s Warning Level:</u></b><br>Your Warning Level: <img src='http://4u.1free.ws/4.png'><br><br>";
}
else if(
$changewarning == "5"){
$warn "<b><u>".$loggedinname."'s Warning Level:</u></b><br>Your Warning Level: <img src='http://4u.1free.ws/5.png'><br>You are currently banned, and cannot use the PM System.<br><br>";
}

$i++;
}



    if(
$friends == " "){
    
$friends "You currently have no friends.";
    }
    else{
    
$friends "".$friends."";
        
$friends preg_replace("/\\s/""<br><b><a href='profile2.php?user="$friends);
        
$friends preg_replace("/\,/""'>Friend</a></b>"$friends);
    }





$query "SELECT * FROM forum WHERE fid='15'";
$result mysql_query($query);
$num mysql_numrows($result);



    
$fid=@mysql_result($result,$i,"fid");
    
$topic=@mysql_result($result,$i,"topic");
    
$lby=@mysql_result($result,$i,"lby");
    
$ldatetime=@mysql_result($result,$i,"ldatetime");
    
$ltopic=@mysql_result($result,$i,"ltopic");
    
$lid=@mysql_result($result,$i,"lid");

if(
$ltopic == ""){
$lpost "<i>Never</i>";
}
else{
$lpost "<a href='view_topic.php?id=".$lid."'>".$ltopic."</a><br>".$ldatetime."<br>by: <a href='profile2.php?user=".$lby."'>".$lby."</a>";
}

$lastpost "
<table border='0' class='ftable2'>
<tr>
<td align='center' class='trow'>The latest post in your Subscribed Forum:</td>
</tr>
<tr>
<td align='center' class='trow'><a href='main_forum.php?fid="
.$fid."'>".$topic."</a></td>
</tr>
<tr>
<td align='center' class='trow'>"
.$lpost."</td>
</tr>
</table>"
;




//This function determines what shows in the side bar of the template
//This will most likely be either a login prompt, quick account access, or something else

//First we see if we are logged in or not

$loginstatus logincheck();
$isloggedin $loginstatus[loginstatus];
$loggedinname $loginstatus[username];

if(
$isloggedin == "yes"){

$msgctr "<a href='messages.php'>Visit Message Center</a>(Unread: 0 | Total: 0)<br>";

$query "SELECT * FROM ".$prefix."messages WHERE touser='".$loggedinname."'";
$result mysql_query($query);
$num2 mysql_numrows($result);

if(
$num2 0){
$msgctr "<a href='messages.php'>Visit Message Center</a>(Unread: 0 | Total: ".$num2.")<br>";
}

$query "SELECT * FROM ".$prefix."messages WHERE touser='".$loggedinname."' and status='unread'";
$result mysql_query($query);
$num mysql_numrows($result);

if(
$num 0){
$msgctr "<a href='messages.php'>Visit Message Center</a>(Unread: <b>".$num."</b> | Total: ".$num2.")<br>";
}



$group getgroup();
$cancp cancp($group);

if(
$cancp == "yes"){
$admin "<a href='admin.php'><b>ACP</b></a><br>";


$rep "<a href='report.php'>Visit Reports</a><br>";

$date date('Y-m-d');

$query "SELECT * FROM ".$prefix."report WHERE datesent='".$date."' and status='unread'";
$result2 mysql_query($query);
$num9 mysql_fetch_field($result2) or die ("Query failed: " mysql_error() . " Actual query: " $query);


if(
$num9 0){
$rep "<a href='report.php'>Visit Reports <b>(".$num.")</b></a><br>";
}
}



$sidebar "
"
.$warn."
<b><u>"
.$loggedinname."'s Links:</u></b><br>
"
.$admin."
<a href='account.php'>Vist Your Account</a><br>
"
.$rep."
"
.$msgctr."
<a href='profile.php?'>Member List</a><br>
<a href='logout.php'>Log Out</a><br><br>

<b><u>Affiliates:</u></b><br>
<i>We currently have no affiliates. Talk to Mark to become one!</i>

<b><u>Friends:</u></b><br>
"
.$friends."<br><br>
<center>"
.$lastpost."</center><br>
"
;

}
}
else{

$sidebar "<b><u>Member Login:</u></b><br>
<form name='form1' method='post' action='login.php'>
  <p>Username: 
    <input name='username' type='text' id='username'>
</p>
  <p>Password: 
    <input name='password' type='password' id='password'>
</p>
  <p>
    <input type='submit' name='Submit' value='Log In'>
  </p>
</form>Don't have an account?<br><a href='register.php'>Register Free</a><br><a href='forgotpass.php'>Forgot Password?</a>"
;

}




return 
$sidebar;

}

function 
getpostbar($name){

include(
"config.php");

$loginstatus logincheck();
$isloggedin $loginstatus[loginstatus];
$loggedinname $loginstatus[username];


$group getgroup();
$cancp cancp($group);

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

    
$uid=@mysql_result($result,$i,"uid");
    
$membersince=@mysql_result($result,$i,"membersince");
    
$displayquote=@mysql_result($result,$i,"displayquote");
    
$profilepic=@mysql_result($result,$i,"profilepic");
    
$points=@mysql_result($result,$i,"points");
    
$posts=@mysql_result($result,$i,"posts");
    
$status=@mysql_result($result,$i,"status");
    
$changewarning=@mysql_result($result,$i,"changewarning");

if(
$status == "yes"){
$mstatus "Online<br>";
}
else{
$mstatus "Offline<br>";
}

if(
$isloggedin == "yes" and $loggedinname == "$nameor $cancp == "yes"){
$warning "<b>Warning level:</b> ".$changewarning."<br>";
}
else{
$warning "";
}

$postbar "
<span class='smalltext'>
<img src='"
.$profilepic."'><br>
<b>Status:</b> "
.$mstatus."
<b>Member Since: </b><br>"
.$membersince."<br>
<b>Quote:</b><br>
"
.$displayquote."<br>
"
.$warning."
<b>Points:</b> <a href='donate.php?from="
.$uid."&am=".$points."'>".$points."</a><br>
<b>Post Count:</b> "
.$posts."<br>
</span>
"
;

return 
$postbar;
}
function 
getsignature($name){

include(
"config.php");

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

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

if(
$signature == ""){
$signature "";
}
else{
$signature "<br><br><br><br><br>___________________________<br>".$signature."";
}


return 
$signature;
}


function 
dologin($username$password){

//This function logs a user in...

include("config.php");

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

//Loop out code
$i=0;
while (
$i 1) {

$luser=@mysql_result($result,$i,"username");
$lpass=@mysql_result($result,$i,"password");



$i++;
}

if(
$username == $luser and $password == $lpass){
$status "success";

//If the cookie already exists for some reason, delete it

if (isset($_COOKIE['auser']) and isset($_COOKIE['apass'])){

$past time() - 10
setcookie("auser",$username,$past);
setcookie("apass",$password,$past);

}



// Set the cookie
$Month 2592000 time();
setcookie("auser",$username,$Month);
setcookie("apass",$password,$Month);

}
else{
$status "error";
}



return 
$status;

}

function 
getgroup(){

//This function gets the numerical usergroup ID of a user, or returns 0 if is a guest

include("config.php");

$loginstatus logincheck();
$isloggedin $loginstatus[loginstatus];
$loggedinname $loginstatus[username];

if(
$isloggedin == "yes"){

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

//Loop out code
$i=0;
while (
$i 1) {

$group=@mysql_result($result,$i,"usergroup");

$i++;
}

return 
$group;

}
else{
return 
0;
}

}

function 
cancp($usergroup){

include(
"config.php");

//This function determines if a usergroup is allowed to access the Admin CP

$query "SELECT * FROM ".$prefix."groups WHERE gid = '$usergroup'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);

//Loop out code
$i=0;
while (
$i 1) {

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

$i++;
}

if(
$cancp == "" or $usergroup == 0){
$cancp "no";
}

return 
$cancp;

}

function 
getadmlinks(){

include(
"config.php");

//This function shows special links to the site admin

$links "<li><a href='index.php'>Home</a></li>
<li><a href='admin.php?set=adopts'>Change Adoptables</a></li>
<li><a href='admin.php?set=content'>Change Content</a></li>
<li><a href='admin.php?set=manageforum'>Manage Forum</a></li>
<li><a href='admin.php?set=users'>Change Users</a></li>
<li><a href='admin.php?set=settings'>Site Settings</a></li>
<li><a href='admin.php?set=ads'>Manage Ads</a></li>"
;



return 
$links;

}

function 
cando($usergroup$do){

include(
"config.php");

//This function determines if a usergroup is allowed to do a specific task

$query "SELECT * FROM ".$prefix."groups WHERE gid = '$usergroup'";
$result = @mysql_query($query);
$num = @mysql_numrows($result);

//Loop out code
$i=0;
while (
$i 1) {

$cando=@mysql_result($result,$i,$do);

$i++;
}

if(
$cando == "" or $usergroup == 0){
$cando "no";
}

return 
$cando;

}

function 
canadopt($aid$cond$promocode){

include(
"config.php");

// This function determines if a user can adopt a specific adoptable...

$canadopt "yes"// The default status is that we CAN adopt, unless proven false...

// The first thing we check is that we are logged in

$loginstatus logincheck();
$isloggedin $loginstatus[loginstatus];
$loggedinname $loginstatus[username];

if(
$isloggedin != "yes" and $cond != "showing"){
$canadopt "no";
}

// Now we check if our usergroup has permission to adopt the adoptable...

$group getgroup();
$dbcanadpt cando($group"canadopt");

if(
$dbcanadpt != "yes" and $cond != "showing"){
$canadopt "no";
}

// We need to pull a lot of junk from the database for these next few checks


$query "SELECT * FROM ".$prefix."adoptables WHERE id='$aid'";
$result mysql_query($query);
$num mysql_numrows($result);

//Loop out code
$i=0;
while (
$i 1) {

$whenisavail=@mysql_result($result,$i,"whenisavail"); 
$correctpromocode=@mysql_result($result,$i,"promocode"); 
$freqcond=@mysql_result($result,$i,"freqcond"); 
$number=@mysql_result($result,$i,"number"); 
$date=@mysql_result($result,$i,"date"); 
$datecond=@mysql_result($result,$i,"datecond");
$adoptscond=@mysql_result($result,$i,"adoptscond"); 




$morethannumberen=@mysql_result($result,$i,"moreless"); 
$morethannumber=@mysql_result($result,$i,"morelessnum"); 
$usergroupsen=@mysql_result($result,$i,"levelgrle"); 
$usergroupid=@mysql_result($result,$i,"grlelevel"); 

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

$i++;
}

// Now we check if the adoptable requires a promo code and if the promo code submitted is correct...

if($whenisavail == "promo" and $promocode != $correctpromocode){

// A promo code is required but the submitted promo code is not the correct code
$canadopt "no";

}

// Now we check those three conditions we have in the Admin CP
// If ANY of them fails, this check fails!

if($whenisavail == "conditions"){

    
// If we have a restriction on the number of times this can be adopted...

    
if($freqcond == "enabled"){

    
// We have a frequency based condition
    // Select from the database and determine how many times this adoptable type has been adopted

    
$num 0;

    
$query "SELECT * FROM ".$prefix."owned_adoptables WHERE type='$type'";
    
$result mysql_query($query);
    
$num mysql_numrows($result);

        if(
$num $number){
        
        
// Not Available
        
$canadopt "no";
    
        }


    } 
// End the frequency condition IF statement

    // Begin the date restriction check

    
$today date('Y-m-d');

    if(
$datecond == "enabled" and $date != $today){
    
    
$canadopt "no";
    
    }

    
// We are checking to see how many of this adoptable a user owns
    // If they own more than the specifed number, they cannot adopt...

    

    
if($morethannumberen == "enabled"){

    
$num 0;

    
$query "SELECT * FROM ".$prefix."owned_adoptables WHERE owner='$loggedinname' and type='$type'";
    
$result mysql_query($query);
    
$num mysql_numrows($result);

    if(
$num $morethannumber){

    
$canadopt "no";


    }


    } 
// End morethannumberen check

    
    

    // Check if the user is of a specified usergroup...

    
if($usergroupsen == "enabled"){

    
$ourgid getgroup();

    
// If the two numbers do not match, do not allow the adoption...

        
if($ourgid != $usergroupid){

        
$canadopt "no";

        }    


    }
    
    
    

// End the is there conditions if statement


return $canadopt;

}

function 
getaltstatus($parentid$childid$childlevel){

include(
"config.php");

// This function determines if we will use alternate images...
// All this does is give us a yes or no
// This does NOT actually assign the alternate images in the DB.....

$altstatus "no";
$run "no";

// First we need to see if this adoptable type has alternate images enabled...

$query "SELECT * FROM ".$prefix."adoptables WHERE id='$parentid'";
$result mysql_query($query);
$num mysql_numrows($result);

//Loop out code
$i=0;
while (
$i 1) {

$alternates=@mysql_result($result,$i,"alternates"); 
$altoutlevel=@mysql_result($result,$i,"altoutlevel");
$altchance=@mysql_result($result,$i,"altchance");

$i++;
}

// If alternate images are enabled, we must run some checks to see if we use them...

if($alternates == "enabled"){


// Let's see if the level we are on is the level that requires alternates
// If we're not on a level that requires to check alternates, why bother?

    
if($childlevel == $altoutlevel){
    
    
    
$run "yes";
    
    }



}

if(
$run == "yes"){

// This is where we actually determine if we use alternate images...

$randnum rand(1$altchance);

    if(
$randnum == 1){
    
$altstatus "yes"// If we pull a 1 as the random number, we use the alternate images :)
    
}

}


return 
$altstatus;

}

function 
getcurrentimage($id){

// This function determines which image we should use for a given adoptable...

include("config.php"); // This is so we can use the table prefix

$image "";

// First we select the adoptable from the database and get some basic information...

$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) {

$type=@mysql_result($result,$i,"type"); 
$currentlevel=@mysql_result($result,$i,"currentlevel"); 
$imageurl=@mysql_result($result,$i,"imageurl");
$usealternates=@mysql_result($result,$i,"usealternates");


$i++;
}

if(
$imageurl != ""){

// If we are using a custom image for this adoptable, use that
$image $imageurl;

}
else{

// We have to dig this up ourselves...
// Check if we are using an egg image or a level image...

    
if($currentlevel == or $currentlevel == "0"){

    
// Let's see what the egg image is...    

    
$query "SELECT * FROM ".$prefix."adoptables WHERE type='$type'";
    
$result mysql_query($query);
    
$num mysql_numrows($result);

    
//Loop out code
    
$i=0;
    while (
$i 1) {

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


    
$i++;
    }

    
$image $eggimage// Set the image URL equal to the egg image...

    
}
    else{

    
// We have to find out what level we are using...
    // Then we can choose the appropriate image for what we are using...

        
$query "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel='$currentlevel'";
        
$result mysql_query($query);
        
$num mysql_numrows($result);

        
//Loop out code
        
$i=0;
        while (
$i 1) {

        
$primaryimage=@mysql_result($result,$i,"primaryimage"); 
        
$alternateimage=@mysql_result($result,$i,"alternateimage");


        
$i++;
        }

        
// If alternate images are enabled and an alternate image exists, use it

        
if($usealternates == "yes" and $alternateimage != ""){

        
$image $alternateimage// Use the alternate image

        
}
        else{

        
$image $primaryimage// Set the image equal to the primary image for the level

        
}
    


    }

}

if(
$type == "" or $image == ""){

// We did not settle on an image, so we show an error image...

$image "http://www.".$domain."".$scriptpath."/templates/icons/delete.gif";

}


return 
$image;

}

function 
getcurrentlevel($id){

// This function gets the current level of an adoptable...

include("config.php");

$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) {
 
$currentlevel=@mysql_result($result,$i,"currentlevel"); 


$i++;
}

if(
$currentlevel == ""){

$currentlevel "error"// If the adoptable does not have a current level or does not exist, we return an error...

}

// Return the level

return $currentlevel;


}

function 
getnextlevelexists($type$currentlevel){

include(
"config.php");

// This function determines if a higher level exists for an adopt, or if it is at max level.

$query "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel > '$currentlevel'";
$result mysql_query($query);
$num mysql_numrows($result);

$exists "false";

if(
$num 0){

$exists "true"// A higher level exists

}

return 
$exists;

}

function 
convertidtotype($id){

// This function takes in an adoptable's ID and returns the type of adoptable it is...

include("config.php"); 

$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) {
 
$type=@mysql_result($result,$i,"type"); 


$i++;
}

if(
$type == ""){

$type "error";

}

return 
$type;

}

function 
converttypetoparentid($type){

// This function takes in an adoptable type and returns the ID of the parent

include("config.php");

$query "SELECT * FROM ".$prefix."adoptables WHERE type='$type'";
$result mysql_query($query);
$num mysql_numrows($result);

//Loop out code
$i=0;
while (
$i 1) {
 
$id=@mysql_result($result,$i,"id"); 


$i++;
}

if(
$id == ""){
$id "error";
}

return 
$id;

}

function 
reward($id$type$currentlevel$owner){

include(
"config.php");

// This function determines if we are giving the user a reward or not...

$query "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel='$currentlevel'";
$result mysql_query($query);
$num mysql_numrows($result);

//Loop out code
$i=0;
while (
$i 1) {
 
$rewarduser=@mysql_result($result,$i,"rewarduser"); 
$promocode=@mysql_result($result,$i,"promocode");


$i++;
}

if(
$rewarduser == "yes" and $promocode != ""){

// We are sending out a reward...

$mtitle "You have received a reward!";
$mtext "Congratulations!  You have received a reward because one of your adoptables leveled up and the site admin has chosen to reward you for this.<br><br>
<b><u>Your reward is the following promo code:</u></b> "
.$promocode."<br><br>
You may use this promo code on the <a href='promo.php?promocode="
.$promocode."'>Promo Code Page</a> to receive a special exclusive or limited edition adoptable!<br><br>
Congratulations on your reward!"
;

$mtext mysql_real_escape_string($mtext);

$date date('Y-m-d');
$query "INSERT INTO ".$prefix."messages VALUES ('', 'SYSTEM', '$owner','unread','$date','$mtitle', '$mtext')";
mysql_query($query);

// Now we check if we are sending out an email to the user alerting them of the message...

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

//Loop out code
$i=0;
while (
$i 1) {

$newmessagenotify=@mysql_result($result,$i,"newmessagenotify");
$email=@mysql_result($result,$i,"email"); 

$i++;
}

if(
$newmessagenotify == 1){

// We are sending this user an email about the new message...

    
$systememail grabanysetting("systememail");
    
    
$headers "From: ".$systememail."";

    
$site_name grabanysetting("sitename");

    
$message "Hello ".$owner.";\n\nYou have received a new Private Message from SYSTEM at ".$site_name." with the title ".$mtitle.".\n
    You can read this message at: http://www."
.$domain."".$scriptpath."/messages.php\n
    Thank You.  The "
.$site_name." team.";

    
mail($email$site_name." - You Have Received a Reward"$message$headers);

}



}

return 
$rewardstatus;

}

function 
getadmimages(){

include(
"config.php");

$formcontent "";

$query "SELECT * FROM ".$prefix."filesmap";
$result mysql_query($query);
$num mysql_numrows($result);

//Loop out code
$i=0;
while (
$i $num) {
 
$wwwpath=@mysql_result($result,$i,"wwwpath");
$friendlyname=@mysql_result($result,$i,"friendlyname");

$formcontent $formcontent."<option value='".$wwwpath."'>".$friendlyname."</option>";


$i++;
}

return 
$formcontent;

}

function 
deleteuser($user){

include(
"config.php");

//This function deletes a user from the system...

$user secure($user);

$query "DELETE FROM ".$prefix."users WHERE username = '".$user."'";
$result mysql_query($query);

$query "DELETE FROM ".$prefix."owned_adoptables WHERE owner = '".$user."'";
$result mysql_query($query);

}

function 
getads($page){

// Function to display site advertisements

include("config.php");

if(
$page == "any"){
$page "";
}

$query "SELECT * FROM ".$prefix."ads WHERE page = '".$page."' and status = 'active' ORDER BY RAND() LIMIT 1";
$result = @mysql_query($query);
$num = @mysql_numrows($result);

if(
$num 0){

//Loop out code
$i=0;
while (
$i 1) {

$value=@mysql_result($result,$i,"text");
$value stripslashes($value);
$aid=@mysql_result($result,$i,"id");
$actualimpressions=@mysql_result($result,$i,"actualimpressions");
$impressions=@mysql_result($result,$i,"impressions");
$i++;
}

if(
$impressions == ""){
$impressions 0;
}

$actualimpressions $actualimpressions 1;

//Update the impressions count
$query "UPDATE ".$prefix."ads SET actualimpressions='".$actualimpressions."' WHERE id='".$aid."'";
mysql_query($query);

//Check that ad is not over max impressions...
if ($actualimpressions >= $impressions and $impressions != 0){
$query "UPDATE ".$prefix."ads SET status='inactive' WHERE id='".$aid."'";
mysql_query($query);
}


}
else{
$value "";
}

return 
$value;

}



?>


BMR777 05-30-2009 06:51 PM

RE: Access Denied :S
 
That line is in the adopt.php code you posted, not functions.php. :)

rosepose 05-30-2009 08:04 PM

RE: Access Denied :S
 
Oh. Well, I tried adding it after what you said to, and got the following error:

Parse error: syntax error, unexpected T_VARIABLE in /home/solaeria/public_html/alearith/adopt.php on line 163

This is what I had:
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 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 page sets up the new adoptions and then forwards the user to
// a secondary page for adoptables processing.....
// **********************************************************************

$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);

// Here we check if we have an ID that has been submitted or no

if($id == "" or !is_numeric($id)){

// We did not enter in an id, or it is not a number
// Show the available adoptables to the user...

$article_title $showingtitle;
$article_content $showing;

// If we are a guest, show a message that lets them know that they cannot adopt...

if($isloggedin != "yes"){

$article_content $article_content."".$showingguest;

}

// Begin the output of all the adoptables to the user...

$query "SELECT * FROM ".$prefix."adoptables";
$result mysql_query($query);
$num mysql_numrows($result);

//Loop out code
$i=0;
while (
$i $num) {

$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");

// Call a function to check if we have the proper privledge level to adopt this pet
// This function checks all of the little conditions and makes sure they are present
// If they are not present, the adoptable is not shown here, as that would be cruel.
// We call the function with the showing flag to not deny the showing if the user is a guest.


if($promocode == ""){
$promocode "none";
}

$canadopt canadopt($aid"showing"$promocode); // Feed an adoptable ID and showing, to show the adopt to guests...

if($canadopt == "yes"){

//If we can adopt the adoptable, show the image and adoption link...

$article_content $article_content."<p><b><u><a href='adopt.php?id=".$aid."'>".$type.":</a></u></b></p>
<p><a href='adopt.php?id="
.$aid."'><img src='".$eggimage."' border='0'></a></p>";

    if(
$isloggedin == "yes"){
    
$article_content $article_content."<p><b><a href='adopt.php?id=".$aid."'><img src='templates/icons/add.gif' border=0> Adopt ".$type."</a></b></p>";
    }
    else{
    
$article_content $article_content."<p><img src='templates/icons/no.gif' border=0> <b>".$guesterror."</b></p>";
    }


}

$i++;
// End the looping out of all adoptables...

// This bracket ends the IF check for whether or not an ID was entered
else{

// We have specified an ID of an adoptable we wish to adopt
// Let the user name the adoptable, then forward them
// to an additional page that actually adds the adoptie
// to their account.

// Now we have to connect to the database and get information about the adoptable

$query "SELECT * FROM ".$prefix."adoptables WHERE id='$id'";
$result mysql_query($query);
$num mysql_numrows($result);

//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");

$i++;
}

if(
$aid == $id){

//The adoptable exists and is valid

// Make sure again that we can adopt this adoptie...

$canadopt canadopt($aid"adopting"$promocode); 
$article_content = $article_content."<br>Can Adopt? ".$canadopt."<br>";

if($canadopt == "yes"){

$article_title "Adopting ".$type;
$article_content $langa1."".$type.$langa2;



$article_content $article_content."<br><img src='".$eggimage."' border='0'><br>
<form name='form1' method='get' action='doadopt.php'>
  <p>Adoptable Name: 
    <input name='name' type='text' id='name'>
    <input name='id' type='hidden' id='id' value='"
.$id."'>
    <input name='promocode' type='hidden' id='promocode' value='"
.$promocode."'>
  </p>
  <p>
    <input type='submit' name='Submit' value='Adopt Me'>
</p>
</form>"
;


}
else{

$article_title $accden;
$article_content $adoptnoper;

// End Can Adopt ELSE

}
else{

//The adoptable does not exist, nothing we can do...

$article_title $err_idnoexist;
$article_content $err_idnoexist_text;

// End adoptable does not exist ELSE



// This bracket ends the else statements for whether or not an ID was entered


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



?>


BMR777 05-31-2009 08:09 AM

RE: Access Denied :S
 
Ok, find and remove:

PHP Code:

$article_content $article_content."<br>Can Adopt? ".$canadopt."<br>"

That looks correct to me so I don't know why the line I told you to add would give an error like that.

Maybe find this:

PHP Code:

$article_content $langa1."".$type.$langa2

Replace with:

PHP Code:

$article_content $langa1."".$type."".$langa2

Maybe that will fix the issue? I don't see though why the code I gave you would cause an error.

Are some adoptables still letting you adopt? What do the ones that you get the access denied message have in common / set for conditions?


All times are GMT -5. The time now is 02:45 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.