GO.gnupg.KeysGrid=function(a){if(!a){a={}}a.layout="fit";a.autoScroll=true;a.split=true;a.store=new GO.data.JsonStore({url:GO.settings.modules.gnupg.url+"json.php",baseParams:{task:"keys"},root:"results",id:"fingerprint",totalProperty:"total",fields:["fingerprint","id","uid","type"]});var b=new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[{header:"id",dataIndex:"id"},{header:"uid",dataIndex:"uid"},{header:"type",dataIndex:"type"}]});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;a.tbar=[{iconCls:"btn-add",text:GO.gnupg.lang.genKey,cls:"x-btn-text-icon",handler:function(){if(!this.genKeyDialog){this.genKeyDialog=new GO.gnupg.GenKeyDialog();this.genKeyDialog.on("save",function(){this.store.reload()},this)}this.genKeyDialog.show()},scope:this},{iconCls:"btn-add",text:GO.lang.cmdImport,cls:"x-btn-text-icon",handler:function(){if(!this.importKeyDialog){this.importKeyDialog=new GO.gnupg.ImportKeyDialog();this.importKeyDialog.on("save",function(){this.store.reload()},this)}this.importKeyDialog.show()},scope:this},{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.deleteSelected()},scope:this},{iconCls:"btn-export",text:GO.lang.cmdExport,cls:"x-btn-text-icon",handler:function(){var c=this.getSelectionModel().getSelected();if(!c){alert(GO.lang.noItemSelected)}else{document.location=GO.settings.modules.gnupg.url+"export.php?fingerprint="+c.get("fingerprint")}},scope:this},{iconCls:"btn-email",text:GO.gnupg.lang.sendPublicKey,cls:"x-btn-text-icon",handler:function(){var c=this.getSelectionModel().getSelected();if(!c){alert(GO.lang.noItemSelected)}else{GO.email.showComposer({loadUrl:GO.settings.modules.gnupg.url+"json.php",loadParams:{task:"send_key",fingerprint:c.get("fingerprint")}})}},scope:this},{iconCls:"btn-refresh",text:GO.lang.cmdRefresh,cls:"x-btn-text-icon",handler:function(){this.store.load()},scope:this}];GO.gnupg.KeysGrid.superclass.constructor.call(this,a)};Ext.extend(GO.gnupg.KeysGrid,GO.grid.GridPanel,{});GO.gnupg.SecurityDialog=function(a){if(!a){a={}}this.keysGrid=new GO.gnupg.KeysGrid();a.maximizable=true;a.layout="fit";a.modal=false;a.resizable=true;a.width=700;a.height=400;a.closeAction="hide";a.title=GO.gnupg.lang.encryptionSettings;a.items=this.keysGrid;a.buttons=[{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.gnupg.SecurityDialog.superclass.constructor.call(this,a)};Ext.extend(GO.gnupg.SecurityDialog,Ext.Window,{show:function(){this.keysGrid.store.load();GO.gnupg.SecurityDialog.superclass.show.call(this)}});GO.gnupg.GenKeyDialog=function(b){if(!b){b={}}var c,a;this.formPanel=new Ext.FormPanel({cls:"go-form-panel",defaults:{anchor:"100%"},waitMsgTarget:true,autoHeight:true,items:[this.accountCombo=new Ext.form.ComboBox({store:new GO.data.JsonStore({url:BaseHref+"modules/email/json.php",baseParams:{task:"accounts",personal_only:true},fields:["id","email","signature"],root:"results",totalProperty:"total",id:"id"}),fieldLabel:GO.email.lang.from,name:"account_name",displayField:"email",valueField:"id",hiddenName:"account_id",forceSelection:true,triggerAction:"all",mode:"local"}),{id:"gen-key-pass",xtype:"textfield",inputType:"password",name:"passphrase",fieldLabel:GO.lang.strPassword,allowBlank:false},{xtype:"textfield",inputType:"password",fieldLabel:GO.lang.strConfirm,name:"passphrase2",allowBlank:false,vtype:"password",initialPassField:"gen-key-pass"},{xtype:"textfield",fieldLabel:GO.gnupg.lang.comment,name:"comment",allowBlank:false}]});this.formPanel.form.timeout=300;b.maximizable=true;b.layout="fit";b.modal=false;b.resizable=true;b.width=400;b.autoHeight=true;b.closeAction="hide";b.title=GO.gnupg.lang.genKey;b.items=this.formPanel;b.buttons=[{text:GO.lang.cmdOk,handler:function(){this.submitForm()},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.gnupg.GenKeyDialog.superclass.constructor.call(this,b);this.addEvents({save:true})};Ext.extend(GO.gnupg.GenKeyDialog,Ext.Window,{show:function(){this.accountCombo.store.load();this.formPanel.form.reset();GO.gnupg.GenKeyDialog.superclass.show.call(this)},submitForm:function(){var a=Ext.Ajax.timeout;this.formPanel.form.submit({url:GO.settings.modules.gnupg.url+"action.php",params:{task:"gen_key"},waitMsg:GO.lang.waitMsgSave,success:function(b,c){this.fireEvent("save",this);this.hide();Ext.MessageBox.alert(GO.gnupg.lang.generateKeyStarted,GO.gnupg.lang.generateKeyStartedText)},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})}});GO.gnupg.ImportKeyDialog=function(a){if(!a){a={}}this.formPanel=new Ext.FormPanel({fileUpload:true,cls:"go-form-panel",defaults:{anchor:"100%"},waitMsgTarget:true,autoHeight:true,items:[new GO.form.UploadFile({inputName:"keys",addText:GO.gnupg.lang.selectKeyFile})]});a.maximizable=true;a.layout="fit";a.modal=false;a.resizable=false;a.width=400;a.autoHeight=true;a.closeAction="hide";a.title=GO.gnupg.lang.genKey;a.items=this.formPanel;a.buttons=[{text:GO.lang.cmdOk,handler:function(){this.submitForm()},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.gnupg.ImportKeyDialog.superclass.constructor.call(this,a);this.addEvents({save:true})};Ext.extend(GO.gnupg.ImportKeyDialog,Ext.Window,{submitForm:function(){this.formPanel.form.submit({url:GO.settings.modules.gnupg.url+"action.php",params:{task:"import_key"},waitMsg:GO.lang.waitMsgSave,success:function(a,b){this.fireEvent("save",this);this.hide()},failure:function(a,b){if(b.failureType=="client"){Ext.MessageBox.alert(GO.lang.strError,GO.lang.strErrorsInForm)}else{Ext.MessageBox.alert(GO.lang.strError,b.result.feedback)}},scope:this})}});GO.gnupg.SignKeyDialog=function(a){if(!a){a={}}this.formPanel=new Ext.FormPanel({cls:"go-form-panel",defaults:{anchor:"100%"},waitMsgTarget:true,autoHeight:true,baseParams:{public_key:""},items:[this.keysCombo=new Ext.form.ComboBox({store:new GO.data.JsonStore({url:GO.settings.modules.gnupg.url+"json.php",baseParams:{task:"private_keys"},root:"results",id:"fingerprint",totalProperty:"total",fields:["fingerprint","id","uid","type"]}),fieldLabel:GO.gnupg.lang.key,displayField:"uid",valueField:"fingerprint",hiddenName:"private_key",forceSelection:true,triggerAction:"all",mode:"local"}),{xtype:"textfield",inputType:"password",name:"passphrase",fieldLabel:GO.lang.strPassword}]});a.maximizable=true;a.layout="fit";a.modal=false;a.resizable=false;a.width=400;a.autoHeight=true;a.closeAction="hide";a.title=GO.gnupg.lang.signKey;a.items=this.formPanel;a.buttons=[{text:GO.lang.cmdOk,handler:function(){this.submitForm()},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.gnupg.SignKeyDialog.superclass.constructor.call(this,a);this.addEvents({save:true})};Ext.extend(GO.gnupg.SignKeyDialog,Ext.Window,{show:function(a){this.keysCombo.store.load();this.formPanel.form.reset();this.formPanel.baseParams.public_key=a;GO.gnupg.SignKeyDialog.superclass.show.call(this)},submitForm:function(){this.formPanel.form.submit({url:GO.settings.modules.gnupg.url+"action.php",params:{task:"sign_key"},waitMsg:GO.lang.waitMsgSave,success:function(a,b){this.fireEvent("save",this);this.hide()},failure:function(a,b){if(b.failureType=="client"){Ext.MessageBox.alert(GO.lang.strError,GO.lang.strErrorsInForm)}else{Ext.MessageBox.alert(GO.lang.strError,b.result.feedback)}},scope:this})}});