Отвалился статус ICQ на сайте
Проводя работы по модернизации своего сайта (кстати, в числе прочего, был сделан полный редизайн первой страницы) внезапно выяснил, что перестал отображаться статус ICQ клиента на сайте. Сперва грешил на какие-то косяки, вкравшиеся в код, но вскоре выяснилось, что на сервере icq.com провелись тайные работы и теперь все былые варианты отображения статуса аськи на web странице не работают.
Все ранее рекомендованные варианты, на базе:
http://web.icq.com/whitepages/online?icq=xxxxxx
http://status.icq.com/online.gif?icq=xxxxxxx
http://wwp.icq.com/scripts/online.dll?icq=xxxxxxx
и т.п., в одночасье стали неактуальными.
Возможно я чего то недонашел или недовыяснил, но пока что было найдено единственное решение, - парсить профиль с сайта icq.com Минус этой реализации - медленно работает потому что сама страница в профиле медленно прогружается, и если злоупотреблять, то по IP могут забанить. Можно конечно сделать парсинг пореже, а пользователю отдавать закешированные данные. И еще подводный камень - если на сайте icq поменяют код, то соответственно и парсер отвалится.
Сам парсер для сниипета MODX (код без кэширования):
<?
if($icq){
$e=file_get_contents('http://www.icq.com/people/'.$icq.'/');
$re='/\<div[\s]*class\=\"d1\-1\-2\-1\-1\">[\s]*\<img[\s]*src\=\"([^\"]*)\"[\s]*alt\=\"[^\"]*\"[\s]*title\=\"[^\"]*\"\>[\s]*\<\/div\>/i';
$s=preg_match($re,$e,$m);
return $m[1];
}else echo 'oops';
?>
Запускать сниипет некешированным с параметром icq, то есть (если название сниппета к примеру icq_status):
[!icq_status? &icq=`ваш_номер_аськи` !]
Несмотря на найденный путь, я, поразмыслив, в качестве временной меры тупо прикрутил статичную картинку "в онлайне" на статус. Пока не будет найдено более приемлемого выхода. Если кто то может подсказать или пнуть в нужном направлении - пишите в комментарии. Потому что на самом сайте icq, в профиле, статус успешно отображается, но выяснить, как это реализовано там, не удалось.
UPD: Все заработало вновь. Используемый код для картинки статуса: img src="http://web.icq.com/whitepages/online?icq=ICQ_ID&img=5" alt="Статус"