diff options
Diffstat (limited to 'program')
-rw-r--r-- | program/include/rcmail_output_html.php | 10 | ||||
-rw-r--r-- | program/js/app.js | 2 | ||||
-rw-r--r-- | program/js/treelist.js | 4 | ||||
-rw-r--r-- | program/lib/Roundcube/rcube_utils.php | 5 | ||||
-rw-r--r-- | program/steps/mail/func.inc | 8 |
5 files changed, 13 insertions, 16 deletions
diff --git a/program/include/rcmail_output_html.php b/program/include/rcmail_output_html.php index a84824648..0f2a0a6d5 100644 --- a/program/include/rcmail_output_html.php +++ b/program/include/rcmail_output_html.php @@ -927,17 +927,17 @@ EOF; $attrib['name'] = $this->eval_expression($attrib['expression']); if ($attrib['name'] || $attrib['command']) { - // @FIXME: 'noshow' is useless, remove? - if ($attrib['noshow']) { - return ''; - } - $vars = $attrib + array('product' => $this->config->get('product_name')); unset($vars['name'], $vars['command']); $label = $this->app->gettext($attrib + array('vars' => $vars)); $quoting = !empty($attrib['quoting']) ? strtolower($attrib['quoting']) : (rcube_utils::get_boolean((string)$attrib['html']) ? 'no' : ''); + // 'noshow' can be used in skins to define new labels + if ($attrib['noshow']) { + return ''; + } + switch ($quoting) { case 'no': case 'raw': diff --git a/program/js/app.js b/program/js/app.js index 3ace0b0b0..2018cfbc4 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -2482,7 +2482,7 @@ function rcube_webmail() // expand all threads with unread children this.expand_unread = function() { - var r, tbody = this.gui_objects.messagelist.tBodies[0], + var r, tbody = this.message_list.tbody, new_row = tbody.firstChild; while (new_row) { diff --git a/program/js/treelist.js b/program/js/treelist.js index bb847d1e3..c034f77b8 100644 --- a/program/js/treelist.js +++ b/program/js/treelist.js @@ -458,6 +458,10 @@ function rcube_treelist_widget(node, p) node.deleted = true; delete indexbyid[id]; + if (search_active) { + id2dom(id, false).remove(); + } + return true; } diff --git a/program/lib/Roundcube/rcube_utils.php b/program/lib/Roundcube/rcube_utils.php index 330322f10..a51247eae 100644 --- a/program/lib/Roundcube/rcube_utils.php +++ b/program/lib/Roundcube/rcube_utils.php @@ -103,13 +103,14 @@ class rcube_utils } foreach ($domain_array as $part) { - if (!preg_match('/^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]))$/', $part)) { + if (!preg_match('/^((xn--)?([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]))$/', $part)) { return false; } } // last domain part - if (preg_match('/[^a-zA-Z]/', array_pop($domain_array))) { + $last_part = array_pop($domain_array); + if (strpos($last_part, 'xn--') !== 0 && preg_match('/[^a-zA-Z]/', $last_part)) { return false; } diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 25f2e3175..cbeeb05fb 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -652,14 +652,6 @@ function rcmail_messagecontent_frame($attrib) if (empty($attrib['id'])) $attrib['id'] = 'rcmailcontentwindow'; - $attrib['name'] = $attrib['id']; - - if ($RCMAIL->config->get('preview_pane')) { - $OUTPUT->set_env('contentframe', $attrib['id']); - } - - $OUTPUT->set_env('blankpage', $attrib['src'] ? $OUTPUT->abs_url($attrib['src']) : 'program/resources/blank.gif'); - return $OUTPUT->frame($attrib, true); } |