summaryrefslogtreecommitdiff
path: root/plugins/managesieve
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/managesieve')
-rw-r--r--plugins/managesieve/lib/Roundcube/rcube_sieve.php93
-rw-r--r--plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php5
2 files changed, 68 insertions, 30 deletions
diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve.php b/plugins/managesieve/lib/Roundcube/rcube_sieve.php
index 389c85012..59a7bc134 100644
--- a/plugins/managesieve/lib/Roundcube/rcube_sieve.php
+++ b/plugins/managesieve/lib/Roundcube/rcube_sieve.php
@@ -68,7 +68,9 @@ class rcube_sieve
$this->sieve->setDebug(true, array($this, 'debug_handler'));
}
- if (PEAR::isError($this->sieve->connect($host, $port, $options, $usetls))) {
+ $result = $this->sieve->connect($host, $port, $options, $usetls);
+
+ if (is_a($result, 'PEAR_Error')) {
return $this->_set_error(self::ERROR_CONNECTION);
}
@@ -78,9 +80,9 @@ class rcube_sieve
$password = $auth_pw;
}
- if (PEAR::isError($this->sieve->login($username, $password,
- $auth_type ? strtoupper($auth_type) : null, $authz))
- ) {
+ $result = $this->sieve->login($username, $password, $auth_type ? strtoupper($auth_type) : null, $authz);
+
+ if (is_a($result, 'PEAR_Error')) {
return $this->_set_error(self::ERROR_LOGIN);
}
@@ -115,22 +117,28 @@ class rcube_sieve
*/
public function save($name = null)
{
- if (!$this->sieve)
+ if (!$this->sieve) {
return $this->_set_error(self::ERROR_INTERNAL);
+ }
- if (!$this->script)
+ if (!$this->script) {
return $this->_set_error(self::ERROR_INTERNAL);
+ }
- if (!$name)
+ if (!$name) {
$name = $this->current;
+ }
$script = $this->script->as_text();
- if (!$script)
+ if (!$script) {
$script = '/* empty script */';
+ }
- if (PEAR::isError($this->sieve->installScript($name, $script)))
+ $result = $this->sieve->installScript($name, $script);
+ if (is_a($result, 'PEAR_Error')) {
return $this->_set_error(self::ERROR_INSTALL);
+ }
return true;
}
@@ -140,14 +148,19 @@ class rcube_sieve
*/
public function save_script($name, $content = null)
{
- if (!$this->sieve)
+ if (!$this->sieve) {
return $this->_set_error(self::ERROR_INTERNAL);
+ }
- if (!$content)
+ if (!$content) {
$content = '/* empty script */';
+ }
+
+ $result = $this->sieve->installScript($name, $content);
- if (PEAR::isError($this->sieve->installScript($name, $content)))
+ if (is_a($result, 'PEAR_Error')) {
return $this->_set_error(self::ERROR_INSTALL);
+ }
return true;
}
@@ -157,14 +170,19 @@ class rcube_sieve
*/
public function activate($name = null)
{
- if (!$this->sieve)
+ if (!$this->sieve) {
return $this->_set_error(self::ERROR_INTERNAL);
+ }
- if (!$name)
+ if (!$name) {
$name = $this->current;
+ }
- if (PEAR::isError($this->sieve->setActive($name)))
+ $result = $this->sieve->setActive($name);
+
+ if (is_a($result, 'PEAR_Error')) {
return $this->_set_error(self::ERROR_ACTIVATE);
+ }
return true;
}
@@ -174,11 +192,15 @@ class rcube_sieve
*/
public function deactivate()
{
- if (!$this->sieve)
+ if (!$this->sieve) {
return $this->_set_error(self::ERROR_INTERNAL);
+ }
+
+ $result = $this->sieve->setActive('');
- if (PEAR::isError($this->sieve->setActive('')))
+ if (is_a($result, 'PEAR_Error')) {
return $this->_set_error(self::ERROR_DEACTIVATE);
+ }
return true;
}
@@ -188,22 +210,32 @@ class rcube_sieve
*/
public function remove($name = null)
{
- if (!$this->sieve)
+ if (!$this->sieve) {
return $this->_set_error(self::ERROR_INTERNAL);
+ }
- if (!$name)
+ if (!$name) {
$name = $this->current;
+ }
// script must be deactivated first
- if ($name == $this->sieve->getActive())
- if (PEAR::isError($this->sieve->setActive('')))
+ if ($name == $this->sieve->getActive()) {
+ $result = $this->sieve->setActive('');
+
+ if (is_a($result, 'PEAR_Error')) {
return $this->_set_error(self::ERROR_DELETE);
+ }
+ }
+
+ $result = $this->sieve->removeScript($name);
- if (PEAR::isError($this->sieve->removeScript($name)))
+ if (is_a($result, 'PEAR_Error')) {
return $this->_set_error(self::ERROR_DELETE);
+ }
- if ($name == $this->current)
+ if ($name == $this->current) {
$this->current = null;
+ }
return true;
}
@@ -221,7 +253,7 @@ class rcube_sieve
$ext = $this->sieve->getExtensions();
- if (PEAR::isError($ext)) {
+ if (is_a($ext, 'PEAR_Error')) {
return array();
}
@@ -250,8 +282,9 @@ class rcube_sieve
$list = $this->sieve->listScripts();
- if (PEAR::isError($list))
+ if (is_a($list, 'PEAR_Error')) {
return $this->_set_error(self::ERROR_OTHER);
+ }
$this->list = $list;
}
@@ -283,8 +316,9 @@ class rcube_sieve
$script = $this->sieve->getScript($name);
- if (PEAR::isError($script))
+ if (is_a($script, 'PEAR_Error')) {
return $this->_set_error(self::ERROR_OTHER);
+ }
// try to parse from Roundcube format
$this->script = $this->_parse($script);
@@ -349,8 +383,9 @@ class rcube_sieve
$content = $this->sieve->getScript($name);
- if (PEAR::isError($content))
+ if (is_a($content, 'PEAR_Error')) {
return $this->_set_error(self::ERROR_OTHER);
+ }
return $content;
}
@@ -366,10 +401,12 @@ class rcube_sieve
if ($copy) {
$content = $this->sieve->getScript($copy);
- if (PEAR::isError($content))
+ if (is_a($content, 'PEAR_Error')) {
return $this->_set_error(self::ERROR_OTHER);
+ }
}
+
return $this->save_script($name, $content);
}
diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
index 69ae4b8a6..98c4c952c 100644
--- a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
+++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
@@ -390,10 +390,11 @@ class rcube_sieve_engine
}
else if ($action == 'setget') {
$script_name = rcube_utils::get_input_value('_set', rcube_utils::INPUT_GPC, true);
- $script = $this->sieve->get_script($script_name);
+ $script = $this->sieve->get_script($script_name);
- if (PEAR::isError($script))
+ if (is_a($script, 'PEAR_Error')) {
exit;
+ }
$browser = new rcube_browser;