Thomas Bruederli
2012-10-16 464a0fba9d8376962fa216b4fd9e023a3182f7fa
Display connection errors in UI. Stack error messages in popup (Larry skin)
2 files modified
20 ■■■■ changed files
program/steps/mail/func.inc 3 ●●●●● patch | view | raw | blame | history
skins/larry/ui.js 17 ●●●● patch | view | raw | blame | history
program/steps/mail/func.inc
@@ -68,6 +68,9 @@
// set main env variables, labels and page title
if (empty($RCMAIL->action) || $RCMAIL->action == 'list') {
  // connect to storage server and trigger error on failure
  $RCMAIL->storage_connect();
  $mbox_name = $RCMAIL->storage->get_folder();
  if (empty($RCMAIL->action)) {
skins/larry/ui.js
@@ -288,14 +288,21 @@
  {
    // show a popup dialog on errors
    if (p.type == 'error' && rcmail.env.task != 'login') {
      if (me.message_timer) {
        window.clearTimeout(me.message_timer);
      }
      if (!me.messagedialog) {
        me.messagedialog = $('<div>').addClass('popupdialog');
        me.messagedialog = $('<div>').addClass('popupdialog').hide();
      }
      var pos = $(p.object).offset();
      var msg = p.message,
        pos = $(p.object).offset();
      pos.top -= (rcmail.env.task == 'login' ? 20 : 160);
      me.messagedialog.dialog('close');
      me.messagedialog.html(p.message)
      if (me.messagedialog.is(':visible'))
        msg = me.messagedialog.html() + '<p>' + p.message + '</p>';
      me.messagedialog.html(msg)
        .dialog({
          resizable: false,
          closeOnEscape: true,
@@ -310,7 +317,7 @@
          minHeight: 90
        }).show();
      window.setTimeout(function(){ me.messagedialog.dialog('close'); }, Math.max(2000, p.timeout / 2));
      me.message_timer = window.setTimeout(function(){ me.messagedialog.dialog('close'); }, Math.max(2000, p.timeout / 2));
    }
  }