From 3428a64c0d793ae2c06ac029c6f6f03dac306b18 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 16 May 2012 13:43:01 +0200 Subject: [PATCH] Migrate to HTTP/Request2 --- plugins/libkolab/README | 6 ++++- plugins/libkolab/lib/kolab_storage_folder.php | 23 +++++++++++-------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/plugins/libkolab/README b/plugins/libkolab/README index a16250f1..a60d5487 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 7ae1a1eb..18f66a79 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; }