Aleksander Machniak
2013-03-08 527e7d45092a1efb9f72664210a591be0a6b2c2d
Fix javascript errors when working in a page opened with taget="_blank"
3 files modified
24 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/js/app.js 20 ●●●● patch | view | raw | blame | history
skins/larry/ui.js 3 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix javascript errors when working in a page opened with taget="_blank"
- Mention SQLite database format change in UPGRADING file (#1488983)
- Increase maxlength to 254 chars for email input fields in addressbook (#1488987)
- Fix thumbnail size when GD extension is used for image resize (#1488985)
program/js/app.js
@@ -3038,10 +3038,10 @@
      input_message = $("[name='_message']").get(0),
      html_mode = $("input[name='_is_html']").val() == '1',
      ac_fields = ['cc', 'bcc', 'replyto', 'followupto'],
      ac_props;
      ac_props, opener_rc = this.opener();
    // close compose step in opener
    if (window.opener && !window.opener.closed && opener.rcmail && opener.rcmail.env.action == 'compose') {
    if (opener_rc && opener_rc.env.action == 'compose') {
      setTimeout(function(){ opener.history.back(); }, 100);
      this.env.opened_extwin = true;
    }
@@ -3720,9 +3720,10 @@
    this.display_message(msg, type);
    if (this.env.extwin) {
      var opener_rc = this.opener();
      this.lock_form(this.gui_objects.messageform);
      if (window.opener && !window.opener.closed && opener.rcmail)
        opener.rcmail.display_message(msg, type);
      if (opener_rc)
        opener_rc.display_message(msg, type);
      setTimeout(function(){ window.close() }, 1000);
    }
    else {
@@ -6601,6 +6602,17 @@
  /*********            helper methods            *********/
  /********************************************************/
  // get window.opener.rcmail if available
  this.opener = function()
  {
    // catch Error: Permission denied to access property rcmail
    try {
      if (window.opener && !opener.closed && opener.rcmail)
        return opener.rcmail;
    }
    catch (e) {}
  };
  // check if we're in show mode or if we have a unique selection
  // and return the message uid
  this.get_single_uid = function()
skins/larry/ui.js
@@ -117,7 +117,8 @@
        }).css('cursor', 'pointer');
        // toggle compose options if opened in new window and they were visible before
        if (window.opener && opener.rcmail && opener.rcmail.env.action == 'compose' && $('#composeoptionstoggle', opener.document).hasClass('remove'))
        var opener_rc = rcmail.opener();
        if (opener_rc && opener_rc.env.action == 'compose' && $('#composeoptionstoggle', opener.document).hasClass('remove'))
          $('#composeoptionstoggle').click();
        new rcube_splitter({ id:'composesplitterv', p1:'#composeview-left', p2:'#composeview-right',