All pastes #143886 Raw Edit

Stuff

public php v1 · immutable
#143886 ·published 2006-08-22 06:57 UTC
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);?>