| | |
| | | /* |
| | | +-------------------------------------------------------------------------+ |
| | | | Roundcube Webmail IMAP Client | |
| | | | Version 0.9-git | |
| | | | Version 1.0-git | |
| | | | | |
| | | | Copyright (C) 2005-2012, The Roundcube Dev Team | |
| | | | Copyright (C) 2005-2013, The Roundcube Dev Team | |
| | | | | |
| | | | This program is free software: you can redistribute it and/or modify | |
| | | | it under the terms of the GNU General Public License (with exceptions | |
| | |
| | | require_once 'program/include/iniset.php'; |
| | | |
| | | // init application, start session, init output class, etc. |
| | | $RCMAIL = rcmail::get_instance(); |
| | | $RCMAIL = rcmail::get_instance($GLOBALS['env']); |
| | | |
| | | // Make the whole PHP output non-cacheable (#1487797) |
| | | $RCMAIL->output->nocacheing_headers(); |
| | |
| | | } |
| | | else { |
| | | if (!$auth['valid']) { |
| | | $error_code = RCMAIL::ERROR_INVALID_REQUEST; |
| | | $error_code = RCMAIL::ERROR_INVALID_REQUEST; |
| | | } |
| | | else { |
| | | $error_code = $auth['error'] ? $auth['error'] : $RCMAIL->login_error(); |
| | |
| | | |
| | | $error_message = $error_labels[$error_code] ? $error_labels[$error_code] : 'loginfailed'; |
| | | |
| | | // log failed login |
| | | $RCMAIL->log_login($auth['user'], true, $error_code); |
| | | |
| | | $OUTPUT->show_message($error_message, 'warning'); |
| | | $RCMAIL->plugins->exec_hook('login_failed', array( |
| | | 'code' => $error_code, 'host' => $auth['host'], 'user' => $auth['user'])); |
| | |
| | | } |
| | | |
| | | // end session (after optional referer check) |
| | | else if ($RCMAIL->task == 'logout' && isset($_SESSION['user_id']) && (!$RCMAIL->config->get('referer_check') || rcmail::check_referer())) { |
| | | else if ($RCMAIL->task == 'logout' && isset($_SESSION['user_id']) && (!$RCMAIL->config->get('referer_check') || rcube_utils::check_referer())) { |
| | | $userdata = array( |
| | | 'user' => $_SESSION['username'], |
| | | 'host' => $_SESSION['storage_host'], |
| | |
| | | } |
| | | |
| | | // check referer if configured |
| | | if ($RCMAIL->config->get('referer_check') && !rcmail::check_referer()) { |
| | | if ($RCMAIL->config->get('referer_check') && !rcube_utils::check_referer()) { |
| | | raise_error(array( |
| | | 'code' => 403, 'type' => 'php', |
| | | 'message' => "Referer check failed"), true, true); |