private $_storage;
/**
+ * Mark the session as connected.
+ *
+ * @var true
+ */
+ private $_connected = false;
+
+ /**
* Constructor.
*
* @param string $user_id The session will be setup for the user
$this->_server->connect($this->_user_id, $password);
$user_object = $this->_server->objects->fetch();
} catch (Horde_Kolab_Server_Exception_Bindfailed $e) {
- throw new Horde_Kolab_Session_Exception_Badlogin($e);
+ throw new Horde_Kolab_Session_Exception_Badlogin('Invalid credentials!', 0, $e);
} catch (Horde_Kolab_Server_Exception $e) {
- throw new Horde_Kolab_Session_Exception($e);
+ throw new Horde_Kolab_Session_Exception('Login failed!', 0, $e);
}
$this->_initMail($user_object);
*/
public function getStorage()
{
+ if (!$this->_connected) {
+ return false;
+ }
if (empty($this->_storage)) {
//@todo: factory?
$this->_storage = new Horde_Kolab_Storage(
* @license http://www.fsf.org/copyleft/lgpl.html LGPL
* @link http://pear.horde.org/index.php?package=Kolab_Session
*/
-class Horde_Kolab_Session_Exception extends Horde_Exception_Prior
+class Horde_Kolab_Session_Exception extends Horde_Exception
{
}
\ No newline at end of file
try {
$session->connect(array('password' => 'pass'));
} catch (Horde_Kolab_Session_Exception $e) {
- $this->assertEquals('Error', $e->getMessage());
+ $this->assertEquals('Login failed!', $e->getMessage());
}
}
try {
$session->connect(array('password' => 'pass'));
} catch (Horde_Kolab_Session_Exception_Badlogin $e) {
- $this->assertEquals('Error', $e->getMessage());
+ $this->assertEquals('Invalid credentials!', $e->getMessage());
}
}
'_imap_server',
'_freebusy_server',
'_storage_params',
+ '_connected'
), $session->__sleep()
);
}