Cleaner way of handling user password in framework-based programs with no session

pull/66/head
Aleksander Machniak 12 years ago
parent 789e5988aa
commit 5b06e24265

@ -1220,6 +1220,22 @@ class rcube
return $this->user->get_username('mail'); return $this->user->get_username('mail');
} }
} }
/**
* Getter for logged user password.
*
* @return string User password
*/
public function get_user_password()
{
if ($this->password) {
return $this->password;
}
else if ($_SESSION['password']) {
return $this->decrypt($_SESSION['password']);
}
}
} }

@ -269,7 +269,7 @@ class rcube_ldap extends rcube_addressbook
if ($this->prop['user_specific']) { if ($this->prop['user_specific']) {
// No password set, use the session password // No password set, use the session password
if (empty($bind_pass)) { if (empty($bind_pass)) {
$bind_pass = $rcube->decrypt($_SESSION['password']); $bind_pass = $rcube->get_user_password();
} }
// Get the pieces needed for variable replacement. // Get the pieces needed for variable replacement.

@ -135,8 +135,8 @@ class rcube_smtp
$this->conn->setTimeout($timeout); $this->conn->setTimeout($timeout);
} }
$smtp_user = str_replace('%u', $_SESSION['username'], $CONFIG['smtp_user']); $smtp_user = str_replace('%u', $rcube->get_user_name(), $CONFIG['smtp_user']);
$smtp_pass = str_replace('%p', $rcube->decrypt($_SESSION['password']), $CONFIG['smtp_pass']); $smtp_pass = str_replace('%p', $rcube->get_user_password(), $CONFIG['smtp_pass']);
$smtp_auth_type = empty($CONFIG['smtp_auth_type']) ? NULL : $CONFIG['smtp_auth_type']; $smtp_auth_type = empty($CONFIG['smtp_auth_type']) ? NULL : $CONFIG['smtp_auth_type'];
if (!empty($CONFIG['smtp_auth_cid'])) { if (!empty($CONFIG['smtp_auth_cid'])) {

Loading…
Cancel
Save