fix broken tracker mailhandling caused by protected constructor

also disable reading from DB, in case no (numeric) acc_id given, like from tracker mailhandling
This commit is contained in:
ralf 2022-03-30 10:57:41 +03:00
parent e7dc51ad14
commit 790f9b2ff9

View File

@ -249,7 +249,10 @@ class Account implements \ArrayAccess
* @param int $called_for=null if set access to given user (without smtp credentials!), * @param int $called_for=null if set access to given user (without smtp credentials!),
* default current user AND read username/password from current users session * default current user AND read username/password from current users session
*/ */
protected function __construct(array $params, $called_for=null) public function __construct(array $params, $called_for=null)
{
// tracker_mailhandling instantiates class without our database (acc_id==="tracker*")
if ((int)$params['acc_id'] > 0)
{ {
// read credentials from database // read credentials from database
$params += Credentials::read($params['acc_id'], null, $called_for ? array(0, $called_for) : $called_for, $this->on_login); $params += Credentials::read($params['acc_id'], null, $called_for ? array(0, $called_for) : $called_for, $this->on_login);
@ -267,6 +270,7 @@ class Account implements \ArrayAccess
(!isset($called_for) ? array() : array('acc_smtp_auth_session' => false)) + $params, !isset($called_for) (!isset($called_for) ? array() : array('acc_smtp_auth_session' => false)) + $params, !isset($called_for)
) + $params; ) + $params;
} }
}
$this->params = $params; $this->params = $params;
unset($this->imapServer); unset($this->imapServer);
unset($this->smtpServer); unset($this->smtpServer);