Make sure an existing session is killed/replaced when submitting login form

release-0.6
thomascube 14 years ago
parent 56849c658b
commit c3be8ed64c

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix double-login/session issue (#1487104)
- Wrap HTML parts with <html><body> and add Doctype declaration (#1487098)
- Make rcube_autoload silently skip unknown classes (#1487109)
- Fix charset detection in vcards with encoded values (#1485542)

@ -104,7 +104,7 @@ if ($RCMAIL->task == 'login' && $RCMAIL->action == 'login') {
rcmail_log_login();
// restore original request parameters
$query = array();
$query = array('_task' => 'mail');
if ($url = get_input_value('_url', RCUBE_INPUT_POST))
parse_str($url, $query);

@ -208,7 +208,7 @@ class rcmail
$task = asciiwords($task);
if ($this->user && $this->user->ID)
$task = !$task || $task == 'login' ? 'mail' : $task;
$task = !$task ? 'mail' : $task;
else
$task = 'login';

@ -1059,6 +1059,7 @@ class rcube_template extends rcube_html_page
$host_attrib = $autocomplete > 0 ? array() : array('autocomplete' => 'off');
$pass_attrib = $autocomplete > 1 ? array() : array('autocomplete' => 'off');
$input_task = new html_hiddenfield(array('name' => '_task', 'value' => 'login'));
$input_action = new html_hiddenfield(array('name' => '_action', 'value' => 'login'));
$input_tzone = new html_hiddenfield(array('name' => '_timezone', 'id' => 'rcmlogintz', 'value' => '_default_'));
$input_url = new html_hiddenfield(array('name' => '_url', 'id' => 'rcmloginurl', 'value' => $url));
@ -1109,7 +1110,8 @@ class rcube_template extends rcube_html_page
$table->add(null, $input_host->show(get_input_value('_host', RCUBE_INPUT_GPC)));
}
$out = $input_action->show();
$out = $input_task->show();
$out .= $input_action->show();
$out .= $input_tzone->show();
$out .= $input_url->show();
$out .= $table->show();

Loading…
Cancel
Save