| -Hormold- |
11.04.2008 00:51 |
Мини-информер Antichat
Вот на днях освоил gd2...
За основу взял userbar от Nomer1.
Переписал и вот вроде неплохо =)
Функции:
Репутация,кол-во сообщений, дата реги и аватарка(jpg или gif).
Установка:
Скопировать шрифты из архива в папку со скриптом.
Создайте файлы ava.jpg и ava.gif с chmod 777
Скрипт работает по id(index.php?id=123456).
ID - это ваш номер на античате.
Шрифты сохранить в туже папку.
Новая версия(С кешом)- http://webfile.ru/1866444
Старая версия:
PHP код:
<?
$img = array();
$img['WIDTH'] = 120;
$img['HEIGHT'] = 210;
$img['FONT_SIZE'] = 8;
$img['FONT_NAME'] = 'REFSAN.TTF';
$img['FONT_NAME_2'] = 'visitor1.ttf';
$img['USER']=$_GET['id'];
$image = imagecreatetruecolor($img['WIDTH'],$img['HEIGHT']) or die();
imagefill($image, 0, 0, 0x2B2F34);
$op = file_get_contents('http://forum.antichat.ru/member.php?u='.$img['USER']);
$open = preg_match('|(.+) \(<b>(\d+)</b>/<b>(\d+)</b>\)|i',$op,$repa);
//
list($bi,$bis)=explode("Регистрация: <strong>",$op);
list($at,$bii)=explode("</strong>",$bis);
$at=str_replace("2008","08",$at);
$at=str_replace("2007","07",$at);
$at=str_replace("2006","06",$at);
$at=str_replace("2005","05",$at);
$at=str_replace("2004","04",$at);
$at=str_replace("2003","03",$at);
//
list($null,$nuzno)=explode("Всего сообщений: <strong>",$op);
list($yes,$no)=explode("</strong>",$nuzno);
//
list($null,$nns)=explode("Просмотр профиля: ",$op);
list($nick,$null)=explode("</title>",$nns);
//
$avatar=file_get_contents("http://forum.antichat.ru/image.php?u=".$img['USER']);
fwrite(fopen("ava.gif","w"),$avatar);
$size=getimagesize("ava.gif");
if($size['mime']=="image/jpeg"){
fwrite(fopen("ava.jpg","w"),$avatar);
$bbb = imagecreatefromjpeg( "ava.jpg" );
list($width, $height) = getimagesize("ava.jpg");
}else{
fwrite(fopen("ava.gif","w"),$avatar);
$bbb = ImageCreateFromGIF ( "ava.gif" );
list($width, $height) = getimagesize("ava.gif");
}
$img['TEXT'] = win2uni($nick);
$img['TEXT2']= win2uni($repa[1].'('.$repa[2].'/'.$repa[3].')');
$img['TEXT3']= win2uni('Message:'.$yes);
$img['TEXT4']= win2uni('Reg at:'.$at);
imagerectangle($image, 0, 0, 400, 400, 0x000000);
imagefilledrectangle($image,1,1,400,400,0x2F3439);
ImageCopy ($image, $bbb, 10, 100, 0, 0, $width,$height);
imagettftext($image, $img['FONT_SIZE'], 0, 10, 90, 0xB9B9B9, $img['FONT_NAME'], $img['TEXT4']);
imagettftext($image, $img['FONT_SIZE'], 0, 10, 70, 0xB9B9B9, $img['FONT_NAME'], $img['TEXT3']);
imagettftext($image, $img['FONT_SIZE'], 0, 10, 50, 0xB9B9B9, $img['FONT_NAME'], $img['TEXT2']);
imagettftext($image, $img['FONT_SIZE'], 0, 10, 30, 0xB9B9B9, $img['FONT_NAME'], $img['TEXT']);
imagettftext($image, $img['FONT_SIZE'] + 4, 0, 20, 10, 0x228B22, $img['FONT_NAME_2'], 'ANTICHAT');
header('Content-type: image/gif');
imagegif($image);
imagedestroy($image);
function win2uni($s)
{
$s = convert_cyr_string($s,'w','i');
for ($result='', $i=0; $i<strlen($s); $i++) {
$charcode = ord($s[$i]);
$result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i];
}
return $result;
}
?>
P.S. list($null,$nuzno) - у меня к вечеру мозги плохо работают =\
|