GO.postfixadmin.AliasesGrid=function(a){if(!a){a={}}a.title=GO.postfixadmin.lang.aliases;a.layout="fit";a.autoScroll=true;a.split=true;a.store=new GO.data.JsonStore({url:GO.settings.modules.postfixadmin.url+"json.php",baseParams:{task:"aliases"},root:"results",id:"id",totalProperty:"total",fields:["id","address","goto","ctime","mtime","active"],remoteSort:true});a.disabled=true;a.paging=true;var b=new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[{header:GO.postfixadmin.lang.address,dataIndex:"address"},{header:GO.postfixadmin.lang.goto_address,dataIndex:"goto"},{header:GO.lang.strCtime,dataIndex:"ctime"},{header:GO.lang.strMtime,dataIndex:"mtime"},{header:GO.postfixadmin.lang.active,dataIndex:"active"}]});b.defaultSortable=true;a.cm=b;a.view=new Ext.grid.GridView({autoFill:true,forceFit:true,emptyText:GO.lang.strNoItems});a.sm=new Ext.grid.RowSelectionModel();a.loadMask=true;this.aliasDialog=new GO.postfixadmin.AliasDialog();this.aliasDialog.on("save",function(){this.store.reload()},this);a.tbar=[{iconCls:"btn-add",text:GO.lang.cmdAdd,cls:"x-btn-text-icon",handler:function(){this.aliasDialog.show()},scope:this},{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.deleteSelected()},scope:this}];GO.postfixadmin.AliasesGrid.superclass.constructor.call(this,a);this.on("rowdblclick",function(d,e){var c=d.getStore().getAt(e);this.aliasDialog.show(c.data.id)},this)};Ext.extend(GO.postfixadmin.AliasesGrid,GO.grid.GridPanel,{onShow:function(){this.store.load();GO.postfixadmin.AliasesGrid.superclass.onShow.call(this)},setDomainId:function(a){this.store.baseParams.domain_id=a;this.store.loaded=false;this.aliasDialog.formPanel.baseParams.domain_id=a;this.setDisabled(a<1)}});GO.postfixadmin.AliasDialog=function(b){if(!b){b={}}this.buildForm();var a=function(){this.propertiesPanel.items.items[0].focus()};b.maximizable=true;b.layout="fit";b.modal=false;b.resizable=false;b.width=700;b.height=500;b.closeAction="hide";b.title=GO.postfixadmin.lang.alias;b.items=this.formPanel;b.focus=a.createDelegate(this);b.buttons=[{text:GO.lang.cmdOk,handler:function(){this.submitForm(true)},scope:this},{text:GO.lang.cmdApply,handler:function(){this.submitForm()},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.postfixadmin.AliasDialog.superclass.constructor.call(this,b);this.addEvents({save:true})};Ext.extend(GO.postfixadmin.AliasDialog,Ext.Window,{show:function(b,a){if(!this.rendered){this.render(Ext.getBody())}this.tabPanel.setActiveTab(0);if(!b){b=0}this.setAliasId(b);if(this.alias_id>0){this.formPanel.load({url:GO.settings.modules.postfixadmin.url+"json.php",success:function(c,d){GO.postfixadmin.AliasDialog.superclass.show.call(this)},failure:function(c,d){Ext.Msg.alert(GO.lang.strError,d.result.feedback)},scope:this})}else{this.formPanel.form.reset();GO.postfixadmin.AliasDialog.superclass.show.call(this)}},setAliasId:function(a){this.formPanel.form.baseParams.alias_id=a;this.alias_id=a},submitForm:function(a){this.formPanel.form.submit({url:GO.settings.modules.postfixadmin.url+"action.php",params:{task:"save_alias"},waitMsg:GO.lang.waitMsgSave,success:function(b,c){this.fireEvent("save",this);if(a){this.hide()}else{if(c.result.alias_id){this.setAliasId(c.result.alias_id)}}},failure:function(b,c){if(c.failureType=="client"){Ext.MessageBox.alert(GO.lang.strError,GO.lang.strErrorsInForm)}else{Ext.MessageBox.alert(GO.lang.strError,c.result.feedback)}},scope:this})},buildForm:function(){this.propertiesPanel=new Ext.Panel({title:GO.lang.strProperties,cls:"go-form-panel",waitMsgTarget:true,layout:"form",autoScroll:true,items:[{xtype:"textfield",name:"address",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.address},{xtype:"textarea",name:"goto",anchor:"-20",allowBlank:true,fieldLabel:GO.postfixadmin.lang.goto_address},{xtype:"checkbox",name:"active",anchor:"-20",allowBlank:false,boxLabel:GO.postfixadmin.lang.active,hideLabel:true}]});var a=[this.propertiesPanel];this.tabPanel=new Ext.TabPanel({activeTab:0,deferredRender:false,border:false,items:a,anchor:"100% 100%"});this.formPanel=new Ext.form.FormPanel({waitMsgTarget:true,url:GO.settings.modules.postfixadmin.url+"action.php",border:false,baseParams:{task:"alias"},items:this.tabPanel})}});GO.postfixadmin.DomainsGrid=function(a){if(!a){a={}}a.layout="fit";a.autoScroll=true;a.split=true;a.store=new GO.data.JsonStore({url:GO.settings.modules.postfixadmin.url+"json.php",baseParams:{task:"domains"},root:"results",id:"id",totalProperty:"total",fields:["id","user_name","domain","description","aliases","mailboxes","maxquota","quota","usage","transport","backupmx","ctime","mtime","active","acl_id"],remoteSort:true});a.paging=true;var b=new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[{header:GO.postfixadmin.lang.domain,dataIndex:"domain"},{header:GO.lang.strOwner,dataIndex:"user_name",sortable:false},{header:GO.lang.strDescription,dataIndex:"description"},{header:GO.postfixadmin.lang.aliases,dataIndex:"aliases"},{header:GO.postfixadmin.lang.mailboxes,dataIndex:"mailboxes"},{header:GO.postfixadmin.lang.quota,dataIndex:"quota"},{header:GO.postfixadmin.lang.usage,dataIndex:"usage"},{header:GO.postfixadmin.lang.active,dataIndex:"active"},{header:GO.postfixadmin.lang.backupmx,dataIndex:"backupmx"},{header:GO.lang.strCtime,dataIndex:"ctime"},{header:GO.lang.strMtime,dataIndex:"mtime"}]});a.cm=b;a.view=new Ext.grid.GridView({autoFill:true,forceFit:true,emptyText:GO.lang.strNoItems});a.sm=new Ext.grid.RowSelectionModel();a.loadMask=true;GO.postfixadmin.domainDialog=this.domainDialog=new GO.postfixadmin.DomainDialog();this.domainDialog.on("save",function(){this.store.reload()},this);this.searchField=new GO.form.SearchField({store:a.store,width:320});if(GO.settings.modules.postfixadmin.write_permission){a.tbar=new Ext.Toolbar({cls:"go-head-tb",items:[{iconCls:"btn-add",text:GO.lang.cmdAdd,cls:"x-btn-text-icon",handler:function(){this.domainDialog.show()},scope:this},{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.deleteSelected()},scope:this},GO.lang.strSearch+": "," ",this.searchField]})}GO.postfixadmin.DomainsGrid.superclass.constructor.call(this,a);this.on("rowdblclick",function(d,e){var c=d.getStore().getAt(e);this.domainDialog.show(c.data.id)},this)};Ext.extend(GO.postfixadmin.DomainsGrid,GO.grid.GridPanel,{afterRender:function(){this.store.load();GO.postfixadmin.DomainsGrid.superclass.afterRender.call(this)}});GO.postfixadmin.DomainDialog=function(b){if(!b){b={}}this.buildForm();var a=function(){if(this.propertiesPanel){this.formPanel.form.findField("domain").focus()}};b.maximizable=true;b.layout="fit";b.modal=false;b.resizable=false;b.width=700;b.height=500;b.closeAction="hide";b.title=GO.postfixadmin.lang.domain;b.items=this.formPanel;b.focus=a.createDelegate(this);b.buttons=[];if(GO.settings.modules.postfixadmin.write_permission){b.buttons.push({text:GO.lang.cmdOk,handler:function(){this.submitForm(true)},scope:this},{text:GO.lang.cmdApply,handler:function(){this.submitForm()},scope:this})}b.buttons.push({text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this});GO.postfixadmin.DomainDialog.superclass.constructor.call(this,b);this.addEvents({save:true})};Ext.extend(GO.postfixadmin.DomainDialog,Ext.Window,{show:function(a,b){if(!this.rendered){this.render(Ext.getBody())}this.tabPanel.setActiveTab(0);if(!a){a=0}this.setDomainId(a);if(this.domain_id>0){this.formPanel.load({url:GO.settings.modules.postfixadmin.url+"json.php",success:function(c,d){if(GO.settings.modules.postfixadmin.write_permission){this.readPermissionsTab.setAcl(d.result.data.acl_id)}else{this.mailboxesGrid.store.load()}GO.postfixadmin.defaultQuota=d.result.data.quota;GO.postfixadmin.domain=d.result.data.domain;this.setBackupMX(d.result.data.backupmx=="1");if(this.selectUser){this.selectUser.setRemoteText(d.result.data.user_name)}this.updateTitle(d.result.data.domain);GO.postfixadmin.DomainDialog.superclass.show.call(this)},failure:function(c,d){Ext.Msg.alert(GO.lang.strError,d.result.feedback)},scope:this})}else{this.formPanel.form.reset();this.updateTitle();this.readPermissionsTab.setAcl(0);GO.postfixadmin.DomainDialog.superclass.show.call(this)}},updateTitle:function(a){if(GO.util.empty(a)){a=GO.postfixadmin.lang.domain}this.setTitle(a)},setDomainId:function(a){this.formPanel.form.baseParams.domain_id=a;this.domain_id=a;if(GO.settings.modules.postfixadmin.write_permission){this.formPanel.form.findField("domain").setDisabled(a>0)}this.mailboxesGrid.setDomainId(a);this.aliasesGrid.setDomainId(a)},submitForm:function(a){this.formPanel.form.submit({url:GO.settings.modules.postfixadmin.url+"action.php",params:{task:"save_domain"},waitMsg:GO.lang.waitMsgSave,success:function(b,c){this.fireEvent("save",this);if(a){this.hide()}else{if(c.result.domain_id){this.setDomainId(c.result.domain_id);this.mailboxesGrid.setDisabled(this.formPanel.form.findField("backupmx").getValue());this.aliasesGrid.setDisabled(this.formPanel.form.findField("backupmx").getValue());this.readPermissionsTab.setAcl(c.result.acl_id)}}GO.postfixadmin.defaultQuota=this.formPanel.form.findField("quota").getValue();var e=this.formPanel.form.findField("domain");this.updateTitle(e.getValue());GO.postfixadmin.domain=e.getValue()},failure:function(b,c){if(c.failureType=="client"){Ext.MessageBox.alert(GO.lang.strError,GO.lang.strErrorsInForm)}else{Ext.MessageBox.alert(GO.lang.strError,c.result.feedback)}},scope:this})},setBackupMX:function(a){this.mailboxesGrid.setDisabled(a||!this.domain_id);this.aliasesGrid.setDisabled(a||!this.domain_id);if(GO.settings.modules.postfixadmin.write_permission){var b=this.formPanel.form;b.findField("aliases").setDisabled(a);b.findField("mailboxes").setDisabled(a);b.findField("maxquota").setDisabled(a);b.findField("quota").setDisabled(a)}},buildForm:function(){var a=[];if(GO.settings.modules.postfixadmin.write_permission){this.propertiesPanel=new Ext.Panel({title:GO.lang.strProperties,cls:"go-form-panel",waitMsgTarget:true,layout:"form",autoScroll:true,items:[this.selectUser=new GO.form.SelectUser({fieldLabel:GO.lang.strUser,disabled:!GO.settings.modules.postfixadmin["write_permission"],value:GO.settings.user_id,anchor:"-20"}),{xtype:"textfield",name:"domain",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.domain},{xtype:"textfield",name:"description",anchor:"-20",fieldLabel:GO.lang.strDescription},new GO.form.NumberField({decimals:"0",disabled:!GO.settings.modules.postfixadmin.write_permission,name:"aliases",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.aliases,value:"0"}),new GO.form.NumberField({decimals:"0",disabled:!GO.settings.modules.postfixadmin.write_permission,name:"mailboxes",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.mailboxes,value:"0"}),this.maxQuotaField=new GO.form.NumberField({decimals:"0",disabled:!GO.settings.modules.postfixadmin.write_permission,name:"maxquota",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.maxquota,value:"0"}),this.quotaField=new GO.form.NumberField({decimals:"0",name:"quota",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.defaultQuota,value:"0"}),{xtype:"checkbox",name:"active",anchor:"-20",allowBlank:false,boxLabel:GO.postfixadmin.lang.active,hideLabel:true,checked:true},{xtype:"checkbox",name:"backupmx",anchor:"-20",allowBlank:false,boxLabel:GO.postfixadmin.lang.backupmx,hideLabel:true,listeners:{check:function(b,c){this.setBackupMX(c)},scope:this}}]});a.push(this.propertiesPanel)}this.mailboxesGrid=new GO.postfixadmin.MailboxesGrid();a.push(this.mailboxesGrid);this.aliasesGrid=new GO.postfixadmin.AliasesGrid();a.push(this.aliasesGrid);if(GO.settings.modules.postfixadmin.write_permission){this.readPermissionsTab=new GO.grid.PermissionsPanel();a.push(this.readPermissionsTab)}this.tabPanel=new Ext.TabPanel({activeTab:0,deferredRender:false,border:false,items:a,anchor:"100% 100%"});this.formPanel=new Ext.form.FormPanel({waitMsgTarget:true,url:GO.settings.modules.postfixadmin.url+"action.php",border:false,baseParams:{task:"domain"},items:this.tabPanel})}});GO.postfixadmin.FetchmailConfigsGrid=function(a){if(!a){a={}}a.title=GO.postfixadmin.lang.fetchmailConfigs;a.layout="fit";a.autoScroll=true;a.split=true;a.store=new GO.data.JsonStore({url:GO.settings.modules.postfixadmin.url+"json.php",baseParams:{task:"fetchmail_configs"},root:"results",id:"id",totalProperty:"total",fields:["id","mailbox","src_server","src_auth","src_user","src_password","src_folder","poll_time","fetchall","keep","protocol","extra_options","returned_text","mda","date"],remoteSort:true});a.paging=true;var b=new Ext.grid.ColumnModel([{header:GO.postfixadmin.lang.mailbox,dataIndex:"mailbox"},{header:GO.postfixadmin.lang.srcServer,dataIndex:"src_server"},{header:GO.postfixadmin.lang.srcAuth,dataIndex:"src_auth"},{header:GO.postfixadmin.lang.srcUser,dataIndex:"src_user"},{header:GO.postfixadmin.lang.srcPassword,dataIndex:"src_password"},{header:GO.postfixadmin.lang.srcFolder,dataIndex:"src_folder"},{header:GO.postfixadmin.lang.pollTime,dataIndex:"poll_time"},{header:GO.postfixadmin.lang.fetchall,dataIndex:"fetchall"},{header:GO.postfixadmin.lang.keep,dataIndex:"keep"},{header:GO.postfixadmin.lang.protocol,dataIndex:"protocol"},{header:GO.postfixadmin.lang.extraOptions,dataIndex:"extra_options"},{header:GO.postfixadmin.lang.returnedText,dataIndex:"returned_text"},{header:GO.postfixadmin.lang.mda,dataIndex:"mda"},{header:GO.postfixadmin.lang.date,dataIndex:"date"}]);b.defaultSortable=true;a.cm=b;a.view=new Ext.grid.GridView({autoFill:true,forceFit:true,emptyText:GO.lang.strNoItems});a.sm=new Ext.grid.RowSelectionModel();a.loadMask=true;this.fetchmailConfigDialog=new GO.postfixadmin.FetchmailConfigDialog();this.fetchmailConfigDialog.on("save",function(){this.store.reload()},this);a.tbar=[{iconCls:"btn-add",text:GO.lang.cmdAdd,cls:"x-btn-text-icon",handler:function(){this.fetchmailConfigDialog.show()},scope:this},{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.deleteSelected()},scope:this}];GO.postfixadmin.FetchmailConfigsGrid.superclass.constructor.call(this,a);this.on("rowdblclick",function(d,e){var c=d.getStore().getAt(e);this.fetchmailConfigDialog.show(c.data.id)},this)};Ext.extend(GO.postfixadmin.FetchmailConfigsGrid,GO.grid.GridPanel,{});GO.postfixadmin.FetchmailConfigDialog=function(b){if(!b){b={}}this.buildForm();var a=function(){this.propertiesPanel.items.items[0].focus()};b.maximizable=true;b.layout="fit";b.modal=false;b.resizable=false;b.width=700;b.height=500;b.closeAction="hide";b.title=GO.postfixadmin.lang.fetchmailConfig;b.items=this.formPanel;b.focus=a.createDelegate(this);b.buttons=[{text:GO.lang.cmdOk,handler:function(){this.submitForm(true)},scope:this},{text:GO.lang.cmdApply,handler:function(){this.submitForm()},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.postfixadmin.FetchmailConfigDialog.superclass.constructor.call(this,b);this.addEvents({save:true})};Ext.extend(GO.postfixadmin.FetchmailConfigDialog,Ext.Window,{show:function(b,a){if(!this.rendered){this.render(Ext.getBody())}this.tabPanel.setActiveTab(0);if(!b){b=0}this.setFetchmailConfigId(b);if(this.fetchmail_config_id>0){this.formPanel.load({url:GO.settings.modules.postfixadmin.url+"json.php",success:function(c,d){GO.postfixadmin.FetchmailConfigDialog.superclass.show.call(this)},failure:function(c,d){Ext.Msg.alert(GO.lang.strError,d.result.feedback)},scope:this})}else{this.formPanel.form.reset();GO.postfixadmin.FetchmailConfigDialog.superclass.show.call(this)}},setFetchmailConfigId:function(a){this.formPanel.form.baseParams.fetchmail_config_id=a;this.fetchmail_config_id=a},submitForm:function(a){this.formPanel.form.submit({url:GO.settings.modules.postfixadmin.url+"action.php",params:{task:"save_fetchmail_config"},waitMsg:GO.lang.waitMsgSave,success:function(b,c){this.fireEvent("save",this);if(a){this.hide()}else{if(c.result.fetchmail_config_id){this.setFetchmailConfigId(c.result.fetchmail_config_id)}}},failure:function(b,c){if(c.failureType=="client"){Ext.MessageBox.alert(GO.lang.strError,GO.lang.strErrorsInForm)}else{Ext.MessageBox.alert(GO.lang.strError,c.result.feedback)}},scope:this})},buildForm:function(){this.propertiesPanel=new Ext.Panel({title:GO.lang.strProperties,cls:"go-form-panel",waitMsgTarget:true,layout:"form",autoScroll:true,items:[{xtype:"textfield",name:"mailbox",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.mailbox},{xtype:"textfield",name:"src_server",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.srcServer},{xtype:"textfield",name:"src_auth",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.srcAuth},{xtype:"textfield",name:"src_user",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.srcUser},{xtype:"textfield",name:"src_password",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.srcPassword},{xtype:"textfield",name:"src_folder",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.srcFolder},{xtype:"textfield",name:"poll_time",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.pollTime},{xtype:"textfield",name:"fetchall",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.fetchall},{xtype:"textfield",name:"keep",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.keep},{xtype:"textfield",name:"protocol",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.protocol},{xtype:"textarea",name:"extra_options",anchor:"-20",allowBlank:true,fieldLabel:GO.postfixadmin.lang.extraOptions},{xtype:"textarea",name:"returned_text",anchor:"-20",allowBlank:true,fieldLabel:GO.postfixadmin.lang.returnedText},{xtype:"textfield",name:"mda",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.mda},{xtype:"textfield",name:"date",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.date}]});var a=[this.propertiesPanel];this.tabPanel=new Ext.TabPanel({activeTab:0,deferredRender:false,border:false,items:a,anchor:"100% 100%"});this.formPanel=new Ext.form.FormPanel({waitMsgTarget:true,url:GO.settings.modules.postfixadmin.url+"action.php",border:false,baseParams:{task:"fetchmail_config"},items:this.tabPanel})}});GO.postfixadmin.MailboxesGrid=function(a){if(!a){a={}}a.title=GO.postfixadmin.lang.mailboxes;a.layout="fit";a.autoScroll=true;a.split=true;a.store=new GO.data.JsonStore({url:GO.settings.modules.postfixadmin.url+"json.php",baseParams:{task:"mailboxes"},root:"results",id:"id",totalProperty:"total",fields:["id","username","name","quota","usage","ctime","mtime","active"],remoteSort:true});a.disabled=true;a.paging=true;var b=new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[{header:GO.postfixadmin.lang.username,dataIndex:"username"},{header:GO.lang.strName,dataIndex:"name"},{header:GO.postfixadmin.lang.quota,dataIndex:"quota"},{header:GO.postfixadmin.lang.usage,dataIndex:"usage"},{header:GO.lang.strCtime,dataIndex:"ctime"},{header:GO.lang.strMtime,dataIndex:"mtime"},{header:GO.postfixadmin.lang.active,dataIndex:"active"}]});a.cm=b;a.view=new Ext.grid.GridView({autoFill:true,forceFit:true,emptyText:GO.lang.strNoItems});a.sm=new Ext.grid.RowSelectionModel();a.loadMask=true;this.mailboxDialog=new GO.postfixadmin.MailboxDialog();this.mailboxDialog.on("save",function(){this.store.reload()},this);a.tbar=[{iconCls:"btn-add",text:GO.lang.cmdAdd,cls:"x-btn-text-icon",handler:function(){this.mailboxDialog.show()},scope:this},{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.deleteSelected()},scope:this}];a.listeners={show:function(){if(!this.store.loaded&&this.store.baseParams.domain_id>0){this.store.load()}},scope:this};GO.postfixadmin.MailboxesGrid.superclass.constructor.call(this,a);this.on("rowdblclick",function(d,e){var c=d.getStore().getAt(e);this.mailboxDialog.show(c.data.id)},this)};Ext.extend(GO.postfixadmin.MailboxesGrid,GO.grid.GridPanel,{setDomainId:function(a){this.store.baseParams.domain_id=a;this.store.loaded=false;this.mailboxDialog.formPanel.baseParams.domain_id=a;this.setDisabled(a<1)}});GO.postfixadmin.MailboxDialog=function(b){if(!b){b={}}this.buildForm();var a=function(){this.formPanel.form.findField("username").focus()};b.maximizable=true;b.layout="fit";b.modal=false;b.resizable=false;b.width=700;b.height=500;b.closeAction="hide";b.title=GO.postfixadmin.lang.mailbox;b.items=this.formPanel;b.focus=a.createDelegate(this);b.buttons=[{text:GO.lang.cmdOk,handler:function(){this.submitForm(true)},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.postfixadmin.MailboxDialog.superclass.constructor.call(this,b);this.addEvents({save:true})};Ext.extend(GO.postfixadmin.MailboxDialog,Ext.Window,{show:function(b,a){if(!this.rendered){this.render(Ext.getBody())}this.tabPanel.setActiveTab(0);if(!b){b=0}this.setMailboxId(b);if(this.mailbox_id>0){this.formPanel.load({url:GO.settings.modules.postfixadmin.url+"json.php",success:function(c,d){GO.postfixadmin.MailboxDialog.superclass.show.call(this)},failure:function(c,d){Ext.Msg.alert(GO.lang.strError,d.result.feedback)},scope:this})}else{this.formPanel.form.reset();this.formPanel.form.findField("quota").setValue(GO.postfixadmin.defaultQuota);this.formPanel.form.findField("domain").setValue("@"+GO.postfixadmin.domain);GO.postfixadmin.MailboxDialog.superclass.show.call(this)}},setMailboxId:function(a){this.formPanel.form.baseParams.mailbox_id=a;this.mailbox_id=a;this.formPanel.form.findField("username").setDisabled(a>0);this.formPanel.form.findField("password1").allowBlank=a>0;this.formPanel.form.findField("password2").allowBlank=a>0},submitForm:function(a){this.formPanel.form.submit({url:GO.settings.modules.postfixadmin.url+"action.php",params:{task:"save_mailbox"},waitMsg:GO.lang.waitMsgSave,success:function(b,c){this.fireEvent("save",this);if(a){this.hide()}else{if(c.result.mailbox_id){this.setMailboxId(c.result.mailbox_id)}}},failure:function(b,c){if(c.failureType=="client"){Ext.MessageBox.alert(GO.lang.strError,GO.lang.strErrorsInForm)}else{Ext.MessageBox.alert(GO.lang.strError,c.result.feedback)}},scope:this})},buildForm:function(){this.propertiesPanel=new Ext.Panel({title:GO.lang.strProperties,cls:"go-form-panel",waitMsgTarget:true,layout:"form",autoScroll:true,labelWidth:150,items:[{xtype:"compositefield",anchor:"-20",fieldLabel:GO.postfixadmin.lang.username,items:[{xtype:"textfield",name:"username",flex:1,allowBlank:false},{flex:1,xtype:"plainfield",name:"domain",value:"@domain.com"}]},{xtype:"textfield",inputType:"password",name:"password1",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.password},{xtype:"textfield",inputType:"password",name:"password2",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.confirmPassword},{xtype:"textfield",name:"name",anchor:"-20",fieldLabel:GO.lang.strName},new GO.form.NumberField({decimals:"0",name:"quota",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.quota,value:0}),{xtype:"checkbox",name:"active",anchor:"-20",allowBlank:false,boxLabel:GO.postfixadmin.lang.active,hideLabel:true,checked:true}]});var a=[this.propertiesPanel];this.vacationPanel=new Ext.Panel({title:GO.postfixadmin.lang.vacation,cls:"go-form-panel",waitMsgTarget:true,layout:"form",autoScroll:true,items:[{xtype:"checkbox",name:"vacation_active",anchor:"-20",boxLabel:GO.postfixadmin.lang.vacationActive,hideLabel:true},{xtype:"textfield",name:"vacation_subject",anchor:"-20",fieldLabel:GO.postfixadmin.lang.subject},{xtype:"textarea",name:"vacation_body",anchor:"-20",fieldLabel:GO.postfixadmin.lang.body}]});a.push(this.vacationPanel);this.tabPanel=new Ext.TabPanel({activeTab:0,deferredRender:false,border:false,items:a,anchor:"100% 100%"});this.formPanel=new Ext.form.FormPanel({waitMsgTarget:true,url:GO.settings.modules.postfixadmin.url+"action.php",border:false,baseParams:{task:"mailbox"},items:this.tabPanel})}});GO.postfixadmin.VacationConfigsGrid=function(a){if(!a){a={}}a.title=GO.postfixadmin.lang.vacationConfigs;a.layout="fit";a.autoScroll=true;a.split=true;a.store=new GO.data.JsonStore({url:GO.settings.modules.postfixadmin.url+"json.php",baseParams:{task:"vacation_configs"},root:"results",id:"id",totalProperty:"total",fields:["email","subject","body","cache","domain","ctime","active"],remoteSort:true});a.paging=true;var b=new Ext.grid.ColumnModel([{header:GO.postfixadmin.lang.email,dataIndex:"email"},{header:GO.postfixadmin.lang.subject,dataIndex:"subject"},{header:GO.postfixadmin.lang.body,dataIndex:"body"},{header:GO.postfixadmin.lang.cache,dataIndex:"cache"},{header:GO.postfixadmin.lang.domain,dataIndex:"domain"},{header:GO.lang.strCtime,dataIndex:"ctime"},{header:GO.postfixadmin.lang.active,dataIndex:"active"}]);b.defaultSortable=true;a.cm=b;a.view=new Ext.grid.GridView({autoFill:true,forceFit:true,emptyText:GO.lang.strNoItems});a.sm=new Ext.grid.RowSelectionModel();a.loadMask=true;this.vacationConfigDialog=new GO.postfixadmin.VacationConfigDialog();this.vacationConfigDialog.on("save",function(){this.store.reload()},this);a.tbar=[{iconCls:"btn-add",text:GO.lang.cmdAdd,cls:"x-btn-text-icon",handler:function(){this.vacationConfigDialog.show()},scope:this},{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.deleteSelected()},scope:this}];GO.postfixadmin.VacationConfigsGrid.superclass.constructor.call(this,a);this.on("rowdblclick",function(d,e){var c=d.getStore().getAt(e);this.vacationConfigDialog.show(c.data.id)},this)};Ext.extend(GO.postfixadmin.VacationConfigsGrid,GO.grid.GridPanel,{});GO.postfixadmin.VacationConfigDialog=function(b){if(!b){b={}}this.buildForm();var a=function(){this.propertiesPanel.items.items[0].focus()};b.maximizable=true;b.layout="fit";b.modal=false;b.resizable=false;b.width=700;b.height=500;b.closeAction="hide";b.title=GO.postfixadmin.lang.vacationConfig;b.items=this.formPanel;b.focus=a.createDelegate(this);b.buttons=[{text:GO.lang.cmdOk,handler:function(){this.submitForm(true)},scope:this},{text:GO.lang.cmdApply,handler:function(){this.submitForm()},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.postfixadmin.VacationConfigDialog.superclass.constructor.call(this,b);this.addEvents({save:true})};Ext.extend(GO.postfixadmin.VacationConfigDialog,Ext.Window,{show:function(a,b){if(!this.rendered){this.render(Ext.getBody())}this.tabPanel.setActiveTab(0);if(!a){a=0}this.setVacationConfigId(a);if(this.vacation_config_id>0){this.formPanel.load({url:GO.settings.modules.postfixadmin.url+"json.php",success:function(c,d){GO.postfixadmin.VacationConfigDialog.superclass.show.call(this)},failure:function(c,d){Ext.Msg.alert(GO.lang.strError,d.result.feedback)},scope:this})}else{this.formPanel.form.reset();GO.postfixadmin.VacationConfigDialog.superclass.show.call(this)}},setVacationConfigId:function(a){this.formPanel.form.baseParams.vacation_config_id=a;this.vacation_config_id=a},submitForm:function(a){this.formPanel.form.submit({url:GO.settings.modules.postfixadmin.url+"action.php",params:{task:"save_vacation_config"},waitMsg:GO.lang.waitMsgSave,success:function(b,c){this.fireEvent("save",this);if(a){this.hide()}else{if(c.result.vacation_config_id){this.setVacationConfigId(c.result.vacation_config_id)}}},failure:function(b,c){if(c.failureType=="client"){Ext.MessageBox.alert(GO.lang.strError,GO.lang.strErrorsInForm)}else{Ext.MessageBox.alert(GO.lang.strError,c.result.feedback)}},scope:this})},buildForm:function(){this.propertiesPanel=new Ext.Panel({title:GO.lang.strProperties,cls:"go-form-panel",waitMsgTarget:true,layout:"form",autoScroll:true,items:[{xtype:"textfield",name:"email",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.email},{xtype:"textfield",name:"subject",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.subject},{xtype:"textarea",name:"body",anchor:"-20",allowBlank:true,fieldLabel:GO.postfixadmin.lang.body},{xtype:"textarea",name:"cache",anchor:"-20",allowBlank:true,fieldLabel:GO.postfixadmin.lang.cache},{xtype:"textfield",name:"domain",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.domain},{xtype:"textfield",name:"active",anchor:"-20",allowBlank:false,fieldLabel:GO.postfixadmin.lang.active}]});var a=[this.propertiesPanel];this.tabPanel=new Ext.TabPanel({activeTab:0,deferredRender:false,border:false,items:a,anchor:"100% 100%"});this.formPanel=new Ext.form.FormPanel({waitMsgTarget:true,url:GO.settings.modules.postfixadmin.url+"action.php",border:false,baseParams:{task:"vacation_config"},items:this.tabPanel})}});GO.moduleManager.addModule("postfixadmin",GO.postfixadmin.DomainsGrid,{title:GO.postfixadmin.lang.postfixadmin,iconCls:"go-tab-icon-postfixadmin"});