<?php

/**
Securimage Test Script
Version 2.0 - 11/15/2009

Upload this PHP script to your web server and call it from the browser.
The script will tell you if you meet the requirements for running Securimage.

http://www.phpcaptcha.org
*/


if (isset($_GET['testimage']) && $_GET['testimage'] == '1') {
  
$im imagecreate(290120);
  
$white imagecolorallocate($im255255255);
  
$black imagecolorallocate($im000);
 
  
$red   imagecolorallocate($im255,   0,   0);
  
$blue  imagecolorallocate($im,   0,   0255);

  
imagestring($im5451'Securimage Will Work!!'$blue);
  
imagestring($im252':) :)'$red);
  
imagestring($im22552'(: (:'$red);


  
imagestring($im3525'Can you see the '$black);
  
imagestring($im319025'word?*'$black);
  
imageline($im1143818438$black);
  
$ba = (function_exists('imagecolorallocatealpha') ? 
        @
imagecolorallocatealpha($im00080)  :
        
null);

  if (
$ba != null) {
    
imagestring($im311525'underlined'$ba);
  }

  
imagestring($im3545'*If the word "underlined" is not visible'$black);
  
imagestring($im3560'Securimage will work but you will not be'$black);
  
imagestring($im3575'able to use transparent text in your'$black); 
  
imagestring($im3590'CAPTCHA image.'$black);
  
  
imagepng($imnull3);
  exit;
}

function 
print_status($supported)
{
  if (
$supported) {
    echo 
"<span style=\"color: #00f\">Yes!</span>";
  } else {
    echo 
"<span style=\"color: #f00; font-weight: bold\">No</span>";
  }
}

?>
<html>
<head>
  <title>Securimage Test Script</title>
</head>

<body>

<h2>Securimage Test Script</h2>
<p>
  This script will test your PHP installation to see if Securimage will run on your server.
</p>

<ul>
  <li>
    <strong>PHP Version:</strong> <?php echo phpversion(); ?>
  <li>
    <strong>GD Support:</strong>
    <?php print_status($gd_support extension_loaded('gd')); ?>
  </li>
  <?php if ($gd_support$gd_info gd_info(); else $gd_info = array(); ?>
  <?php if ($gd_support): ?>
  <li>
    <strong>GD Version:</strong>
    <?php echo $gd_info['GD Version']; ?>
  </li>
  <?php endif; ?>
  <li>
    <strong>TTF Support (FreeType):</strong>
    <?php print_status($gd_support && $gd_info['FreeType Support']); ?>
    <?php if ($gd_support && $gd_info['FreeType Support'] == false): ?>
    <br />No FreeType support.  Cannot use TTF fonts, but you can use GD fonts
    <?php endif; ?>
  </li> 
  <li>
    <strong>imagettfbbox() function:</strong>
    <?php print_status($gd_support && function_exists('imagettfbbox')); ?>
    <?php if ($gd_support && !function_exists('imagettfbbox')): ?>
    <br />PHP function imagettfbbox is not supported.  Font spacing will be estimated.
    <?php endif; ?>
  <li>
    <strong>JPEG Support:</strong>
    <?php print_status($gd_support && $gd_info['JPG Support']); ?>
  </li>
  <li>
    <strong>PNG Support:</strong>
    <?php print_status($gd_support && $gd_info['PNG Support']); ?>
  </li>
  <li>
    <strong>GIF Read Support:</strong>
    <?php print_status($gd_support && $gd_info['GIF Read Support']); ?>
  </li>
  <li>
    <strong>GIF Create Support:</strong>
    <?php print_status($gd_support && $gd_info['GIF Create Support']); ?>
  </li>
 
</ul>

<?php if ($gd_support): ?>
Since you can see this...<br /><br />
<img src="<?php echo $_SERVER['PHP_SELF']; ?>?testimage=1" alt="Test Image" align="bottom" />
<?php else: ?>
Based on the requirements, you do not have what it takes to run Securimage :(
<?php endif; ?>

</body>
</html>