Branch 'dev/kolab3' - plugins/libkolab

Aleksander Machniak machniak at kolabsys.com
Wed May 16 13:43:19 CEST 2012


 plugins/libkolab/README                       |    6 +++++-
 plugins/libkolab/lib/kolab_storage_folder.php |   23 ++++++++++++++---------
 2 files changed, 19 insertions(+), 10 deletions(-)

New commits:
commit 3428a64c0d793ae2c06ac029c6f6f03dac306b18
Author: Aleksander Machniak <alec at alec.pl>
Date:   Wed May 16 13:43:01 2012 +0200

    Migrate to HTTP/Request2

diff --git a/plugins/libkolab/README b/plugins/libkolab/README
index a16250f..a60d548 100644
--- a/plugins/libkolab/README
+++ b/plugins/libkolab/README
@@ -12,5 +12,9 @@ REQUIREMENTS
 * libkolabxml PHP bindings
   - kolabformat.so loaded into PHP
   - kolabformat.php placed somewhere in the include_path
-* Horde Kolab_Format package and all of its dependencies
+* PEAR: HTTP/Request2
+* PEAR: Net/URL2
 
+* Optional for old format support:
+  Horde Kolab_Format package and all of its dependencies
+  which are at least Horde_(Browser,DOM,NLS,String,Utils)
diff --git a/plugins/libkolab/lib/kolab_storage_folder.php b/plugins/libkolab/lib/kolab_storage_folder.php
index 7ae1a1e..18f66a7 100644
--- a/plugins/libkolab/lib/kolab_storage_folder.php
+++ b/plugins/libkolab/lib/kolab_storage_folder.php
@@ -710,7 +710,7 @@ class kolab_storage_folder
             return true;
         }
 
-        if ($result && is_a($result, 'PEAR_Error')) {
+        if ($result && is_object($result) && is_a($result, 'PEAR_Error')) {
             return PEAR::raiseError(sprintf("Failed triggering folder %s. Error was: %s",
                                             $this->name, $result->getMessage()));
         }
@@ -728,18 +728,23 @@ class kolab_storage_folder
      */
     private function trigger_url($url, $auth_user = null, $auth_passwd = null)
     {
-        require_once('HTTP/Request.php');
+        require_once('HTTP/Request2.php');
 
-        $request = new HTTP_Request($url);
+        try {
+            $request = new HTTP_Request2($url);
 
-        // set authentication credentials
-        if ($auth_user && $auth_passwd)
-            $request->setBasicAuth($auth_user, $auth_passwd);
+            // set authentication credentials
+            if ($auth_user && $auth_passwd)
+                $request->setAuth($auth_user, $auth_passwd);
 
-        $result = $request->sendRequest(true);
-        // rcube::write_log('trigger', $request->getResponseBody());
+            $result = $request->send();
+            // rcube::write_log('trigger', $result->getBody());
+        }
+        catch (Exception $e) {
+            return PEAR::raiseError($e->getMessage());
+        }
 
-        return $result;
+        return true;
     }
 
 





More information about the commits mailing list