//////////////////////////////////////////////////////////////////////
// GetUserData( $ResultMessage )
// ユーザーリストを取得する
// Return:
// True 正常終了
// False 異常終了
// ResultMessage:
// 異常終了: エラーの内容
// 正常終了: ユーザーリスト
//////////////////////////////////////////////////////////////////////
function GetUserData(&$ResultMessage)
{
// 出力のバッファリングをOFFにする
//ob_implicit_flush(FALSE);
// ソケットをオープンする
$fp = fsockopen("211.169.240.33", 80, $errno, $errstr);
if (!$fp) {
// オープンできなかった
$ResultMessage = "Error: GetUserData: 0000
\n$errstr($errno)
\n";
return False;
}
fputs($fp, "GET /room/getusers.cgi HTTP/1.0\r\nUser-Agent: Ohmylove Inc.\r\nHost: 211.169.240.33\r\nCache-Control: no-cache\r\n\r\n");
if( feof($fp) ) {
$ResultMessage = "Error: GetUserData: 0001";
return False;
}
$str = fgets($fp,1024);
$s = "HTTP/1.1 200 OK";
if ( !substr($str, 0, strlen($s)) == $s ) {
$ResultMessage = "Error: GetUserData: 0010";
return False;
}
$stage = 0;
$str = "";
while (!feof($fp)) {
$s = fgets($fp,1024);
switch( $stage ) {
case "0";
if( $s == "\r\n" ) {
$stage = 1;
}
break;
case "1";
$stage = 2;
break;
case "2";
$str .= $s;
break;
}
}
fclose($fp);
$ResultMessage = $str;
return True;
}
?>
//////////////////////////////////////////////////////////////////////
// SepaUsers( $ResultMessage )
// ユーザー情報に分解する
// Return:
// ユーザー情報の配列
//////////////////////////////////////////////////////////////////////
function SepaUsers($ResultMessage)
{
$result = explode("\x04",$ResultMessage);
$list = array();
foreach( $result as $v ) {
if( $v ) {
$list[] = $v;
} else {
break;
}
}
return $list;
}
?>
//////////////////////////////////////////////////////////////////////
// CnvUserName( $username )
// ユーザー情報に分解する
// Return:
// ユーザー情報の配列
//////////////////////////////////////////////////////////////////////
function CnvUserName($username)
{
$list = unpack("C*",$username);
$str = "";
foreach( $list as $c ) {
$c ^= 0x04;
$str .= chr($c);
}
return "$str";
}
?>
$dt | \n"; } // if( $i == 3 ) { // $name = gethostbyaddr( $dt ); // print "\t\t$dt | \n"; // } } print "\t