| | |
| | | +-----------------------------------------------------------------------+ |
| | | | program/include/rcube_config.php | |
| | | | | |
| | | | This file is part of the RoundCube Webmail client | |
| | | | Copyright (C) 2008-2010, RoundCube Dev. - Switzerland | |
| | | | This file is part of the Roundcube Webmail client | |
| | | | Copyright (C) 2008-2010, Roundcube Dev. - Switzerland | |
| | | | Licensed under the GNU GPL | |
| | | | | |
| | | | PURPOSE: | |
| | |
| | | */ |
| | | |
| | | /** |
| | | * Configuration class for RoundCube |
| | | * Configuration class for Roundcube |
| | | * |
| | | * @package Core |
| | | */ |
| | |
| | | * Read configuration from a file |
| | | * and merge with the already stored config values |
| | | * |
| | | * @param string Full path to the config file to be loaded |
| | | * @param string $fpath Full path to the config file to be loaded |
| | | * @return booelan True on success, false on failure |
| | | */ |
| | | public function load_from_file($fpath) |
| | |
| | | /** |
| | | * Getter for a specific config parameter |
| | | * |
| | | * @param string Parameter name |
| | | * @param mixed Default value if not set |
| | | * @param string $name Parameter name |
| | | * @param mixed $def Default value if not set |
| | | * @return mixed The requested config value |
| | | */ |
| | | public function get($name, $def = null) |
| | |
| | | /** |
| | | * Setter for a config parameter |
| | | * |
| | | * @param string Parameter name |
| | | * @param mixed Parameter value |
| | | * @param string $name Parameter name |
| | | * @param mixed $value Parameter value |
| | | */ |
| | | public function set($name, $value) |
| | | { |
| | |
| | | /** |
| | | * Override config options with the given values (eg. user prefs) |
| | | * |
| | | * @param array Hash array with config props to merge over |
| | | * @param array $prefs Hash array with config props to merge over |
| | | */ |
| | | public function merge($prefs) |
| | | { |
| | |
| | | * Merge the given prefs over the current config |
| | | * and make sure that they survive further merging. |
| | | * |
| | | * @param array Hash array with user prefs |
| | | * @param array $prefs Hash array with user prefs |
| | | */ |
| | | public function set_user_prefs($prefs) |
| | | { |
| | |
| | | /** |
| | | * Return requested DES crypto key. |
| | | * |
| | | * @param string Crypto key name |
| | | * @param string $key Crypto key name |
| | | * @return string Crypto key |
| | | */ |
| | | public function get_crypto_key($key) |
| | |
| | | public function header_delimiter() |
| | | { |
| | | // use the configured delimiter for headers |
| | | if (!empty($this->prop['mail_header_delimiter'])) |
| | | return $this->prop['mail_header_delimiter']; |
| | | if (!empty($this->prop['mail_header_delimiter'])) { |
| | | $delim = $this->prop['mail_header_delimiter']; |
| | | if ($delim == "\n" || $delim == "\r\n") |
| | | return $delim; |
| | | else |
| | | raise_error(array( |
| | | 'code' => 500, 'type' => 'php', |
| | | 'file' => __FILE__, 'line' => __LINE__, |
| | | 'message' => "Invalid mail_header_delimiter setting" |
| | | ), true, false); |
| | | } |
| | | |
| | | $php_os = strtolower(substr(PHP_OS, 0, 3)); |
| | | |
| | |
| | | /** |
| | | * Return the mail domain configured for the given host |
| | | * |
| | | * @param string IMAP host |
| | | * @param string $host IMAP host |
| | | * @param boolean $encode If true, domain name will be converted to IDN ASCII |
| | | * @return string Resolved SMTP host |
| | | */ |
| | | public function mail_domain($host) |
| | | public function mail_domain($host, $encode=true) |
| | | { |
| | | $domain = $host; |
| | | |
| | |
| | | $domain = $this->prop['mail_domain'][$host]; |
| | | } |
| | | else if (!empty($this->prop['mail_domain'])) |
| | | $domain = $this->prop['mail_domain']; |
| | | |
| | | $domain = rcube_parse_host($this->prop['mail_domain']); |
| | | |
| | | if ($encode) |
| | | $domain = idn_to_ascii($domain); |
| | | |
| | | return $domain; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * Getter for error state |
| | | * |