ICQ Status auslesen
3. February 2008Eines meiner ältesten Scripts ist eine Funktion, mit dessen Hilfe ich meinen ICQ Status auslesen lassen kann. Ziel war es die standard ICQ-Blume abzulösen und durch eine eigene Grafik zu ersetzen.
Dieses Script ist simpel aber performancelastig, weil wir weiterhin den vorhanden ICQ Service nutzen und diesen dazu missbrauchen, uns unseren Status mitzuteilen:
| $fp = fopen('http://status.icq.com/online.gif?icq='.$uin, 'r'); |
Den daraus folgenden String verabeiten wir mit der Funktion strlen().
Da die abgefragten on- und offline Statusbilder unterschiedliche Dateigrößen besitzen, definieren wir ihre Werte:
| define('ONLINE', 1281); define('OFFLINE', 1963); |
Eine komplette Funktion könnte so aussehen:
| #01 #02 #03 #04 #05 #06 #07 #08 #09 #10 #11 #12 #13 #14 #15 #16 #17 #18 #19 #20 #21 #22 #23 #24 #25 #26 #27 |
<?php define('ONLINE', 1281); define('OFFLINE', 1963); function icqStatus($uin) { $fp = fopen('http://status.icq.com/online.gif?icq='.$uin, 'r'); $img = fread($fp , 2048); $size = strlen($img); switch ($size) { case ONLINE: $status = 'online'; break; case OFFLINE: $status = 'offline'; break; default: $status = 'disabled'; } return $status; } ?> |
Statt des Textes in der Variable $status könnten wir nun auch eine eigene Grafik setzen.
Wichtig: Es es unbedingt notwendig, dass wir auch diese Option, mit der wir unseren Status online einsehen können, bei unserem ICQ aktivieren.