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
//
// File ID: siggy.php
// Purpose: Show signature images for adoptables
// **********************************************************************
// 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
// **********************************************************************
// We need to grab an adoptable ID
$id = $_GET["id"];
$id = preg_replace("/[^a-zA-Z0-9s]/", "", $id);
$id = secure($id);
// Check that ID exists and is valid
if(is_numeric($id)){
// The ID appears to be valid, so double check...
$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"); //The adoptable's ID
$currentlevel=@mysql_result($result,$i,"currentlevel");
$type=@mysql_result($result,$i,"type");
$name=@mysql_result($result,$i,"name");
$totalclicks=@mysql_result($result,$i,"totalclicks");
$isfrozen=@mysql_result($result,$i,"isfrozen");
$owner=@mysql_result($result,$i,"owner");
$i++;
}
if($aid == $id){
// The adoptable exists, so let's try and show the image
$usingimage = "no";
$image = getcurrentimage($id);
    // Let's see if the server has support for GD or not
    // Also to use fancy images the image must be a gif and fancy images must be enabled...
    $usegd = grabanysetting("gdimages");
    $imageinfo = @getimagesize($image);
    $imagemime = $imageinfo["mime"]; // Mime type of the image file, should be a .gif file...
    if(function_exists('imagegif') and $usegd == "yes" and $imagemime == "image/gif")
    {
    $usingimage = "yes"; //Turn the template system off
    // BEGIN NEW CODE
    list($width, $height, $type, $attr) = getimagesize($image); // The size of the original adoptable image
    // Begin the fancy outputs...
    // Lets create the new target image, with a size big enough for the text for the adoptable
    $newheight = $height + 72;
    if($newwidth < 250){
    $newwidth = 250;
    }
    else{
    $newwidth = $width;
    }
      $img_temp = imagecreatetruecolor($newwidth, $newheight); 
      $alphablending = true;  
        // Lets create the image and save its transparency  
      $img_old = @imagecreatefromgif($image);  
      imagealphablending($img_old, true);  
      imagesavealpha($img_old, true);
   
     // Lets copy the old image into the new image with  
     // the given size  
     ImageCopyResampled(  
         $img_temp,  
         $img_old,  
         0, 0, 0, 0,  
         $width,  
         $height,  
         $width,  
         $height  
     );  
   
    
    $textheight = $width + 2;
    $image = $img_temp;
    $bgi = imagecreatetruecolor($newwidth, $newheight);
    $color = imagecolorallocate($bgi, 51, 51, 51);
    $str1 = "Name: ".$name;
    $str2 = "Owner: ".$owner;
    $str3 = "Click Here to Feed Me!";
    $str4 = "More Adopts at:";
    $str5 = "www.".$domain;
    imagestring ($image, 12, 0, $textheight,  $str1, $color);
    imagestring ($image, 12, 0, $textheight + 13,  $str2, $color);
    imagestring ($image, 12, 0, $textheight + 26,  $str3, $color);
    imagestring ($image, 12, 0, $textheight + 42,  $str4, $color);
    imagestring ($image, 12, 0, $textheight + 55,  $str5, $color);
    $background = imagecolorallocate($image, 0, 0, 0);  
      ImageColorTransparent($image, $background);  
 
    header("Content-Type: image/GIF");
    ImageGif ($image);
    imagedestroy($image);
    imagedestroy($img_temp);
    imagedestroy($img_old);
    imagedestroy($bgi);
    }
    else{
    
    // We are going to try and get this image the old fashioned way...
    // Define a list of allowed file extentions...
    $extList = array();
    $extList['gif'] = 'image/gif';
    $extList['jpg'] = 'image/jpeg';
    $extList['jpeg'] = 'image/jpeg';
    $extList['png'] = 'image/png';
    //Define the output file type
    $contentType = 'Content-type: '.$extList[ $imageinfo['extension'] ];
    if($imageinfo['extension'] =! "image/gif" and $imageinfo['extension'] =! "image/jpeg" and $imageinfo['extension'] =! "image/png"){
    // The file type is NOT ALLOWED
    die("Hacking Attempt!");
    }
    else{
    // File type is allowed, so proceed
    // Try and read the file in
    $status = "";
    header ($contentType);
    $status = readfile($image);
    if($status == "" or $status == "false" or $status == "FALSE"){
    // Reading the file failed, so show an error...    
    header ("text/plain");
    die("Readfile appears to be disabled on your host.");
    }
    
    } 
    }
}
else{
// Bogus ID
$article_title = $err_idnoexist;
$article_content = $err_idnoexist_text;
}
}
else{
// Bogus ID
$article_title = $err_idnoexist;
$article_content = $err_idnoexist_text;
}
// **********************************************************************
// 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);
if($usingimage != "yes"){
echo $template; // Only echo the template if we are not showing an image... 
}
// **********************************************************************
// End Template Definition
// **********************************************************************
?>