GO.backupmanager.MainPanel=function(a){if(!a){a={}}this.formPanel=new Ext.form.FormPanel({url:GO.settings.modules.backupmanager.url+"json.php",baseParams:{task:"get_settings"},waitMsgTarget:true,border:false,bodyStyle:"padding:10px",anchor:"50% 50%",defaults:{anchor:"50%"},defaultType:"textfield",autoHeight:true,labelWidth:150,items:[{border:false,xtype:"panel",bodyStyle:"font-size: 12px;padding-bottom:10px",html:GO.backupmanager.lang.helpText},{fieldLabel:GO.backupmanager.lang.rmachine,name:"rmachine",allowBlank:false},{fieldLabel:GO.backupmanager.lang.rport,name:"rport",allowBlank:false,maskRe:/([0-9\s]+)$/},{fieldLabel:GO.backupmanager.lang.rtarget,name:"rtarget",allowBlank:false},{fieldLabel:GO.backupmanager.lang.sources,name:"sources",allowBlank:false},{fieldLabel:GO.lang.strUsername,name:"ruser",allowBlank:false},{fieldLabel:GO.backupmanager.lang.emailaddresses,name:"emailaddress",allowBlank:false},{fieldLabel:GO.backupmanager.lang.emailsubject,name:"emailsubject",allowBlank:false},{fieldLabel:GO.backupmanager.lang.rotations,name:"rotations",allowBlank:false,maskRe:/([0-9\s]+)$/}],buttons:[{text:GO.lang.cmdSave,handler:function(){this.submitForm()},scope:this},this.publishButton=new Ext.Button({text:GO.lang.waitMsgLoad,disabled:true,handler:function(){this.submitForm();if(this.publishButton.text==GO.backupmanager.lang.enablebackup){if(!this.publishDialog){this.publishDialog=new GO.backupmanager.PublishDialog();this.publishDialog.on("publish",function(){this.publishButton.setText(GO.backupmanager.lang.disablebackup)},this)}var b=this.formPanel.getForm().getValues();this.publishDialog.show(b)}else{Ext.Ajax.request({url:GO.settings.modules.backupmanager.url+"action.php",params:{task:"disable_running",running:false},callback:function(d,e,c){str=c.responseText;this.publishButton.setText(GO.backupmanager.lang.enablebackup);Ext.MessageBox.alert(GO.backupmanager.lang.disablebackup,GO.backupmanager.lang.successdisabledbackup)},scope:this})}},scope:this})],buttonAlign:"left"});a.layout="fit";a.anchor="50% 50%";a.items=[this.formPanel];GO.backupmanager.MainPanel.superclass.constructor.call(this,a)};Ext.extend(GO.backupmanager.MainPanel,Ext.Panel,{afterRender:function(){this.show();GO.backupmanager.MainPanel.superclass.afterRender.call(this)},onShow:function(){this.loadForm();GO.backupmanager.MainPanel.superclass.onShow.call(this)},loadForm:function(){this.formPanel.form.load({url:GO.settings.modules.backupmanager.url+"json.php",success:function(a,b){if(b.result.enable_publish){this.publishButton.enable()}if(b.result.data.running==1){this.publishButton.setText(GO.backupmanager.lang.disablebackup)}else{this.publishButton.setText(GO.backupmanager.lang.enablebackup)}},failure:function(a,b){},scope:this})},submitForm:function(){this.formPanel.form.submit({url:GO.settings.modules.backupmanager.url+"action.php",params:{task:"save_settings"},waitMsg:GO.lang.waitMsgSave,success:function(a,b){this.publishButton.enable()},failure:function(b,c){var a=(c.failureType=="client")?GO.lang.strErrorsInForm:c.result.feedback;this.publishButton.disable();Ext.MessageBox.alert(GO.lang.strError,a)},scope:this})}});GO.moduleManager.addModule("backupmanager",GO.backupmanager.MainPanel,{title:GO.backupmanager.lang.backupmanager,admin:true,iconCls:"go-tab-icon-backupmanager"});GO.backupmanager.PublishDialog=function(b){if(!b){b={}}this.buildForm();var a=function(){this.items.items[0].focus()};b.layout="fit";b.title=GO.backupmanager.lang.publishkey;b.modal=true;b.border=false;b.width=400;b.autoHeight=true;b.resizable=false;b.plain=true;b.shadow=false,b.closeAction="hide";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.backupmanager.PublishDialog.superclass.constructor.call(this,b);this.addEvents({save:true})};Ext.extend(GO.backupmanager.PublishDialog,Ext.Window,{show:function(a){if(!this.rendered){this.render(Ext.getBody())}this.formPanel.getForm().reset();this.formPanel.getForm().setValues(a);this.formPanel.baseParams.rmachine=a.rmachine;this.formPanel.baseParams.rport=a.rport;this.formPanel.baseParams.ruser=a.ruser;this.formPanel.baseParams.rtarget=a.rtarget;GO.backupmanager.PublishDialog.superclass.show.call(this)},submitForm:function(a){this.formPanel.form.submit({url:GO.settings.modules.backupmanager.url+"action.php",params:{task:"scp_key"},waitMsg:GO.lang.waitMsgSave,success:function(b,c){if(a){this.hide()}this.fireEvent("publish");Ext.MessageBox.alert(GO.lang.strSuccess,GO.backupmanager.lang.publishSuccess)},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.formPanel=new Ext.form.FormPanel({cls:"go-form-panel",anchor:"100% 100%",bodyStyle:"padding:5px",waitMsgTarget:true,autoHeight:true,url:GO.settings.modules.backupmanager.url+"action.php",border:false,baseParams:{task:"type"},defaults:{anchor:"95%"},defaultType:"textfield",labelWidth:100,items:[{fieldLabel:GO.backupmanager.lang.rmachine,name:"rmachine",allowBlank:false,disabled:true},{fieldLabel:GO.backupmanager.lang.rport,name:"rport",allowBlank:false,disabled:true},{fieldLabel:GO.lang.strUsername,name:"ruser",allowBlank:false,disabled:true},{fieldLabel:GO.backupmanager.lang.rpassword,name:"rpassword",allowBlank:false,inputType:"password"}]})}});