From a38403bd985a45c01b2f69afa877dcd4d6a944c8 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Sun, 25 Apr 2010 00:45:41 -0600 Subject: [PATCH] createUrl() can now create relative URLs --- .../Imap_Client/lib/Horde/Imap/Client/Utils.php | 31 ++++++++++++---------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/framework/Imap_Client/lib/Horde/Imap/Client/Utils.php b/framework/Imap_Client/lib/Horde/Imap/Client/Utils.php index dea81ef54..9ac849ff9 100644 --- a/framework/Imap_Client/lib/Horde/Imap/Client/Utils.php +++ b/framework/Imap_Client/lib/Horde/Imap/Client/Utils.php @@ -349,33 +349,36 @@ class Horde_Imap_Client_Utils * * @param array $data The data used to create the URL. See the return * value from parseUrl() for the available fields. - * REQUIRED: 'type', 'hostspec' * * @return string A URL string. */ public function createUrl($data) { - $url = $data['type'] . '://'; + $url = ''; - if (isset($data['username'])) { - $url .= $data['username']; - } + if (isset($type)) { + $url = $data['type'] . '://'; - if (isset($data['auth'])) { - $url .= ';AUTH=' . $data['auth'] . '@'; - } elseif (isset($data['username'])) { - $url .= '@'; - } + if (isset($data['username'])) { + $url .= $data['username']; + } - $url .= $data['hostspec']; + if (isset($data['auth'])) { + $url .= ';AUTH=' . $data['auth'] . '@'; + } elseif (isset($data['username'])) { + $url .= '@'; + } + + $url .= $data['hostspec']; - if (isset($data['port']) && ($data['port'] != 143)) { - $url .= ':' . $data['port']; + if (isset($data['port']) && ($data['port'] != 143)) { + $url .= ':' . $data['port']; + } } $url .= '/'; - if ($data['type'] == 'imap') { + if (!isset($data['type']) || ($data['type'] == 'imap')) { $url .= urlencode($data['mailbox']); if (!empty($data['uidvalidity'])) { -- 2.11.0