X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_socketClient.inc;h=4442e1c5017729efdbccdfd6513655a279c079e7;hb=78a6813efd2f0b4eb471a688685a2abf1429ebf8;hp=93e49de40190e2da5eb36409d2c88536157d0ac7;hpb=08aa2c1b2cd2e250a3e07702b23a563bf070d69d;p=gosa.git diff --git a/gosa-core/include/class_socketClient.inc b/gosa-core/include/class_socketClient.inc index 93e49de40..4442e1c50 100644 --- a/gosa-core/include/class_socketClient.inc +++ b/gosa-core/include/class_socketClient.inc @@ -31,7 +31,8 @@ class Socket_Client private $handle = NULL; private $bytes_read = 0; private $error = ""; - private $b_encrypt = FALSE; + private $is_error = FALSE; + private $b_encrypt = FALSE; /* Crypto information */ private $td= NULL; @@ -44,6 +45,7 @@ class Socket_Client $this->host= $host; $this->port= $port; $this->timeout= $timeout; + $this->reset_error(); /* Connect if needed */ if($connect){ @@ -55,7 +57,7 @@ class Socket_Client public function setEncryptionKey($key) { if(!function_exists("mcrypt_get_iv_size")){ - $this->error = _("The mcrypt module was not found. Please install php5-mcrypt."); + $this->set_error(_("The mcrypt module was not found. Please install php5-mcrypt.")); $this->ckey = ""; $this->b_encrypt = FALSE; } @@ -99,10 +101,11 @@ class Socket_Client public function open() { + $this->reset_error(); $this->handle = @fsockopen($this->host, $this->port, $this->errno, $this->errstr, $this->timeout); if(!$this->handle){ $this->handle = NULL; - $this->error = $this->errstr; + $this->set_error(sprintf(_("Socket connection to host '%s:%s' failed: %s"),$this->host,$this->port,$this->errstr)); }else{ $this->b_data_send = TRUE; @@ -116,6 +119,26 @@ class Socket_Client } + public function set_error($str) + { + $this->is_error =TRUE; + $this->error=$str; + } + + + public function reset_error() + { + $this->is_error =FALSE; + $this->error = ""; + } + + + public function is_error() + { + return($this->is_error); + } + + public function get_error() { return $this->error; @@ -138,6 +161,7 @@ class Socket_Client public function read() { // Output the request results + $this->reset_error(); $str = ""; $data = "test"; socket_set_timeout($this->handle,$this->timeout); @@ -163,7 +187,8 @@ class Socket_Client } } } - if((microtime(TRUE) - $start) > $this->timeout ){ + if((microtime(TRUE) - $start) > $this->timeout ){ + $this->set_error(sprintf(_("Socket timeout of %s seconds reached."),$this->timeout)); break; } }