Отображаем реальный статус icq и jabber на сайте

от автора

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

Джабер:

Чтобы отображать статус джабера мы будем использовать специальный сервис web-apps, для этого:

1. Добавляете контакт web-apps-presence@jabber.ru себе в ростер
2. Получив подписку, робот шлёт соответствующее уведомление
3. Если готовы отображать свой статус всем — шлёте роботу сообщение «1», а если передумаете — отправьте нолик «0»

Также у этого сервиса есть дополнительные возможности список которых вы можете посмотреть отправив боту команду help.

Теперь добавив на страницу такой html код:

<img src="http://web-apps.ru:11000/jabber-presence/img/jid/cigulev@qip.ru/" alt="Jabber status"/>

Получим иконку которая соответствует вашему статусу:Jabber status

Если же у вас высоконагруженный сайт, то во избежании тормозов сервиса web-apps и соответственно тормозов при отдачи картинки статуса, рекомендую автоматически раз в минуту копировать картинку на свой сервер и с него уже показывать пользователям.

Отправляем команду боту которой устанавливаем отдачу статуса в текстовом формате:
set html=%{status}

И немного меняем ссылку:
http://web-apps.ru/jabber-presence/html/jid/cigulev%40qip.ru/

Вызываем раз в минуту, по крону, такой php код:

$result = file_get_contents("http://web-apps.ru/jabber-presence/html/jid/cigulev%40qip.ru/"); 	 	if($result == "offline") 	{     		$result = copy("status/jOffline.png", "status/jabberStatus.png");	 	} 	elseif($result == "available") 	{ 		$result = copy("status/jOnline.png", "status/jabberStatus.png"); 	} 	else 	{ 		$result = copy("status/jOther.png", "status/jabberStatus.png"); 	}

На сайте отображаем jabberStatus.png.

Прилагаю картинки:
Offline.png
jOnline.png
Other.png

С icq все просто:

Код:

<img src="http://status.icq.com/online.gif?icq=9225229&img=5" alt="icq status"/>

Пример: icq status

ссылка на оригинал статьи http://habrahabr.ru/post/163381/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *