rendered paste body<?php$diggs = rand(1,999);//----------------------------------// Set png Headers//----------------------------------Header('Content-type: image/gif');Header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');Header('Expires: Thu, 22 Jun 1990 08:52:00 GMT');Header('Pragma: no-cache');$file = 'sigs/'. strtolower(str_replace(' ', '_',urldecode($_GET['username']))) .'.gif';if (!isset($_GET['template'])) { $template = 'templates/default.xml';} else { if (file_exists('templates/' . strtolower($_GET['template']) . 'xml')) { $template = 'templates/' . strtolower($_GET['template']) . 'xml'; } else { $template = 'templates/default.xml'; }}$modify_time = @filemtime($file);if($modify_time !== false && time() - $modify_time <= 600){ echo file_get_contents($file); die();}//----------------------------------// Require Digg API and sig theme//----------------------------------require_once('diggAPI.php');require_once('themes/digg/index.php');require_once('XMLParser.php');$user = new diggAPI($_GET['username']);//----------------------------------// Parse XML template file//----------------------------------$xml = file_get_contents($template);$parser =& new XMLParser($xml, 'raw', 1);$tree = $parser->getTree();$base_image = (isset($tree['TEMPLATE']['BASEIMAGE'])) ? 'themes/digg/' . $tree['TEMPLATE']['BASEIMAGE'] : 'themes/digg/default.png';$strings = $tree['TEMPLATE']['STRING'];//----------------------------------// Get Avatar extention//----------------------------------$avatar['image'] = $user->getAvatar();$avatar['ext'] = strtolower(substr($avatar['image'], -3));//----------------------------------// Create Images//----------------------------------$image = imagecreatefrompng($base_image);switch($avatar['ext']){ case 'png': $avatar = imagecreatefrompng($avatar['image']); break; case 'jpg': $avatar = imagecreatefromjpeg($avatar['image']); break; case 'gif': $avatar = imagecreatefrompng('http://digg.com/img/user-large/user-default.png'); break;}foreach($sig['colors'] as $color => $rgb){ $text['color'][$color] = imagecolorallocate($image, $rgb['r'], $rgb['g'], $rgb['b']);}foreach($sig['font'] as $fontn => $ffile){ $font[$fontn] = $ffile;}//----------------------------------// Design Image//----------------------------------foreach ($strings as $string) { $method = $string['METHOD']['VALUE']; $prefix = $string['PREFIX']['VALUE']; $x_pos = $string['X']['VALUE']; $y_pos = $string['Y']['VALUE']; $font_file = 'themes/' . $string['FONTFILE']['VALUE']; $font_size = $string['FONTSIZE']['VALUE']; $font_rgb = explode(':', $string['FONTCOLOR']['VALUE']); $max_length = $string['MAXLENGTH']['VALUE']; $color = imagecolorallocate($image, $font_rgb[0], $font_rgb[1], $font_rgb[2]); $text = $user->$method(); if (!empty($max_length)) { if (strlen($text) > $max_length) { $text = substr($text, 0, $max_length) . '...'; } } if (!empty($prefix)) { $text = $prefix . $text; } imagettftext($image, $font_size, 0, $x_pos, $y_pos, $color, $font_file, $text);}if (isset($tree['TEMPLATE']['DIGGME'])) { $chars = array(9, 6, 10, 10, 10, 10, 10, 9, 9, 10); $offset = 0; for ($i = 0; $i < strlen($diggs); $i++) { $num = (int)$diggs[$i]; $offset = $offset + $chars[$num]; } $x_num = $tree['TEMPLATE']['DIGGME']['XNUM']; $y_num = $tree['TEMPLATE']['DIGGME']['YNUM']; $x_word = $tree['TEMPLATE']['DIGGME']['XWORD']; $y_word = $tree['TEMPLATE']['DIGGME']['YWORD']; $offset = $offset + (strlen($diggs) * 2); imagettftext($image, 15, 0, $x_num - ($offset / 2), $y_num, $text['color']['brown'], $font['arial'], $diggs); imagettftext($image, 8, 0, $x_word, $y_word, $text['color']['blue'], $font['arial'], 'digg me');}if (isset($tree['TEMPLATE']['AVATAR'])) { $x_pos = $tree['TEMPLATE']['AVATAR']['X']; $y_pos = $tree['TEMPLATE']['AVATAR']['Y']; imagecopymerge($image, $avatar, $x_pos, $y_pos, 0, 0, 48, 35, 100);}//----------------------------------// Output/Destroy Image//----------------------------------imagegif($image, $file);imagegif($image);imagedestroy($image);?>