| | |
| | | ini_set('display_errors', 1); |
| | | else |
| | | ini_set('display_errors', 0); |
| | | |
| | | // set session garbage collecting time according to session_lifetime |
| | | if (!empty($CONFIG['session_lifetime'])) |
| | | ini_set('session.gc_maxlifetime', ($CONFIG['session_lifetime']+2)*60); |
| | | |
| | | |
| | | // prepare DB connection |
| | |
| | | |
| | | $IMAP = new rcube_imap(); |
| | | |
| | | // connect with stored session data |
| | | if ($connect) |
| | | { |
| | | if (!($conn = $IMAP->connect($_SESSION['imap_host'], $_SESSION['username'], decrypt_passwd($_SESSION['password']), $_SESSION['imap_port'], $_SESSION['imap_ssl']))) |
| | | show_message('imaperror', 'error'); |
| | | |
| | | rcmail_set_imap_prop(); |
| | | } |
| | | |
| | | // enable caching of imap data |
| | | if ($CONFIG['enable_caching']===TRUE) |
| | | $IMAP->set_caching(TRUE); |
| | | |
| | | // set root dir from config |
| | | if (strlen($CONFIG['imap_root'])) |
| | | $IMAP->set_rootdir($CONFIG['imap_root']); |
| | | |
| | | if (is_array($CONFIG['default_imap_folders'])) |
| | | $IMAP->set_default_mailboxes($CONFIG['default_imap_folders']); |
| | | |
| | | if (strlen($_SESSION['mbox'])) |
| | | $IMAP->set_mailbox($_SESSION['mbox']); |
| | | |
| | | if (isset($_SESSION['page'])) |
| | | $IMAP->set_page($_SESSION['page']); |
| | | |
| | | // set pagesize from config |
| | | if (isset($CONFIG['pagesize'])) |
| | | $IMAP->set_pagesize($CONFIG['pagesize']); |
| | | } |
| | | |
| | | |
| | | // connect with stored session data |
| | | if ($connect) |
| | | { |
| | | if (!($conn = $IMAP->connect($_SESSION['imap_host'], $_SESSION['username'], decrypt_passwd($_SESSION['password'])))) |
| | | show_message('imaperror', 'error'); |
| | | } |
| | | // set root dir and last stored mailbox |
| | | // this must be done AFTER connecting to the server |
| | | function rcmail_set_imap_prop() |
| | | { |
| | | global $CONFIG, $IMAP; |
| | | |
| | | // set root dir from config |
| | | if (strlen($CONFIG['imap_root'])) |
| | | $IMAP->set_rootdir($CONFIG['imap_root']); |
| | | |
| | | if (strlen($_SESSION['mbox'])) |
| | | $IMAP->set_mailbox($_SESSION['mbox']); |
| | | |
| | | if (isset($_SESSION['page'])) |
| | | $IMAP->set_page($_SESSION['page']); |
| | | } |
| | | |
| | | |
| | |
| | | if (!$host) |
| | | $host = $CONFIG['default_host']; |
| | | |
| | | // parse $host URL |
| | | $a_host = parse_url($host); |
| | | if ($a_host['host']) |
| | | { |
| | | $host = $a_host['host']; |
| | | $imap_ssl = (isset($a_host['scheme']) && in_array($a_host['scheme'], array('ssl','imaps','tls'))) ? TRUE : FALSE; |
| | | $imap_port = isset($a_host['port']) ? $a_host['port'] : ($imap_ssl ? 993 : $CONFIG['default_port']); |
| | | } |
| | | |
| | | // query if user already registered |
| | | $sql_result = $DB->query(sprintf("SELECT user_id, username, language, preferences |
| | | FROM %s |
| | |
| | | { |
| | | $user_id = $sql_arr['user_id']; |
| | | $user = $sql_arr['username']; |
| | | } |
| | | |
| | | // parse $host URL |
| | | $a_host = parse_url($host); |
| | | if ($a_host['host']) |
| | | { |
| | | $host = $a_host['host']; |
| | | $imap_ssl = (isset($a_host['scheme']) && in_array($a_host['scheme'], array('ssl','imaps','tls'))) ? TRUE : FALSE; |
| | | $imap_port = isset($a_host['post']) ? $a_host['post'] : ($imap_ssl ? 993 : $CONFIG['default_port']); |
| | | } |
| | | |
| | | // exit if IMAP login failed |
| | |
| | | { |
| | | $_SESSION['user_id'] = $user_id; |
| | | $_SESSION['imap_host'] = $host; |
| | | $_SESSION['imap_port'] = $imap_port; |
| | | $_SESSION['imap_ssl'] = $imap_ssl; |
| | | $_SESSION['username'] = $user; |
| | | $_SESSION['password'] = encrypt_passwd($pass); |
| | | |
| | |
| | | // show a label |
| | | case 'label': |
| | | if ($attrib['name'] || $attrib['command']) |
| | | return rcube_label($attrib); |
| | | return rep_specialchars_output(rcube_label($attrib)); |
| | | break; |
| | | |
| | | // create a menu item |
| | |
| | | else if (isset($GLOBALS['PAGE_TITLE'])) |
| | | return rep_specialchars_output("RoundCube|Mail :: ".$GLOBALS['PAGE_TITLE']); |
| | | else if ($task=='mail' && ($mbox_name = $IMAP->get_mailbox_name())) |
| | | return "RoundCube|Mail :: $mbox_name"; |
| | | return "RoundCube|Mail :: ".rep_specialchars_output(UTF7DecodeString($mbox_name), 'html', 'all'); |
| | | else |
| | | return "RoundCube|Mail :: $task"; |
| | | } |
| | |
| | | $table .= "<thead><tr>\n"; |
| | | |
| | | foreach ($a_show_cols as $col) |
| | | $table .= '<td class="'.$col.'">' . rcube_label($col) . "</td>\n"; |
| | | $table .= '<td class="'.$col.'">' . rep_specialchars_output(rcube_label($col)) . "</td>\n"; |
| | | |
| | | $table .= "</tr></thead>\n<tbody>\n"; |
| | | |