From b59b72cc3028cc0514e951f135d8bfe7efcaaa6f Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 26 Feb 2015 12:04:03 -0500
Subject: [PATCH] Fix "Non-static method PEAR::isError() should not be called statically" errors (#1490281)

---
 plugins/managesieve/lib/Roundcube/rcube_sieve.php |   93 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 65 insertions(+), 28 deletions(-)

diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve.php b/plugins/managesieve/lib/Roundcube/rcube_sieve.php
index 389c850..59a7bc1 100644
--- a/plugins/managesieve/lib/Roundcube/rcube_sieve.php
+++ b/plugins/managesieve/lib/Roundcube/rcube_sieve.php
@@ -68,7 +68,9 @@
             $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 @@
             $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 @@
      */
     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 @@
      */
     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 */';
+        }
 
-        if (PEAR::isError($this->sieve->installScript($name, $content)))
+        $result = $this->sieve->installScript($name, $content);
+
+        if (is_a($result, 'PEAR_Error')) {
             return $this->_set_error(self::ERROR_INSTALL);
+        }
 
         return true;
     }
@@ -157,14 +170,19 @@
      */
     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 @@
      */
     public function deactivate()
     {
-        if (!$this->sieve)
+        if (!$this->sieve) {
             return $this->_set_error(self::ERROR_INTERNAL);
+        }
 
-        if (PEAR::isError($this->sieve->setActive('')))
+        $result = $this->sieve->setActive('');
+
+        if (is_a($result, 'PEAR_Error')) {
             return $this->_set_error(self::ERROR_DEACTIVATE);
+        }
 
         return true;
     }
@@ -188,22 +210,32 @@
      */
     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);
+            }
+        }
 
-        if (PEAR::isError($this->sieve->removeScript($name)))
+        $result = $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 @@
 
         $ext = $this->sieve->getExtensions();
 
-        if (PEAR::isError($ext)) {
+        if (is_a($ext, 'PEAR_Error')) {
             return array();
         }
 
@@ -250,8 +282,9 @@
 
             $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 @@
 
         $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 @@
 
         $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 @@
         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);
     }
 

--
Gitblit v1.9.1