summaryrefslogtreecommitdiff
path: root/roundcubemail/program/include
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2009-08-14 08:24:09 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2009-08-14 08:24:09 +0000
commit51040aee932bb2d795330a572d89a7da415e02b5 (patch)
tree5c77118a96c5b7ab4457059c384d5c38a7b8a3e8 /roundcubemail/program/include
parent06a3032559dce451a11dfc42ccd55568eb653815 (diff)
Changed imap_connect hook according to suggestions in #1485956
git-svn-id: https://svn.roundcube.net/trunk@2861 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include')
-rw-r--r--roundcubemail/program/include/rcube_imap.php16
1 files changed, 10 insertions, 6 deletions
diff --git a/roundcubemail/program/include/rcube_imap.php b/roundcubemail/program/include/rcube_imap.php
index b27124582..78d44860f 100644
--- a/roundcubemail/program/include/rcube_imap.php
+++ b/roundcubemail/program/include/rcube_imap.php
@@ -36,7 +36,7 @@ require_once('lib/tnef_decoder.inc');
*
* @package Mail
* @author Thomas Bruederli <roundcube@gmail.com>
- * @version 1.40
+ * @version 1.5
* @link http://ilohamail.org
*/
class rcube_imap
@@ -107,16 +107,20 @@ class rcube_imap
raise_error(array('code' => 403, 'type' => 'imap', 'file' => __FILE__,
'message' => 'Open SSL not available;'), TRUE, FALSE);
$port = 143;
- }
+ }
$ICL_PORT = $port;
$IMAP_USE_INTERNAL_DATE = false;
- $data = rcmail::get_instance()->plugins->exec_hook('imap_connect', array('host' => $host, 'user' => $user));
- if (!empty($data['pass']))
- $pass = $data['pass'];
+ $attempt = 0;
+ do {
+ $data = rcmail::get_instance()->plugins->exec_hook('imap_connect', array('host' => $host, 'user' => $user, 'attempt' => ++$attempt));
+ if (!empty($data['pass']))
+ $pass = $data['pass'];
+
+ $this->conn = iil_Connect($data['host'], $data['user'], $pass, $this->options);
+ } while(!$this->conn && $data['retry']);
- $this->conn = iil_Connect($data['host'], $data['user'], $pass, $this->options);
$this->host = $data['host'];
$this->user = $data['user'];
$this->pass = $pass;