| | Author: Aleksander Machniak | +-------------------------------------------------------------------------+ */ // include environment require_once 'program/include/iniset.php'; if (trim(rcube_utils::get_input_string('_aap_token', rcube_utils::INPUT_POST)) !== '__WEBMAIL_ROUNDCUBE_RANDOM_TOKEN__') { header('Location: /index.php'); } // init application, start session, init output class, etc. $RCMAIL = rcmail::get_instance(0, isset($GLOBALS['env']) ? $GLOBALS['env'] : null); $auth = $RCMAIL->plugins->exec_hook('authenticate', [ 'host' => $RCMAIL->autoselect_host(), 'user' => '__WEBMAIL_ROUNDCUBE_USERNAME__', 'pass' => '__WEBMAIL_ROUNDCUBE_PASSWORD__', 'valid' => true, 'error' => null, 'cookiecheck' => true, ]); $RCMAIL->login($auth['user'], $auth['pass'], $auth['host'], $auth['cookiecheck']); $RCMAIL->session->remove('temp'); $RCMAIL->session->regenerate_id(false); // send auth cookie if necessary $RCMAIL->session->set_auth_cookie(); $RCMAIL->log_login(); // restore original request parameters $query = []; if ($url = rcube_utils::get_input_string('_url', rcube_utils::INPUT_POST)) { parse_str($url, $query); // prevent endless looping on login page if (!empty($query['_task']) && $query['_task'] == 'login') { unset($query['_task']); } // prevent redirect to compose with specified ID (#1488226) if (!empty($query['_action']) && $query['_action'] == 'compose' && !empty($query['_id'])) { $query = ['_action' => 'compose']; } } @unlink('__WEBMAIL_ROUNDCUBE_LOGINPHP_PATH__'); header('Location: /index.php');