Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Antichat UserBar on PHP (https://forum.antichat.xyz/showthread.php?t=44533)

NOmeR1 16.07.2007 02:46

Antichat UserBar on PHP
 
Вчера сделал. Сегодня решил написать коменты и выложить сюда. Ценим. :)
PHP код:

<?

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;
}

//работа в массиве мне удобней :)
$img = array();

$img['WIDTH']       = 350//ширина юзербара
$img['HEIGHT']      = 20;  //высота юзербара
$img['FONT_SIZE']   = 8//размер шрифта
$img['FONT_NAME']   = 'REFSAN.TTF'//имя шрифта #1
$img['FONT_NAME_2'] = 'visitor1.ttf'//имя шрифта #2

$image imagecreatetruecolor($img['WIDTH'],$img['HEIGHT']) or die();

imagefill($image000x2B2F34);

$img['USER'] = '24820'//ваш ID на форуме

$open file_get_contents('http://forum.antichat.ru/member.php?u='.$img['USER']);
$open preg_match('|(.+)&nbsp;\(<b>(\d+)</b>/<b>(\d+)</b>\)|i',$open,$repa);

$img['TEXT'] = win2uni('Репутация: '.$repa[1].' ('.$repa[3].')');

imagerectangle($image00349190x000000);
imagefilledrectangle($image,1,1,348,8,0x2F3439);
 
imagettftext($image$img['FONT_SIZE'], 0215140xB9B9B9$img['FONT_NAME'], $img['TEXT']);
imagettftext($image$img['FONT_SIZE'] + 2010140x228B22$img['FONT_NAME_2'], 'ANTICHAT.RU');

header('Content-type: image/gif');
imagegif($image);
imagedestroy($image);

?>

Шрифты
[WebFile]
[Slil]
[Dump]


Его довольно просто подделать под любой другой форум/сайт, что хотите. Самый нормальный бесплатный хостинг под этот скрипт - www.6te.net

P.S. Сильно не ругайте, я не так хорошо освоился в PHP.

Isis 16.07.2007 02:48

Красиво!
Быстро ты осваиваешь пхп+)

Zitt 16.07.2007 02:51

боянище...
но идея с репой ничё...

Piflit 16.07.2007 02:53

NOmeR1
может antichat.ru лучше заменить на ник? так будет лучше выглядеть

Isis 16.07.2007 02:59

Ошибочка в начале...
Файл шрифта показа репутации неправильно формат его написан...
Необходимо изменить REFSAN.ttf на REFSAN.TTF

GreenBear 16.07.2007 03:01

но я бы сделал по крону, например раз в час.. так если где на популярном форуме разместишь нах ачат задосишь =\

Isis 16.07.2007 03:15

GreenBear, не ачат заддосит, а тот сайт где разместит =)

GreenBear 16.07.2007 03:43

а я что сказал?

Isis 16.07.2007 04:40

Цитата:

на популярном форуме разместишь нах ачат задосишь =\
...

•••™NO FEAR™••• 16.07.2007 06:45

Нормально так сделал, интересно :)

Zulf 16.07.2007 10:05

Молодец, интересно сделал (;

BlackCats 16.07.2007 10:28

нифигаааа!!! номер!!! это была моя идея, и ты её купиздил! :'( сам хотел замутить дня 4 назад но всёравно +

NOmeR1 16.07.2007 12:12

Цитата:

Сообщение от Piflit
NOmeR1
может antichat.ru лучше заменить на ник? так будет лучше выглядеть

Замени, то тогда не будет понятно для какого сайта ЮзерБар.
Цитата:

Сообщение от BlackCats
нифигаааа!!! номер!!! это была моя идея, и ты её купиздил! :'( сам хотел замутить дня 4 назад но всёравно +

хы) быстрее надо было делать. Ну рас уж ты первый придумал, лови +
Цитата:

Сообщение от Isis
Ошибочка в начале...
Файл шрифта показа репутации неправильно формат его написан...
Необходимо изменить REFSAN.ttf на REFSAN.TTF

С заглавными не работает


Если бы Егорыч включил приём аватаров в формате PHP, то я бы такой аватар намутил :)

Feshh 16.07.2007 13:30

Цитата:

Сообщение от NOmeR1
Замени, то тогда не будет понятно для какого сайта ЮзерБар.

хы) быстрее надо было делать. Ну рас уж ты первый придумал, лови +

Исправил, спс.


Если бы Егорыч включил приём аватаров в формате PHP, то я бы такой аватар намутил :)

avatarshell.php ? :)

NOmeR1 16.07.2007 13:33

Цитата:

Сообщение от Feshh
avatarshell.php ? :)

Нет, не загружать, а указывать ссылку.

Егорыч+++ 16.07.2007 13:37

Данная штука конечно интересна. Но есть одно НО.
По сути эта штука работает как ддос. Каждое обращение к странице на которой такая картинка, будет вызывать еще один конект к форуму. А если, кто нибудь захочит пофлудить, ему будет просто достаточно эту картинку перегружать (тогда естественно будет бан Ip серверу на котором картинка). Поэтому нужно реализовывать кеширование информации и ее обновление не при каждом конекте, а скажем через каждые полчаса.

Zitt 16.07.2007 13:46

Про что гринбир и говарил =\\

GreenBear 16.07.2007 13:49

Цитата:

Сообщение от Isis
...

обрати внимание на ишь

Zitt 16.07.2007 14:18

Цитата:

