| 
<?PHP
/*
 * Confirmation Code Generator
 *
 * @package Confirmation Code Generator
 * @author $Author: sheiko $
 * @version $Id: gencode.php, v 1.0 sheiko Exp $
 * @since v.1.0
 * @copyright (c) Dmitry Sheiko http://www.cmsdevelopment.com
 */
 
 srand(round(microtime(1)*10000));
 
 /**
 * Get confirmation code
 *
 * @return sting
 */
 function gen_key($string){
 $im=imagecreatetruecolor(strlen($string)*22.5, 25);
 imagetruecolortopalette($im, 1, 256);
 $white=imagecolorallocate($im, 221, 194, 164);
 
 imagefill($im, 0, 0, $white);
 
 $x=0;
 for ($i=0; $i<strlen($string); $i++){
 $tmp=imagecreatetruecolor(20, 20);
 $tbg=imagecolorallocate($tmp, 221, 194, 164);
 
 imagefill($tmp, 0, 0, $tbg);
 
 $color=imagecolorallocate($tmp, rand(5, 150), rand(5, 100), rand(5, 100));
 imagechar($tmp, 5, 2, 2, $string[$i], $color);
 $tmp=imagerotate($tmp, rand(-40, 40), $tbg);
 imagecopy($im, $tmp, $x, 1, 1, 1, imagesx($tmp)-1, imagesy($tmp)-1);
 $x+=imagesx($tmp)-7;
 imagedestroy($tmp);
 }
 imagecolortransparent($im, $white);
 $x+=8;
 $out=imagecreatetruecolor(strlen($string)*22.5*1.5, 45);
 
 $background=imagecreatefromjpeg(dirname(__FILE__) . "/asf_gencode.jpg");
 imagecopyresampled($out, $background, 0, 0, 0, 0, imagesx($out), imagesy($out), imagesx($background), imagesy($background));
 imagedestroy($background);
 
 imagecopyresampled($out, $im, 0, 0, 0, 0, strlen($string)*22.5*1.5, 45, $x, 25);
 imagedestroy($im);
 header("Content-Type: image/png");
 imagetruecolortopalette($out, 0, 256);
 imagepng($out);
 imagedestroy($out);
 }
 session_start("asf");
 $string = substr(md5(rand(1,100)),0,5);
 $_SESSION["Md5OfGenCode"] = md5($string);
 if(!$string) $string = "ERROR";
 gen_key($string);
 ?>
 |