PDA

Просмотр полной версии : Мини-информер Antichat


-Hormold-
11.04.2008, 00:51
Вот на днях освоил gd2...
За основу взял userbar от Nomer1.
Переписал и вот вроде неплохо =)
Функции:
Репутация,кол-во сообщений, дата реги и аватарка(jpg или gif).
Установка:
Скопировать шрифты из архива в папку со скриптом.
Создайте файлы ava.jpg и ava.gif с chmod 777

Скрипт работает по id(index.php?id=123456).
ID - это ваш номер на античате.
Шрифты сохранить в туже папку.

Новая версия(С кешом)-http://webfile.ru/1866444
Старая версия:

<?
$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('|(.+)&nbsp;\(<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) - у меня к вечеру мозги плохо работают =\

-Hormold-
11.04.2008, 00:52
Вот шрифты.
http://dump.ru/files/9/9529272256/
Кто может перезалейте... Они там давно.

Isis
11.04.2008, 03:16
Готовый вариант покажите

Isis
11.04.2008, 03:19
<?php
$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);
?>

It can make better use of this code?

<?php
$at=substr($at, -2);
?>

-Hormold-
11.04.2008, 12:09
http://i026.radikal.ru/0804/a4/cebc396ac7b5.gif
Примерно так работает...

Егорыч+++
11.04.2008, 19:09
любой информер должен поддерживать кеширование, иначе будет забанен по ip

-Hormold-
11.04.2008, 20:12
сделаю, спасибо =)

-Hormold-
11.04.2008, 20:32
спасибо scrat что помог с кэшированием =)
Качаем от сюда: http://webfile.ru/1866444

P.S. Тут всё есть(+Шрифты)

NOmeR1
11.04.2008, 21:23
Там вообще есть функция fclose?
Странно, fopen, fwrite есть, а fclose нету. %(

SeGaLWS
12.04.2008, 13:25
<?php
$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);
?>

It can make better use of this code?

<?php
$at=substr($at, -2);
?>
ты бы хоть код глянул..... с substr можно так
$at1=substr($at, -10,8);
$at2=substr($at, -2);
$at=$at1.$at2;
ну или
1 строкой $at=substr_replace($at, '', 6,2);

если честоно не знаю можно ли сделать или нет, но все же. Сделай что бы делалась анимированая аватарка, и какое нить сообщение выводилось если не задан или не верный id прямо в информире

PS: на всяк случай перезалил на рапидшару, а то еле скачал
http://rapidshare.com/files/106844274/index.rar