Antichat (14:12:33 16/07/2007)
подписи с сегодняшнего дня отключены
Den (14:13:12 16/07/2007)
навсегда?
Antichat (14:13:49 16/07/2007)
для обычныхх пользователей возможно навсегда.. для пользователей из групп подписи разрешены
Доигрались бля(((((((

GreenBear 16.07.2007 14:22

http://forum.antichat.ru/thread44545.html - написано же.

и я думаю, что этот бар нужен не для этого форума, зачем дублировать одно и тоже? если ставить, то на других форумах.

NOmeR1 16.07.2007 15:00

Думаю, GreenBear правильно сказал, что лучше использовать CRON для этого скрипта.

Ещё можно попробовать sleep() но я с ним не работал =\

DIAgen 16.07.2007 15:44

А лучше использовать Cache, который хорошо реализован в ZendFramework...

Raz0r 16.07.2007 16:55

Isis, ися перепил чтоли?)
Мишка прав - постоянный рефреш - сакс.

yeti 16.07.2007 23:00

Ниче.. зато на другом форуме будет оригинальая подпись)) а то у всех будет эта фигня.. во прикол блин =\

NOmeR1 18.07.2007 14:37

Обновил скрипт, убрал ненужное, исправил неправильное, добавил ещё один "эффект" юзербара - осветление вверху.

NOmeR1 18.07.2007 16:29

Ещё раз обновил: добавил ещё полосы по всему юзербару, кто хочет, раскоментируйте и юзайте! :)

Spyder 18.07.2007 16:35

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

NOmeR1 18.07.2007 17:10

Добавил "тень", хотя на самом деле, теже самые буквы, только написаны чёрным цветом и их загораживает слово. Смотрится ярко, красиво, отчётливо.

x-treem 18.07.2007 17:18

создаешь бд на хосте где лежит скрипт.
в скрипт добавляешь функцию проверки в плане последнего обращения к ачату.
тоесть, перед тем как обратиться и снять инфу, скрипт смотрит базу, если в таблице время последнего обращения больше предположим на пол часа, то можно делать запрос, при этом добавив данное время в базу. надеюсь понятно обьяснил.

Piflit 18.07.2007 17:43

Цитата:

Сообщение от x-treem
создаешь бд на хосте где лежит скрипт.
в скрипт добавляешь функцию проверки в плане последнего обращения к ачату.
тоесть, перед тем как обратиться и снять инфу, скрипт смотрит базу, если в таблице время последнего обращения больше предположим на пол часа, то можно делать запрос, при этом добавив данное время в базу. надеюсь понятно обьяснил.

зачем делать базу? можно просто текстовой файлик, куда будет записываться последнее обращение, а потом затираться новым =)

x-treem 18.07.2007 18:46

как х*й разница? я же не приводил кусок кода. просто предложил идею. а уже как реализовывать, это уже другое дело. кстати файлик, тоже бд :)

glomen 17.06.2008 00:11

Как переделать этот скрипт под ipb , где в скрипте указываеться строчка для парсинка регуляркой ?

warwar 06.05.2010 13:39

Перезалейте шрифты! =/
Тема вообще актуальна на данный момент?

Deathdreams 06.05.2010 16:44

Цитата:

Сообщение от warwar
Перезалейте шрифты! =/
Тема вообще актуальна на данный момент?

скрипт писался криво в 2007 году.
лучше перепеши заново, исходник есть.

ReduKToR 08.05.2010 11:04

PHP код:

<?PHP 

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


$img = array(); 
$img['USER'] = '72566'//ваш ID на форуме 
$img['WIDTH']       = 350//ширина юзербара 
$img['HEIGHT']      = 20;  //высота юзербара 
$img['FONT_SIZE']   = 8//размер шрифта 
$img['FONT_NAME']   = 'tahoma.ttf';
$img['FONT_NAME_2'] = 'tahoma.ttf';

$image imagecreatetruecolor($img['WIDTH'],$img['HEIGHT']) or die(); 

imagefill($image000x2B2F34); 



$open=file_get_contents('http://antichat-family.ru/member.php?u='.$img['USER'].''); 
$open preg_match('|(.+)&nbsp;\(<b>(\d+)</b>/<b>(\d+)</b>\)|i',$open,$repa); 

$img['TEXT'] = win2uni('Репутация: '.$repa[1].' ('.$repa[2].'/'.$repa[3].')');

imagerectangle($image00349190x000000); 
imagefilledrectangle($image,1,1,348,8,0x2F3439); 
  
imagettftext($image$img['FONT_SIZE'], 0205140xB9B9B9$img['FONT_NAME'], $img['TEXT']); 
imagettftext($image$img['FONT_SIZE'] + 2010140x228B22$img['FONT_NAME_2'], 'ANTICHAT.RU'); 

header('Content-type: image/gif'); 
imagegif($image); 
imagedestroy($image); 

?>

Вот седня посидел минут 10.
Рабочая версия скрипта
Репутация полная отображается через сайт http://antichat-family.ru

BlackSun 08.05.2010 11:24

Добавьте кэширование, изверги =\

_==wolf==_ 08.05.2010 11:31

ReduKToR, эмм, а зачем через family? ее и с ачата очень легко посмотреть

POS_troi 08.05.2010 12:17

Кэш однозначно нужен

Цитата:

ReduKToR, эмм, а зачем через family? ее и с ачата очень легко посмотреть
На фэмэли вся репа на одной простыне


Время: 21:28