Отображения статуса ICQ номера на сайте
Парой возникает необходимость, иногда просто для интерактивности хочется, что бы пользователи, зайдя на ваш сайт, знали, куда стучаться в данный момент, то есть видели, какой сотрудник технической поддержки находится на связи, а какой нет ну или ещё для каких целей.
В данной статье рассмотрим написание скрипта для реализации отображения статуса, какого либо ICQ номера.
Итак, начнём наш небольшой простенький урок программирования на PHP.
Создаём файл, к примеру "icq.php" и пишем в него:
$icq=""; - будет содержать номер вашего номера ICQ, к примеру: $icq="393612478";
$online=""; - будет содержать значение статуса online, это может быть как изображение, так и простой текст, если текст то пишем, допустим, online получим $online="online";, если решено использовать изображение - тогда это будет выглядеть таким образом: $online="<img src="путь до изображения">";.
$offline=""; - содержит значение при статусе offline, делаем то же самое, что и выше ну только пишем offline или подбираем соответствующее изображение.
$error=""; - указываем в качестве значения сообщение об ошибке (можно кратко ошибка!), если что-то пойдёт криво, мы его увидим.
$template="ICQ: @icq@ Статус: @status@"; - Давайте составим шаблон того, что будет выводиться в браузере, "@icq@" - покажет номер ICQ а "@status@" естественно статус. Если вы используете изображения, то шаблон проще всего сделать таким:
$template="@status@ @icq@"; Такой шаблон будет показывать соответствующее статусу изображение и напротив номер ICQ.
Далее уже без длительного объяснения я приведу код самого скрипта - при обращении, к которому сделает запрос с проверкой статуса к серверу ICQ:
if(is_numeric($icq)){
$open=fsockopen("status.icq.com",80,$string,$body,5);
if($open){
fputs($open,"GET /online.gif?icq=".$icq."&img=5 HTTP/1.1\nHost: status.icq.com\n\n");
while(!feof($open)){$temp.=fgets($open,1024);}
fclose($open);
if(eregi("online1.gif",$temp)){echo eregi_replace("@icq@",$icq,eregi_replace("@status@",$online,$template));}
else{echo eregi_replace("@icq@",$icq,eregi_replace("@status@",$offline,$template));}
}}else{echo $error;}
Вот и всё, скрипт готов - монтируем в нужное место и наслаждаемся творением рук своих.
Вот, что должно было получится у вас:
<?
$icq="Номер";
$online="Статус при онлайне";
$offline="Статус при офлайне";
$error="Сообщение об ошибке";
$template="@icq@ @status@";
if(is_numeric($icq)){
$open=fsockopen("status.icq.com",80,$string,$body,5);
if($open){
fputs($open,"GET /online.gif?icq=".$icq."&img=5 HTTP/1.1\nHost: status.icq.com\n\n");
while(!feof($open)){$temp.=fgets($open,1024);}
fclose($open);
if(eregi("online1.gif",$temp)){echo eregi_replace("@icq@",$icq,eregi_replace("@status@",$online,$template));}
else{echo eregi_replace("@icq@",$icq,eregi_replace("@status@",$offline,$template));}
}}else{echo $error;}
?>