diff options
author | thomascube <thomas@roundcube.net> | 2008-05-07 09:38:44 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2008-05-07 09:38:44 +0000 |
commit | 1854c4525bf1fce227a8cc0fa8aad06615df0eae (patch) | |
tree | 8af3b7c4ebcd34d037337688828f5091c1c39149 /program/include/rcube_shared.inc | |
parent | eb774cc6eb2818a1bdeae6c316024f93c2533d4e (diff) |
More code cleanup + oop-ization
Diffstat (limited to 'program/include/rcube_shared.inc')
-rw-r--r-- | program/include/rcube_shared.inc | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc index 03525b30f..8e9d3dd1c 100644 --- a/program/include/rcube_shared.inc +++ b/program/include/rcube_shared.inc @@ -84,124 +84,6 @@ function rcube_browser() /** - * Get localized text in the desired language - * - * @param mixed Named parameters array or label name - * @return string Localized text - */ -function rcube_label($attrib) -{ - global $OUTPUT; - static $sa_text_data = false; - static $s_language, $utf8_decode; - - $sess_user_lang = $_SESSION['language']; - - // extract attributes - if (is_string($attrib)) - $attrib = array('name' => $attrib); - - $nr = is_numeric($attrib['nr']) ? $attrib['nr'] : 1; - $vars = isset($attrib['vars']) ? $attrib['vars'] : ''; - - $command_name = !empty($attrib['command']) ? $attrib['command'] : NULL; - $alias = $attrib['name'] ? $attrib['name'] : ($command_name && $command_label_map[$command_name] ? $command_label_map[$command_name] : ''); - - - // load localized texts - if ($sa_text_data===false || $s_language != $sess_user_lang) - { - $sa_text_data = array(); - - // get english labels (these should be complete) - @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; - if (is_array($messages)) - $sa_text_data = array_merge($sa_text_data, $messages); - - // include user language files - if ($sess_user_lang!='en' && is_dir(INSTALL_PATH.'program/localization/'.$sess_user_lang)) - { - 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); - } - - $s_language = $sess_user_lang; - } - - // text does not exist - if (!($text_item = $sa_text_data[$alias])) - { - /* - raise_error(array( - 'code' => 500, - 'type' => 'php', - 'line' => __LINE__, - 'file' => __FILE__, - 'message' => "Missing localized text for '$alias' in '$sess_user_lang'"), TRUE, FALSE); - */ - return "[$alias]"; - } - - // make text item array - $a_text_item = is_array($text_item) ? $text_item : array('single' => $text_item); - - // decide which text to use - if ($nr==1) - $text = $a_text_item['single']; - else if ($nr>0) - $text = $a_text_item['multiple']; - else if ($nr==0) - { - if ($a_text_item['none']) - $text = $a_text_item['none']; - else if ($a_text_item['single']) - $text = $a_text_item['single']; - else if ($a_text_item['multiple']) - $text = $a_text_item['multiple']; - } - - // default text is single - if ($text=='') - $text = $a_text_item['single']; - - // replace vars in text - if (is_array($attrib['vars'])) - { - foreach ($attrib['vars'] as $var_key=>$var_value) - $a_replace_vars[substr($var_key, 0, 1)=='$' ? substr($var_key, 1) : $var_key] = $var_value; - } - - if ($a_replace_vars) - $text = preg_replace('/\${?([_a-z]{1}[_a-z0-9]*)}?/ei', '$a_replace_vars["\1"]', $text); - - // remove variables in text which were not available in arg $vars and $nr - eval("\$text = <<<EOF -$text -EOF; -"); - - // format output - if (($attrib['uppercase'] && strtolower($attrib['uppercase']=='first')) || $attrib['ucfirst']) - return ucfirst($text); - else if ($attrib['uppercase']) - return strtoupper($text); - else if ($attrib['lowercase']) - return strtolower($text); - - return $text; -} - - -/** * Send HTTP headers to prevent caching this page */ function send_nocacheing_headers() |