Все мы с вами пользуемся самым популярным интернет-пейджером: ICQ . Ну а что? Удобная и полезная программа, которая позволяет быстро и без затей поболтать с кем угодно на любом расстоянии.
ICQ была придумана в 1996 году Израильскими программистами из Тель-Авив и называлась эта компания - Mirabilis. Но уже в 1998 году крупнейший американский провайдер AOL (America On-Line) выкупил ICQ за 400 миллионов долларов. На данный момент это самый популярная система обмена мгновенными сообщениями
Но в данной статье пойдет речь не о ICQ а о том, каким образом мы можем отобразить статус ICQ пользователя у себя на сайте. А точнее я покажу несколько вариантов реализации данной задачи.
// Возвращает страницу по заданному URL URL вместе с http://
function get_page ($url) {
$cells = parse_url($url);
$host = $cells['host'];
$path = $cells['path'] . '?' . $cells['query'];
$fp = fsockopen ("${host}", 80);
$headers = "GET ${path} HTTP/1.0rn"
."Host: ${host}rn"
."Referer: http://${host}"
."User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.7) Gecko/20050414 Firefox/1.0.3rn"
."Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5rn"
."Accept-Language: ru,en-us;q=0.7,en;q=0.3rn"
."Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7rn"
."Keep-Alive: 300rn"
."Proxy-Connection: keep-alivernrn";
fwrite ($fp, $headers);
while (!feof ($fp)) {
$str .= fgets($fp, 1024);
}
fclose($fp);
return $str;
};
// 0 - если человек ( UIN ) не в сети ICQ,
// 1 - если человек ( UIN ) в сети ICQ,
// 2 - неопределенное состояние
function get_ICQ_status($uin) {
$path = 'http://status.icq.com/online.gif?icq=' . $uin . '&img=5';
$page = get_page($path);
preg_match('|online([d]{1,2}).gif|si', $page, $matchs);
$return = ($matchs[1]) ? $matchs[1] : 0;
return $return;
}
echo get_ICQ_status('НАШ_UIN');
На выходе получим 0 - если человек ( UIN ) не в сети ICQ, 1 - если человек ( UIN ) в сети ICQ, 2 - неопределенное состояние. Далее по желанию и необходимости можем поставить изображения или делать то, что нам необходимо.
Минусами этого способа является то, что скрипт проверки статуса должен быть установлена непосредственно на сайте (который должен еще поддерживать PHP), и то, что в случае проблем со связью между сервером страницы и ICQ страница будет дольше грузится.
Можно избежать этого, положив этот код в отдельный файл и загрузив его внутрь страницы внутри inline frame (тег iframe).
Также имеется наиболее простой способ определения состояния (статуса) пользователя ICQ не требующий от сайта поддержку PHP.
Данный способ будет выводить картинку соответствующую статусу номера ICQ который мы укажем.
21-01-08 12:01:18
Сергей - 18-01-11 22:01:20
спасибо
8DIG.RU - 22-12-10 19:12:37
Спасибо. Заюзал.
Юра - 21-07-10 13:07:49
а если я хочу свои картинки поставить?
Germidar - 29-06-10 16:06:10
Спасибо! Помогло... а главное так просто :)
Максим - 15-04-10 12:04:31
А где можно проверить?
manson - 13-01-10 17:01:57
спс, важная инфа, очень помогла
Ukrainer1917 - 24-05-09 20:05:38
Так я не понял:где вводить Я хочу изменить иконку своего статуса в аське, что делать?
Антон - 25-03-09 14:03:35
Спасибо за информацию. Очень пригодилось при написании сайта.
Виталий - 10-02-09 11:02:17
все нормально работает, только нужно еще указать что для корректного отображения нужно в настройках включить видимость для web и поиска...
спасибо, пригодилось.
Димон - 4-02-09 16:02:55
Спасибо большое за информацию. Очень пригодилась
Александр - 21-01-09 16:01:06
Спасибо большое!!!
Павел - 2-11-08 14:11:18
З.Ы. Мой сайт на системе Укоз!
Павел - 2-11-08 14:11:56
Подскажите пожалуйста, какой код УИН номера? Вообще, не для своего, а мне для информера надо... Помогите плиз))
Dozen - 24-08-08 18:08:05
Все прекрасно работает. Спасибо те, добрый человек!
Ато голову ломал, как статус вывести...
Гость - 9-07-08 13:07:33
Фтопку!!! Ниработаид!!! ХЗ почиму :-(((((
Могет есть еще вариантики?
Urgor - 23-06-08 16:06:41
Да. В общем-то самый хороший солюшн, из существующих. А кроме ифрейма можно и аяксом подгрузку контакта наколбасить.
andrew - 26-05-08 19:05:27
в топку =) не отображается в некоторых ie
Не проходит проверку на валидность
Никита Обухов - 4-05-08 21:05:07
Большое спасибо. Полезная информация.
ps/ и тут drupal :)
Олеся - 8-04-08 17:04:05
Спасибо большое за информацию. Очень пригодилась.
Написать комментарий
ВНИМАНИЕ: Все поля необходимо заполнить
Контакты
Моб. тел.: 8-097-99-22-00-6 E-mail:tarasishe@gmail.com Портфолио работ:http://mij.org.ua/ Деятельность: Создание сайтов, сайтов - визиток в Харькове, поддержка и размещение в Интернет.
Сергей - 18-01-11 22:01:20
спасибо