function print_imap_server_opts() { global $conf; $data = ''; $alt_servers = get_alt_servers($conf); if (!empty($alt_servers)) { $data .= $this->user->str[273] . '<br /><select class="logintext" name="imap_server">'; $data .= '<option value="0">'; if (isset($conf['imap_display_name']) && $conf['imap_display_name']) { $data .= $conf['imap_display_name']; } $data .= '</option>'; foreach ($alt_servers as $i => $vals) { if (isset($vals['imap_server'])) { $data .= '<option value="' . $i . '">'; if (isset($vals['imap_display_name'])) { if (isset($vals['imap_display_name']) && $vals['imap_display_name']) { $data .= $vals['imap_display_name']; } else { $data .= $vals['imap_server']; } } $data .= '</option>'; } } $data .= '</select>'; } return '<div class="alt_server">' . $data . '</div>'; }
function continue_session() { global $user; global $conf; global $imap; global $hastymail_version; @ini_set('arg_separator.output', '&'); if ($this->logout) { if ($user->use_cookies) { @ini_set('session.use_cookies', 1); @ini_set('session.use_trans_sid', 0); @ini_set('session.cookie_path', $user->cookie_path); @ini_set('session.cookie_secure', $user->cookie_secure); session_name($this->cookie_name); } else { @ini_set('session.use_trans_sid', 1); @ini_set('session.use_cookies', 0); ob_start(); } @session_start(); $user->user_action->logout_actions(); $this->logged_in = false; if ($user->use_cookies) { setcookie($this->cookie_name, '', time() - 42000, $user->cookie_path); } } else { if ($user->use_cookies) { @ini_set('session.use_cookies', 1); @ini_set('session.use_trans_sid', 0); @ini_set('session.cookie_path', $user->cookie_path); @ini_set('session.cookie_secure', $user->cookie_secure); session_name($this->cookie_name); } else { @ini_set('session.use_trans_sid', 1); @ini_set('session.use_cookies', 0); ob_start(); } @session_start(); if (isset($conf['site_random_session_id']) && $conf['site_random_session_id'] && !isset($_POST['rs']) && (!isset($_GET['page']) || $_GET['page'] != 'inline_image') && !isset($_GET['show_image'])) { if (!isset($_SESSION['reload_count'])) { $_SESSION['reload_count'] = 1; } else { $_SESSION['reload_count']++; if ($_SESSION['reload_count'] > 2) { $_SESSION['reload_count'] = 1; session_regenerate_id(true); } } } } if (!$this->logout && !empty($_SESSION) && isset($_SESSION['user_data']['username'])) { if (isset($_SESSION['imap_index']) && $_SESSION['imap_index']) { $alt_servers = get_alt_servers($conf); if (isset($alt_servers[$_SESSION['imap_index']])) { $vals = $alt_servers[$_SESSION['imap_index']]; foreach ($vals as $i => $v) { $name = substr($i, 5); $imap->{$name} = $v; } } } if (isset($_SESSION['user_data']['pass'])) { $this->recrypt_pass(); } $this->logged_in = true; $this->just_logged_in = false; $_SESSION['just_logged_in'] = false; if (isset($_SESSION['just_logged_in_redirect'])) { unset($_SESSION['just_logged_in_redirect']); $_SESSION['just_logged_in'] = true; } } if (isset($_SESSION['imap_index'])) { if ($_SESSION['imap_index'] > 0) { $tmp_conf = $conf; foreach ($tmp_conf as $i => $v) { if (preg_match('/alt_' . $_SESSION['imap_index'] . '/', $i)) { $conf[substr($i, 6)] = $v; } } } } if ($this->logged_in) { if (isset($_SESSION['hm_version'])) { if ($_SESSION['hm_version'] != $hastymail_version) { if (isset($conf['imap_enable_proxyauth']) && $conf['imap_enable_proxyauth']) { $_POST = array('login' => true); $_SESSION = array(); $this->check_session(); $_SESSION['updated'] = true; } else { $pass_vals = $user->string_decrypt($_SESSION['user_data']['pass']); if (isset($pass_vals[1])) { $_POST = array('user' => $_SESSION['user_data']['username'], 'pass' => $pass_vals[1], 'login' => true); $_SESSION = array(); $this->check_session(); $_SESSION['updated'] = true; } } } } } $_SESSION['hm_version'] = $hastymail_version; }