From f5121b5639992fc9e51fd551bac2254429b638fa Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Sat, 04 Mar 2006 08:43:25 -0500 Subject: [PATCH] Updated localizations --- program/include/rcube_shared.inc | 101 ++++++++++++++++++++++++++++---------------------- 1 files changed, 56 insertions(+), 45 deletions(-) diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc index 75db760..77753f5 100644 --- a/program/include/rcube_shared.inc +++ b/program/include/rcube_shared.inc @@ -85,7 +85,20 @@ function set_charset($charset) { + global $MBSTRING; + $this->charset = $charset; + + if ($MBSTRING && function_exists("mb_internal_encoding")) + { + if(!@mb_internal_encoding($charset)) + $MBSTRING = FALSE; + } + } + + function get_charset() + { + return $this->charset; } @@ -95,7 +108,7 @@ // set default page title if (!strlen($this->title)) - $this->title = 'RoundCube|Mail'; + $this->title = 'RoundCube Mail'; // replace specialchars in content $__page_title = rep_specialchars_output($this->title, 'html', 'show', FALSE); @@ -104,7 +117,10 @@ // include meta tag with charset if (!empty($this->charset)) - $__page_header = '<meta http-equiv="content-type" content="text/html; charset='.$this->charset.'" />'."\n";; + { + header('Content-Type: text/html; charset='.$this->charset); + $__page_header = '<meta http-equiv="content-type" content="text/html; charset='.$this->charset.'" />'."\n"; + } // definition of the code to be placed in the document header and footer @@ -178,7 +194,7 @@ // correct absolute pathes in images and other tags $output = preg_replace('/(src|href|background)=(["\']?)(\/[a-z0-9_\-]+)/Ui', "\\1=\\2$base_path\\3", $output); - print $output; + print rcube_charset_convert($output, 'UTF-8', $this->charset); } @@ -1062,8 +1078,8 @@ $sa_text_data = array(); // get english labels (these should be complete) - @include($INSTALL_PATH.'program/localization/en/labels.inc'); - @include($INSTALL_PATH.'program/localization/en/messages.inc'); + @include($INSTALL_PATH.'program/localization/en_US/labels.inc'); + @include($INSTALL_PATH.'program/localization/en_US/messages.inc'); if (is_array($labels)) $sa_text_data = $labels; @@ -1075,17 +1091,11 @@ { include_once($INSTALL_PATH.'program/localization/'.$sess_user_lang.'/labels.inc'); include_once($INSTALL_PATH.'program/localization/'.$sess_user_lang.'/messages.inc'); - + if (is_array($labels)) $sa_text_data = array_merge($sa_text_data, $labels); if (is_array($messages)) $sa_text_data = array_merge($sa_text_data, $messages); - } - - if (isset($utf8_decoding) && $utf8_decoding==TRUE) - { - @include_once('lib/utf8.inc'); - $utf8_decode = TRUE; } $s_language = $sess_user_lang; @@ -1142,14 +1152,6 @@ EOF; "); - - // perform utf-8 decoding - if ($utf8_decode && function_exists('utf8ToUnicodeEntities')) - $text = utf8ToUnicodeEntities($text); - else if ($utf8_decode) - $OUTPUT->set_charset('UTF-8'); - - // format output if (($attrib['uppercase'] && strtolower($attrib['uppercase']=='first')) || $attrib['ucfirst']) return ucfirst($text); @@ -1183,30 +1185,6 @@ if (!headers_sent()) header("Expires: ".gmdate("D, d M Y H:i:s", mktime()+2600000)." GMT"); } - - - -function decode_specialchars($input, $charset='') - { - $charset = strtolower($charset); - - if ($charset=='utf-8') - { - require_once('lib/utf8.inc'); - return utf8ToUnicodeEntities($input); - } - else if ($charset=="koi8-r") - return convert_cyr_string($input, 'k', 'w'); - else if ($charset=="iso8859-5") - return convert_cyr_string($input, 'i', 'w'); - else if ($charset=="x-cp866") - return convert_cyr_string($input, 'a', 'w'); - else if ($charset=="x-mac-cyrillic") - return convert_cyr_string($input, 'm', 'w'); - - return $input; - } - // function to convert an array to a javascript array @@ -1386,4 +1364,37 @@ } -?> \ No newline at end of file +// create a unix timestamp with a specified offset from now +function get_offset_time($offset_str, $factor=1) + { + if (preg_match('/^([0-9]+)\s*([smhdw])/i', $offset_str, $regs)) + { + $amount = (int)$regs[1]; + $unit = strtolower($regs[2]); + } + else + { + $amount = (int)$offset_str; + $unit = 's'; + } + + $ts = mktime(); + switch ($unit) + { + case 'w': + $amount *= 7; + case 'd': + $amount *= 24; + case 'h': + $amount *= 60; + case 'h': + $amount *= 60; + case 's': + $ts += $amount * $factor; + } + + return $ts; + } + + +?> -- Gitblit v1.9.1