Forum Webscript.Ru

Программирование => PHP => Тема начата: Daiz13 от 06 Марта 2002, 09:51:05

Название: Статус ICQ
Отправлено: Daiz13 от 06 Марта 2002, 09:51:05
Как определить статус ICQ и показать СВОЮ online/offline иконку?
Название: Статус ICQ
Отправлено: AlieN от 06 Марта 2002, 12:05:06
http://online.mirabilis.com/scripts/online.dll?icq=номераси&img=2
Название: Статус ICQ
Отправлено: Daiz13 от 06 Марта 2002, 13:34:20
Это ясно, а как мне в скрипте узнать сотстояние номера? Цвет картинки анализировать?
Хочу создать список с номерами и сортировать по онлайности, нашел такой примерчик, но у меня не работает, хотя возможно все дело в драйверах для рук....

 
$uin = "XXXXXXXX";
function ICQ_Status($uin)
{
 $arr = @file("http://wwp.icq.com/scripts/online.dll?icq=$uin&img=1");
 $len = strlen($arr[1]);
 if ($len == "") return "ICQ: Local Server";
 if ($len == 96) return "ICQ: Online";
 if ($len == 83) return "ICQ: Offline";
 if ($len == 1) return "ICQ: Disabled";
}
echo ICQ_Status($uin);
Название: Статус ICQ
Отправлено: AlieN от 06 Марта 2002, 18:09:00
Вроде правильно


PS Или я торможу :)
Название: Статус ICQ
Отправлено: Dm от 06 Марта 2002, 20:17:34
внимательно посмотрите на исходник ;)
что-то кавычки стоят как-то не так ;)
и взят он из форума phpbuilder.com. как есть.
и не работает, т.к. на сервере icq изменили структуру.
найду способ, поделюсь :)
Название: Статус ICQ
Отправлено: AlieN от 06 Марта 2002, 20:21:35
Во всяком случае можно помудрить с картинками
т.е. поработать с их размером и т.д. и т.п
Название: Статус ICQ
Отправлено: Dm от 07 Марта 2002, 01:00:29
вот _мое_ (нигде не смог найти) решение:

$fname = "/scripts/online.dll?icq=$uin&img=5";
$fhost=\'wwp.icq.com\';
$x=0;
$fp = fsockopen($fhost, 80, &$errno, &$errstr, 30) or die("облом");
fputs($fp,"HEAD $fname HTTP/1.0\\nHOST: $fhost\\n\\n");
while(!feof($fp)) $x.=fgets($fp,128);
fclose($fp);
if (ereg("Location:  /lib/image/0,,43(.*),00.gif",$x,$l)) {
if($l[1] == "67") echo "$uin - online
\\n";
elseif($l[1] == "49") echo "$uin - offline
\\n";
elseif($l[1] == "86") echo "$uin - disabled
\\n";
else echo "error";
}
else {
echo "Error
";
}

поделитесь, пожалуйста, результатом.
Название: Статус ICQ
Отправлено: AlieN от 07 Марта 2002, 12:55:48
значит mirabilis далеко не ушли просто изменили в скрипте число с 1 на 5 :)
Название: Статус ICQ
Отправлено: Daiz13 от 07 Марта 2002, 15:19:54
Dm
Спасибо, твой вариант работает
Название: Статус ICQ
Отправлено: Dm от 07 Марта 2002, 17:10:01
AlieN
нет. идет редирект на другой адрес. а 5-ку просто с потолка взял (это просто маленькая иконка).

Daiz13
отлично :)