It's only code. But inside, there's passion.
- (PHP) Simyo Guthabenstand
- (PHP) Geo Distance
- (PHP) Skype Userstatus
Skype Userstatus
Source
<?
/**
* Fetches the current userstatus of an specified skype account.
*
* @author Denis Perrevoort <denis@perrevoort.com>
* @version 1.0.0
* @link http://perrevoort.com/en/repository/SkypeStatus
* @param string $userName
*/
function getUserStatusSkype($userName)
{
$fp = fsockopen("mystatus.skype.com", 80, &$errno, &$errstr, 30);
fputs($fp, "GET /balloon/" . userName . " HTTP/1.0\n\n");
while(!feof($fp) && !$finished)
{
$line = fgets($fp,128);
if(substr($line,0,17) == 'Content-Location:')
{
if(substr($line,19,4) == '.png')
{
switch(substr($line,18,1))
{
case "0":
// Alte Skype-Version (<2.0)
// ODER in den Optionen nicht aktiviert
$userStatus = "Deaktiviert";
break;
case "1":
$userStatus = "Offline";
break;
case "2":
$userStatus = "Online";
break;
case "3":
$userStatus = "Abwesend";
break;
case "4":
$userStatus = "Nicht verfügbar";
break;
case "5":
$userStatus = "Beschäftigt";
break;
case "6":
// Echter Status: "Als offline anzeigen"
$userStatus = "Offline";
break;
case "7":
$userStatus = "Skype Me";
break;
default:
$userStatus = "Unbekannt";
}
else
$userStatus = "Fehler";
}
else
$userStatus = "Fehler";
}
else
$userStatus = "Fehler";
}
fclose($fp);
return $userStatus;
}
?>
Example
<?
require_once('function.getUserStatusSkype.php');
$userName = 'DemoUser';
$userStatus = getUserStatusSkype($userName);
if($userStatus != 'Fehler')
echo $userName . ' ist ' . $userStatus;
else
echo 'Es ist leider ein Fehler aufgetreten.';
?>
Output
DemoUser ist Abwesend