online status for msn messenger
jeg har fundet dette her script på nettet men kan ikke få det til at virke, det siger hele tiden at den ikke kan conecte til serveren nogen der har en ide ?<?$msn[Host] = "gateway.messenger.hotmail.com"; //MSN server
$msn[Port] = 1863; // MSN port
$msn[user] = "secondaccount@domain.com"; // Second MSN screenname
$msn[Pass] = "secondaccountpasswordr"; // password
$pic[offline] = "msnoff.gif"; // Relative path to msnoff.png
$pic[online] = "msnon.gif"; // Relative path to msnon.png
// Verander hier onder niet dan blijft hij werken
if (!$get){?>
<html>
<head>
</head>
<body>
<img src="<? echo $pic[offline]; ?>" border="0" name="msn">
</body>
</html>
<?
exit;
}
msn_connect();
function msn_connect() {
global $debug, $msn, $nr, $fp; $nr = 0;
if($debug) {
echo "<p><b>Connecting to msn $msn[Host]:$msn[Port]</b><br>";
}
if($fp = fsockopen ($msn[Host], $msn[Port], $errno, $errstr, 30))
{msn_send("VER $nr MSNP7 CVRO",$fp);
while (!feof($fp)) {
usleep(1);
if (msn_get(ereg_replace("\r\n", "", fgets($fp,128))) == "1") {
die(blieb);
};
}}
else {
die("cannot connect to msn server");
}}
function msn_send($text, $conn) {
global $debug;
if ($debug) {
echo "<font color=\"red\">$text</font><br>\n";
}
fputs ($conn, "$text\r\n");
global $nr;$nr++; }
function msn_get($msg) {
global $fp, $nr, $msn, $debug, $fp2;
if ($debug) {
echo "<font color=\"blue\">$msg</font><br>\n";
}
$msg = explode(" ", $msg);
if (strtolower($msg[0]) == "ver") {
msn_send("INF $nr", $fp);
}
elseif(strtolower($msg[0]) == "inf") {
msn_send("USR $nr MD5 I $msn[user]", $fp);
}
elseif (strtolower($msg[0]) == "usr" AND strtolower($msg[2]) == "md5") {
msn_send("USR $nr MD5 S ".MD5(trim($msg[4].$msn[Pass])), $fp);
}
elseif (strtolower($msg[0]) == "usr" AND strtolower($msg[2]) == "ok") {
msn_send("CHG $nr BSY", $fp);
msn_send("XFR $nr SB", $fp);
}
elseif (strtolower($msg[0]) == "xfr" AND strtolower($msg[2]) == "ns") {
$tmp = explode(":", $msg[3]);
$msn[Host] = $tmp[0];
$msn[Port] = $tmp[1];
fclose($fp);
msn_connect();
}
elseif (strtolower($msg[0]) == "xfr" AND strtolower($msg[2]) == "sb") {
$tmp = explode(":", $msg[3]);
$msn[sb_host] = $tmp[0];
$msn[sb_port] = $tmp[1];
$msn[sb_cki] = $msg[5];
fclose($fp);
if($debug) {
echo "<p><b>Connecting to sb $msn[sb_host]:$msn[sb_port]</b><br>";
}
if($fp2 = fsockopen ($msn[sb_host], $msn[sb_port], $errno, $errstr, 30)){
$start = time()+5;
msn_send("USR $nr $msn[user] $msn[sb_cki]",$fp2);
while (!feof($fp2)) {
if (time() >= $start) {
showstatus(0);
exit;
}
usleep(1);
msn_sb_get(ereg_replace("\r\n", "", fgets($fp2,128)));
} }
else { die("cannot connect to sb"); }
}}
function msn_sb_get($msg) {
global $fp2, $nr, $msn, $debug, $get;
if ($debug) {
echo "<font color=\"green\">$msg</font><br>\n";
}
$msg = explode(" ", $msg);
if (strtolower($msg[0]) == "usr" AND strtolower($msg[2]) == "ok") {
msn_send("CAL $nr $get",$fp2);
}
elseif (strtolower($msg[0]) == "217") {
showstatus(0);
fclose($fp2);
exit;
}
elseif (strtolower($msg[0]) == "joi") {
showstatus(1);
fclose($fp2);
exit;
} }
function showstatus($status) {
global $pic;
if ($status) {
@header("Location: $pic[online]");
}
else {
@header("Location: $pic[offline]");
}}?>
Jeg har selvfølig brugt mit eget login name og password der hvor der står $msn[user] = "secondaccount@domain.com"; // Second MSN screenname
$msn[Pass] = "secondaccountpasswordr"; // password
måden man så skulle kunne tjekke det på er sådan her
www.yourdomain.com/msn.php?get=accounttocheck@hotmail.com
dette er til ens egen side
<img src="path/msn.php?get=checkme@hotmail.com">
håber i kan hjælpe mig.
