| | |
| | | function get_boolean($str) |
| | | { |
| | | $str = strtolower($str); |
| | | if (in_array($str, array('false', '0', 'no', 'nein', ''), TRUE)) |
| | | if (in_array($str, array('false', '0', 'no', 'off', 'nein', ''), TRUE)) |
| | | return FALSE; |
| | | else |
| | | return TRUE; |
| | |
| | | |
| | | return floatval($bytes); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Create a human readable string for a number of bytes |
| | | * |
| | |
| | | */ |
| | | function show_bytes($bytes) |
| | | { |
| | | if ($bytes > 1073741824) |
| | | if ($bytes >= 1073741824) |
| | | { |
| | | $gb = $bytes/1073741824; |
| | | $str = sprintf($gb>=10 ? "%d " : "%.1f ", $gb) . rcube_label('GB'); |
| | | } |
| | | else if ($bytes > 1048576) |
| | | else if ($bytes >= 1048576) |
| | | { |
| | | $mb = $bytes/1048576; |
| | | $str = sprintf($mb>=10 ? "%d " : "%.1f ", $mb) . rcube_label('MB'); |
| | | } |
| | | else if ($bytes > 1024) |
| | | else if ($bytes >= 1024) |
| | | $str = sprintf("%d ", round($bytes/1024)) . rcube_label('KB'); |
| | | else |
| | | $str = sprintf('%d ', $bytes) . rcube_label('B'); |
| | | |
| | | return $str; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Convert paths like ../xxx to an absolute path using a base url |
| | |
| | | } |
| | | |
| | | // $path is absolute |
| | | if ($path{0}=='/') |
| | | if ($path[0] == '/') |
| | | $abs_path = $host_url.$path; |
| | | else |
| | | { |
| | |
| | | { |
| | | if (strrpos($base_url, '/')) |
| | | $base_url = substr($base_url, 0, strrpos($base_url, '/')); |
| | | |
| | | |
| | | $path = substr($path, 3); |
| | | } |
| | | |
| | | $abs_path = $base_url.'/'.$path; |
| | | } |
| | | |
| | | |
| | | return $abs_path; |
| | | } |
| | | |
| | |
| | | $loaded = true; |
| | | } |
| | | |
| | | if ($idn && $domain && preg_match('/(^|@|\.)xn--/i', $domain)) { |
| | | if ($idn && $domain && preg_match('/(^|\.)xn--/i', $domain)) { |
| | | try { |
| | | $domain = $idn->decode($domain); |
| | | } |