thomascube
2011-03-10 4591de7018414267311b421ef42ef1b4a2f6aa89
program/include/rcmail.php
@@ -699,12 +699,12 @@
    // Here we need IDNA ASCII
    // Only rcube_contacts class is using domain names in Unicode
    $host = idn_to_ascii($host);
    $host = rcube_idn_to_ascii($host);
    if (strpos($username, '@')) {
      // lowercase domain name
      list($local, $domain) = explode('@', $username);
      $username = $local . '@' . mb_strtolower($domain);
      $username = idn_to_ascii($username);
      $username = rcube_idn_to_ascii($username);
    }
    // user already registered -> overwrite username
@@ -874,6 +874,10 @@
    $nr = is_numeric($attrib['nr']) ? $attrib['nr'] : 1;
    $name = $attrib['name'] ? $attrib['name'] : '';
    // attrib contain text values: use them from now
    if (($setval = $attrib[strtolower($_SESSION['language'])]) || ($setval = $attrib['en_us']))
        $this->texts[$name] = $setval;
    // check for text with domain
    if ($domain && ($text_item = $this->texts[$domain.'.'.$name]))
@@ -924,6 +928,22 @@
    return $text;
  }
  /**
   * Check if the given text lable exists
   *
   * @param string Label name
   * @return boolean True if text exists (either in the current language or in en_US)
   */
  public function text_exists($name, $domain=null)
  {
    // load localization files if not done yet
    if (empty($this->texts))
      $this->load_language();
    // check for text with domain first
    return ($domain && isset($this->texts[$domain.'.'.$name])) || isset($this->texts[$name]);
  }
  /**
   * Load a localization package
@@ -1044,9 +1064,6 @@
   */
  public function shutdown()
  {
    if (is_object($this->imap))
      $this->imap->close();
    if (is_object($this->smtp))
      $this->smtp->disconnect();
@@ -1057,9 +1074,14 @@
        $book->close();
    }
    if (is_object($this->imap))
      $this->imap->close();
    // before closing the database connection, write session data
    if ($_SERVER['REMOTE_ADDR'])
    if ($_SERVER['REMOTE_ADDR']) {
      $this->session->cleanup();
      session_write_close();
    }
    // write performance stats to logs/console
    if ($this->config->get('devel_mode')) {