diff options
Diffstat (limited to 'program/include/rcmail.php')
-rw-r--r-- | program/include/rcmail.php | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/program/include/rcmail.php b/program/include/rcmail.php index d4305b505..f4689215c 100644 --- a/program/include/rcmail.php +++ b/program/include/rcmail.php @@ -428,7 +428,8 @@ class rcmail extends rcube } // add some basic labels to client - $this->output->add_label('loading', 'servererror', 'connerror', 'requesttimedout', 'refreshing'); + $this->output->add_label('loading', 'servererror', 'connerror', 'requesttimedout', + 'refreshing', 'windowopenerror'); return $this->output; } @@ -1076,14 +1077,17 @@ class rcmail extends rcube } else { foreach ($table_data as $row_data) { - $class = !empty($row_data['class']) ? $row_data['class'] : ''; + $class = !empty($row_data['class']) ? $row_data['class'] : null; + if (!empty($attrib['rowclass'])) + $class = trim($class . ' ' . $attrib['rowclass']); $rowid = 'rcmrow' . rcube_utils::html_identifier($row_data[$id_col]); $table->add_row(array('id' => $rowid, 'class' => $class)); // format each col foreach ($a_show_cols as $col) { - $table->add($col, $this->Q(is_array($row_data[$col]) ? $row_data[$col][0] : $row_data[$col])); + $val = is_array($row_data[$col]) ? $row_data[$col][0] : $row_data[$col]; + $table->add($col, empty($attrib['ishtml']) ? $this->Q($val) : $val); } } } @@ -1321,7 +1325,8 @@ class rcmail extends rcube */ public function folder_selector($p = array()) { - $p += array('maxlength' => 100, 'realnames' => false, 'is_escaped' => true); + $realnames = $this->config->get('show_real_foldernames'); + $p += array('maxlength' => 100, 'realnames' => $realnames, 'is_escaped' => true); $a_mailboxes = array(); $storage = $this->get_storage(); @@ -1489,7 +1494,7 @@ class rcmail extends rcube $html_name = $this->Q($foldername) . ($unread ? html::span('unreadcount', sprintf($attrib['unreadwrap'], $unread)) : ''); $link_attrib = $folder['virtual'] ? array() : array( 'href' => $this->url(array('_mbox' => $folder['id'])), - 'onclick' => sprintf("return %s.command('list','%s',this)", rcmail_output::JS_OBJECT_NAME, $js_name), + 'onclick' => sprintf("return %s.command('list','%s',this,event)", rcmail_output::JS_OBJECT_NAME, $js_name), 'rel' => $folder['id'], 'title' => $title, ); @@ -1769,31 +1774,36 @@ class rcmail extends rcube return; } - $lang = strtolower($_SESSION['language']); + $lang_codes = array($_SESSION['language']); - // TinyMCE uses two-letter lang codes, with exception of Chinese - if (strpos($lang, 'zh_') === 0) { - $lang = str_replace('_', '-', $lang); + if ($pos = strpos($_SESSION['language'], '_')) { + $lang_codes[] = substr($_SESSION['language'], 0, $pos); } - else { - $lang = substr($lang, 0, 2); + + foreach ($lang_codes as $code) { + if (file_exists(INSTALL_PATH . 'program/js/tinymce/langs/'.$code.'.js')) { + $lang = $code; + break; + } } - if (!file_exists(INSTALL_PATH . 'program/js/tiny_mce/langs/'.$lang.'.js')) { + if (empty($lang)) { $lang = 'en'; } - $script = json_encode(array( + $config = array( 'mode' => $mode, 'lang' => $lang, 'skin_path' => $this->output->get_skin_path(), 'spellcheck' => intval($this->config->get('enable_spellcheck')), 'spelldict' => intval($this->config->get('spellcheck_dictionary')) - )); + ); - $this->output->include_script('tiny_mce/tiny_mce.js'); + $this->output->add_label('selectimage', 'addimage', 'selectmedia', 'addmedia'); + $this->output->set_env('editor_config', $config); + $this->output->include_css('program/js/tinymce/roundcube/browser.css'); + $this->output->include_script('tinymce/tinymce.min.js'); $this->output->include_script('editor.js'); - $this->output->add_script("rcmail_editor_init($script)", 'docready'); } /** @@ -1825,8 +1835,8 @@ class rcmail extends rcube ); foreach ($emoticons as $idx => $file) { - // <img title="Cry" src="http://.../program/js/tiny_mce/plugins/emotions/img/smiley-cry.gif" border="0" alt="Cry" /> - $search[] = '/<img title="[a-z ]+" src="https?:\/\/[a-z0-9_.\/-]+\/tiny_mce\/plugins\/emotions\/img\/'.$file.'.gif"[^>]+\/>/i'; + // <img title="Cry" src="http://.../program/js/tinymce/plugins/emoticons/img/smiley-cry.gif" border="0" alt="Cry" /> + $search[] = '/<img title="[a-z ]+" src="https?:\/\/[a-z0-9_.\/-]+\/tinymce\/plugins\/emoticons\/img\/'.$file.'.gif"[^>]+\/>/i'; $replace[] = $idx; } |