Try to catch exceptions in sieve connection

This commit is contained in:
Hadi Nategh 2014-07-21 15:25:48 +00:00
parent 623a6ed5f7
commit ff1878f6cf

View File

@ -1107,13 +1107,18 @@ class emailadmin_imap extends Horde_Imap_Client_Socket implements defaultimap
case 'retrieveRules': case 'retrieveRules':
case 'getVacation': case 'getVacation':
case 'setVacation': case 'setVacation':
if (is_null($this->sieve)) try {
{ if (is_null($this->sieve))
PEAR::setErrorHandling(PEAR_ERROR_EXCEPTION); {
$this->sieve = new emailadmin_sieve($this); PEAR::setErrorHandling(PEAR_ERROR_EXCEPTION);
$this->error =& $this->sieve->error; $this->sieve = new emailadmin_sieve($this);
$this->error =& $this->sieve->error;
}
$ret = call_user_func_array(array($this->sieve,$name),$params);
}
catch(Exception $e) {
throw new PEAR_Exception('Error in Sieve: '.$e->getMessage(), $e);
} }
$ret = call_user_func_array(array($this->sieve,$name),$params);
//error_log(__CLASS__.'->'.$name.'('.array2string($params).') returns '.array2string($ret)); //error_log(__CLASS__.'->'.$name.'('.array2string($params).') returns '.array2string($ret));
return $ret; return $ret;
} }