From fdff34093d479f1a9cb98107b68eb9137278b181 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Tue, 03 Jan 2012 04:56:19 -0500 Subject: [PATCH] - Move some checks into login() method --- program/include/rcmail.php | 64 ++++++++++++-------------------- 1 files changed, 24 insertions(+), 40 deletions(-) diff --git a/program/include/rcmail.php b/program/include/rcmail.php index 3808c60..fbf691a 100644 --- a/program/include/rcmail.php +++ b/program/include/rcmail.php @@ -159,8 +159,6 @@ /** * Initial startup function * to register session, create database and imap connections - * - * @todo Remove global vars $DB, $USER */ private function startup() { @@ -172,7 +170,10 @@ } // connect to database - $GLOBALS['DB'] = $this->get_dbh(); + $this->get_dbh(); + + // set global object for backward compatibility + $GLOBALS['DB'] = $this->db; // start session $this->session_init(); @@ -240,6 +241,8 @@ { if (is_object($user)) { $this->user = $user; + + // set global object for backward compatibility $GLOBALS['USER'] = $this->user; // overwrite config with user preferences @@ -320,8 +323,8 @@ return $this->db; } - - + + /** * Get global handle for memcache access * @@ -584,7 +587,6 @@ * Create global IMAP object and connect to server * * @param boolean True if connection should be established - * @todo Remove global $IMAP */ public function imap_init($connect = false) { @@ -596,23 +598,27 @@ $this->imap->skip_deleted = $this->config->get('skip_deleted'); // enable caching of imap data - $imap_cache = $this->config->get('imap_cache'); + $imap_cache = $this->config->get('imap_cache'); $messages_cache = $this->config->get('messages_cache'); // for backward compatybility if ($imap_cache === null && $messages_cache === null && $this->config->get('enable_caching')) { $imap_cache = 'db'; $messages_cache = true; } + if ($imap_cache) $this->imap->set_caching($imap_cache); if ($messages_cache) $this->imap->set_messages_caching(true); // set pagesize from config - $this->imap->set_pagesize($this->config->get('pagesize', 50)); + $pagesize = $this->config->get('mail_pagesize'); + if (!$pagesize) { + $pagesize = $this->config->get('pagesize', 50); + } + $this->imap->set_pagesize($pagesize); - // Setting root and delimiter before establishing the connection - // can save time detecting them using NAMESPACE and LIST + // set connection options $options = array( 'auth_type' => $this->config->get('imap_auth_type', 'check'), 'auth_cid' => $this->config->get('imap_auth_cid'), @@ -744,11 +750,15 @@ * @param string IMAP user name * @param string IMAP password * @param string IMAP host + * * @return boolean True on success, False on failure */ function login($username, $pass, $host=NULL) { - $user = NULL; + if (empty($username)) { + return false; + } + $config = $this->config->all(); if (!$host) @@ -988,7 +998,6 @@ if (is_string($attrib)) $attrib = array('name' => $attrib); - $nr = is_numeric($attrib['nr']) ? $attrib['nr'] : 1; $name = $attrib['name'] ? $attrib['name'] : ''; // attrib contain text values: use them from now @@ -996,35 +1005,11 @@ $this->texts[$name] = $setval; // check for text with domain - if ($domain && ($text_item = $this->texts[$domain.'.'.$name])) + if ($domain && ($text = $this->texts[$domain.'.'.$name])) ; // text does not exist - else if (!($text_item = $this->texts[$name])) { + else if (!($text = $this->texts[$name])) { return "[$name]"; - } - - // make text item array - $a_text_item = is_array($text_item) ? $text_item : array('single' => $text_item); - - // decide which text to use - if ($nr == 1) { - $text = $a_text_item['single']; - } - else if ($nr > 0) { - $text = $a_text_item['multiple']; - } - else if ($nr == 0) { - if ($a_text_item['none']) - $text = $a_text_item['none']; - else if ($a_text_item['single']) - $text = $a_text_item['single']; - else if ($a_text_item['multiple']) - $text = $a_text_item['multiple']; - } - - // default text is single - if ($text == '') { - $text = $a_text_item['single']; } // replace vars in text @@ -1041,7 +1026,7 @@ else if ($attrib['lowercase']) return mb_strtolower($text); - return $text; + return strtr($text, array('\n' => "\n")); } @@ -1213,7 +1198,6 @@ $this->smtp->disconnect(); foreach ($this->address_books as $book) { -console('---------------'); if (is_object($book) && is_a($book, 'rcube_addressbook')) $book->close(); } -- Gitblit v1.9.1