alecpl
2011-06-03 e9a9f2f6c52e41f3e85fc3ab0ee93afecd080892
program/js/app.js
@@ -326,11 +326,12 @@
          }
        }
        if ((this.env.action == 'add' || this.env.action == 'edit') && this.gui_objects.editform) {
        if (this.gui_objects.editform) {
          this.enable_command('save', true);
          if (this.env.action == 'add' || this.env.action == 'edit')
          this.init_contact_form();
        }
        else if (this.gui_objects.qsearchbox) {
        if (this.gui_objects.qsearchbox) {
          this.enable_command('search', 'reset-search', 'moveto', true);
          $(this.gui_objects.qsearchbox).select();
        }
@@ -338,7 +339,7 @@
        if (this.contact_list && this.contact_list.rowcount > 0)
          this.enable_command('export', true);
        this.enable_command('list', 'listgroup', true);
        this.enable_command('list', 'listgroup', 'advanced-search', true);
        break;
@@ -625,27 +626,29 @@
        break;
      case 'save':
        if (this.gui_objects.editform) {
          var input_pagesize = $("input[name='_pagesize']");
          var input_name  = $("input[name='_name']");
          var input_email = $("input[name='_email']");
        var input, form = this.gui_objects.editform;
        if (form) {
          // adv. search
          if (this.env.action == 'search') {
          }
          // user prefs
          if (input_pagesize.length && isNaN(parseInt(input_pagesize.val()))) {
          else if ((input = $("input[name='_pagesize']", form)) && input.length && isNaN(parseInt(input.val()))) {
            alert(this.get_label('nopagesizewarning'));
            input_pagesize.focus();
            input.focus();
            break;
          }
          // contacts/identities
          else {
            if (input_name.length && input_name.val() == '') {
            if ((input = $("input[name='_name']", form)) &&input.length && input.val() == '') {
              alert(this.get_label('nonamewarning'));
              input_name.focus();
              input.focus();
              break;
            }
            else if (this.task == 'settings' && input_email.length && (this.env.identities_level % 2) == 0 && !rcube_check_email(input_email.val())) {
            else if (this.task == 'settings' && (this.env.identities_level % 2) == 0  &&
              (input = $("input[name='_email']", form)) && input.length&& !rcube_check_email(input.val())
            ) {
              alert(this.get_label('noemailwarning'));
              input_email.focus();
              input.focus();
              break;
            }
@@ -653,7 +656,7 @@
            $('input.placeholder').each(function(){ if (this.value == this._placeholder) this.value = ''; });
          }
          this.gui_objects.editform.submit();
          form.submit();
        }
        break;
@@ -3348,8 +3351,7 @@
        if (mods)
          mods = mods[mbox] ? mods[mbox] : mods['*'];
      } else if (this.contact_list) {
        this.contact_list.clear(true);
        this.show_contentframe(false);
        this.list_contacts_clear();
      }
      if (mods) {
@@ -3715,9 +3717,7 @@
  this.list_contacts_remote = function(src, group, page)
  {
    // clear message list first
    this.contact_list.clear(true);
    this.show_contentframe(false);
    this.enable_command('delete', 'compose', false);
    this.list_contacts_clear();
    // send request to server
    var url = (src ? '_source='+urlencode(src) : '') + (page ? (src?'&':'') + '_page='+page : ''),
@@ -3734,6 +3734,13 @@
      url += '&_search='+this.env.search_request;
    this.http_request('list', url, lock);
  };
  this.list_contacts_clear = function()
  {
    this.contact_list.clear(true);
    this.show_contentframe(false);
    this.enable_command('delete', 'compose', false);
  };
  // load contact record
@@ -4213,6 +4220,26 @@
    this.enable_command('delete-photo', this.env.coltypes.photo && id != '-del-');
  };
  // load advanced search page
  this.advanced_search = function()
  {
    var add_url = '&_form=1', target = window;
    if (this.env.contentframe && window.frames && window.frames[this.env.contentframe]) {
      add_url += '&_framed=1';
      target = window.frames[this.env.contentframe];
      this.contact_list.clear_selection();
    }
    else if (framed)
      return false;
    this.location_href(this.env.comm_path+'&_action=search'+add_url
      +'&_source='+urlencode(this.env.source)
      +(this.env.group ? '&_gid='+urlencode(this.env.group) : ''), target);
    return true;
  };
  /*********************************************************/
  /*********        user settings methods          *********/