<?

class boxControl {
    var 
$ip;
    var 
$socket;
    var 
$status 'disconnected';

    function 
connect() {
        
$this->socket socket_create(AF_INETSOCK_STREAM0);
        
$datasock = @socket_connect($this->socket$this->ip1983);
        if(!
$datasock) {
            
$this->status 'disconnected';
            return 
0;
        }

        
$this->status 'connected';
        
        
$input socket_read($this->socket8192);
        while(!
ereg("//L",$input)) {
            
$input socket_read($this->socket8192);
        }
        
$codearr explode("//L:",ereg_replace("[\t\n\r]","",$input));
        
$num $codearr[1];
        
$result substr(md5(substr($num,0,1).substr($num,2,1).substr($num,4,1).substr($num,6,1).substr($num,1,1).substr($num,3,1).substr($num,5,1).substr($num,7,1)),0,10);

        
socket_write($this->socket,$result."\r\n");
        
$input socket_read($this->socket8192);
        if(
$input == '//L OK') {
            return 
true;
        }
        else {
            return 
false;    
        }
    }

    function 
command($string) {
        if(
$this->status == 'connected') {
            
socket_write($this->socket,$string."\r\n");
            
$input socket_read($this->socket8192);
            return 
$this->parse($input);
        }
        else {
            return 
0;
        }
    }

    function 
parse($input) {
        
$input ereg_replace("//[0-9]+ ","",$input);
        return 
$input;
    }

    function 
disconnect() {
        
$this->command('quit');
        
socket_close($this->socket);
    }
}

?>