Відображаємо на сайті статус icq

Відображаємо на сайті статус ICQ

Ви напевно бачили на сайтах зображення усім відомого інтернет- меседжера ICQ у вигляді квіточки, колір якого залежав від того, онлайн користувач чи ні. Наприклад це корисно для онлайн консультантів фірми. Такий сервіс надається сайтом месенджера ICQ. Що лежить на ньому бібліотека wwp.icq.com/scripts/online.dll перенаправляє на картинку, колір якої залежить від статусу зазначеного в параметрах номера користувача. Код для вставки картинки, представляє з себе всього одну HTML рядок:

ВАШНОМЕР - це номер, перевіряється на статус ICQ. Номер вказується разом, тобто без пробілів і дефісів.
N - це ціле число від 0 до 27 (може бути, вже і більше), яке вказує на вид (стиль), що відображається картинки статусу ICQ. Список із зображеннями, які відповідають номерам виду, дивіться нижче.

У ICQ є ще один сервіс, що дозволяє відправляти повідомлення на номер ICQ через встановлений у вас клієнт (саме ICQ, а не QIP і т.д.). Посилання на нього можна додати до картінке- статусу з попередньої HTML рядки:

Тепер, при натисканні на картинку зі статусом ICQ у нас буде відкриватися вікно ICQ для відправки повідомлень (за умови що ася запущена).

Все, тепер проблема вирішена.

Є ще один метод виведення статусу на сторінку. Якщо в першому випадку ми використовували звернення до бібліотеки (dll), то тепер звертаємося до файлу online.gif з параметрами номера ICQ і номера стилю картинки, так само як і в першому випадку. Виглядає це так:

тут так само ВАШНОМЕР - номер ICQ і N - номер стилю картинки статусу.

Аналогічно прикладам, описаним вище, додаємо можливість відправляти повідомлення:

і борімся з кешуванням:

Хочу зауважити, що працездатність і достовірність статусу, безпосередньо залежить від налаштувань власника номера ICQ. який вказаний в ВАШНОМЕР. Тобто, якщо у вас в налаштуваннях ICQ вимкнені web сервіси, такі як: "Дозволити іншим бачити мій статус в мережі", "Показувати мій online статус для web і пошуку" (в qip), картинка статусу буде відображати варіант "Disabled" незалежно від того статусу в якому ви знаходитеся!

Це приклади стилів картинки статусу:

Далеко не всі картинки мають прозорий фон, що робить їх незручними для використання на сторінках з фоном відмінним від білого. Так само я б порекомендував проставити width і height для картинок статусу і прописати alt тому як у багатьох можуть бути відключені картинки (большенство фірм відключають картинки ще на сервері). Це врятує ваш дизайн сайту від спотворення і дасть можливість зрозуміти, про що ця картинка.

Трохи ускладнити завдання, припустимо вам не подобається жоден з запропонованих вам сервісом ICQ варіантів відображення статусу.
Припустимо ви хочете використовувати свої іконки, або певний текст. На помощ прийде PHP.

Розглянемо варіант скрипта, з використанням функції Curl. Відразу хочу попередити, Curl це додаток (extension) для PHP і не факт, що воно буде встановлено на вашому хостингу (сервері). Наприклад пакет Denwer не містить цього доповнення, але все таки сподіваюся, що більшість професійних хостингів, таких як timeweb.ru всетаки мають в своєму арсеналі таку штуку.

if (strstr ($ stat, "online0")) print "Offline";
>

if (strstr ($ stat, "online2")) print "Disable";
>

Приблизно так. Далі можете з ним поступати як вам заманеться. Якщо необхідно використовувати зображення, замініть наприклад print "Online." На $ img_url = img_online.jpg

Якщо хтось не зрозумів, покажу приклад:

if (strstr ($ stat, "online1")) $ img_url = "online.jpg";
>

if (strstr ($ stat, "online2")) $ img_url = "disable.jpg";
>
?>
"/>

Тут картинка err.jpg служить для того, якщо раптом, з якихось причин, сервіс відображення статусу ICQ буде недоступний, можна вказати замість нього наприклад disable.jpg, тим більше за змістом вони схожі. ) Решта 3 картинки за змістом.