Array("back" => "255,0,0", "fore" => "255,255,255", "desc" => "An attack is expected imminently"), "Severe" => Array("back" => "255,136,0", "fore" => "0,0,0", "desc" => "An attack is highly likely"), "Substantial" => Array("back" => "255,255,0", "fore" => "0,0,0", "desc" => "An attack is a strong possibility"), "Moderate" => Array("back" => "136,255,0", "fore" => "0,0,0", "desc" => "An attack is possible, but not likely"), "Low" => Array("back" => "0,255,0", "fore" => "0,0,0", "desc" => "An attack is unlikely"), "Unknown" => Array("back" => "0,0,0", "fore" => "255,255,255", "desc" => "The level could not be determined"), "N/A" => Array("back" => "0,0,0", "fore" => "255,255,255", "desc" => "The server could not be reached"), ); if(!array_key_exists($threat, $threats)){$threat="Unknown";} if((isset($_SERVER['HTTP_HOST']) and !strstr($_SERVER['HTTP_HOST'], "6times9.com")) or (isset($_SERVER['HTTP_REFERER']) and !strstr($_SERVER['HTTP_REFERER'], "6times9.com"))){$not6x9=1;}else{$not6x9=0;} header("Content-Type: image/png"); //Setup $levelfont=5; $descfont=4; $paddingtop=40; $paddingside=20; //URL $url="http://www.6times9.com/javascript/ukthreat/"; if($not6x9){$urlw=imagefontwidth(1)*strlen($url);}else{$urlw=0;} $urlh=imagefontheight(1); //Text Sizes $levelw=imagefontwidth($levelfont)*strlen($threat); $levelh=imagefontheight($levelfont); $descw=imagefontwidth($descfont)*strlen($threats[$threat]["desc"]); $desch=imagefontheight($descfont); //Image Sizes $threatimgw=$levelw+$paddingside; if(($urlw+8)>($descw+$paddingside)){ $descimgw=$urlw+8; }else{ $descimgw=$descw+$paddingside; } $imagew=$threatimgw+$descimgw; $imageh=$levelh+$paddingtop; //Text Positioning $levelx=floor(($threatimgw/2)-($levelw/2)); $levely=floor(($imageh/2)-($levelh/2)); $descx=$threatimgw+floor(($descimgw/2)-($descw/2)); $descy=floor(($imageh/2)-($desch/2)); //Image & Colours $id=imagecreate($imagew,$imageh); $bg=explode(",", $threats[$threat]["back"]); $bg=imagecolorallocate($id, $bg[0], $bg[1], $bg[2]); $fg=explode(",", $threats[$threat]["fore"]); $fg=imagecolorallocate($id, $fg[0], $fg[1], $fg[2]); $black=imagecolorallocate($id, 0, 0, 0); $white=imagecolorallocate($id, 255, 255, 255); //Output imagefill($id, 0, 0, $bg); imagefilledrectangle($id, $threatimgw, 1, $imagew-2, $imageh-2, $white); imagestring($id, $levelfont, $levelx, $levely, $threat, $fg); imagestring($id, $descfont, $descx, $descy, $threats[$threat]["desc"], $black); if($not6x9){imagestring($id, 1, $imagew-4-$urlw, $imageh-2-$urlh, $url, $black);} //Output to browser imagepng($id); //Image no longer required imagedestroy($id); ?>