| | |
| | | | This file is part of the Roundcube Webmail client | |
| | | | Copyright (C) 2008-2011, The Roundcube Dev Team | |
| | | | Copyright (C) 2011, Kolab Systems AG | |
| | | | Licensed under the GNU GPL | |
| | | | | |
| | | | Licensed under the GNU General Public License version 3 or | |
| | | | any later version with exceptions for skins & plugins. | |
| | | | See the README file for a full license statement. | |
| | | | | |
| | | | PURPOSE: | |
| | | | Application class providing core functions and holding | |
| | |
| | | true, true); |
| | | } |
| | | |
| | | // set configured sort order |
| | | if ($sort_col = $this->config->get('addressbook_sort_col')) |
| | | $contacts->set_sort_order($sort_col); |
| | | |
| | | // add to the 'books' array for shutdown function |
| | | $this->address_books[$id] = $contacts; |
| | | |
| | |
| | | |
| | | if ($ldap_config) { |
| | | $ldap_config = (array) $ldap_config; |
| | | foreach ($ldap_config as $id => $prop) |
| | | foreach ($ldap_config as $id => $prop) { |
| | | // handle misconfiguration |
| | | if (empty($prop) || !is_array($prop)) { |
| | | continue; |
| | | } |
| | | $list[$id] = array( |
| | | 'id' => $id, |
| | | 'name' => $prop['name'], |
| | |
| | | 'hidden' => $prop['hidden'], |
| | | 'autocomplete' => in_array($id, $autocomplete) |
| | | ); |
| | | } |
| | | } |
| | | |
| | | $plugin = $this->plugins->exec_hook('addressbooks_list', array('sources' => $list)); |
| | |
| | | $options['port'] = $_SESSION['storage_port']; |
| | | $options['ssl'] = $_SESSION['storage_ssl']; |
| | | $options['password'] = $this->decrypt($_SESSION['password']); |
| | | // set 'imap_host' for backwards compatibility |
| | | $_SESSION[$driver.'_host'] = &$_SESSION['storage_host']; |
| | | } |
| | | |
| | | $options = $this->plugins->exec_hook("storage_init", $options); |
| | | |
| | | // for backward compat. (deprecated, to be removed) |
| | | $options = $this->plugins->exec_hook("imap_init", $options); |
| | | |
| | | $this->storage->set_options($options); |
| | | $this->set_storage_prop(); |
| | |
| | | list($user, $domain) = explode('@', get_input_value('_user', RCUBE_INPUT_POST)); |
| | | if (!empty($domain)) { |
| | | foreach ($default_host as $storage_host => $mail_domains) { |
| | | if (is_array($mail_domains) && in_array($domain, $mail_domains)) { |
| | | if (is_array($mail_domains) && in_array_nocase($domain, $mail_domains)) { |
| | | $host = $storage_host; |
| | | break; |
| | | } |
| | | else if (stripos($storage_host, $domain) !== false || stripos(strval($mail_domains), $domain) !== false) { |
| | | $host = is_numeric($storage_host) ? $mail_domains : $storage_host; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // take the first entry if $host is still an array |
| | | // take the first entry if $host is still not set |
| | | if (empty($host)) { |
| | | $host = array_shift($default_host); |
| | | list($key, $val) = each($default_host); |
| | | $host = is_numeric($key) ? $val : $key; |
| | | } |
| | | } |
| | | else if (empty($default_host)) { |