diff --git a/mail/js/app.js b/mail/js/app.js index a7dfab2ee0..37ba69cb22 100644 --- a/mail/js/app.js +++ b/mail/js/app.js @@ -4407,8 +4407,9 @@ app.classes.mail = AppJS.extend( { if (typeof mailvelope == 'undefined') { - this.egw.message(this.egw.lang('You need to install Mailvelope plugin available for Chrome and Firefox and enable it for your domain.')+ - "\n"+this.egw.lang('Download from %1','mailvelope.com'), 'info'); + this.egw.message(this.egw.lang('You need to install Mailvelope plugin available for Chrome and Firefox from %1.','mailvelope.com')+"\n"+ + this.egw.lang('Add your domain as "%1" in options to list of email providers and enable API.', + '*.'+this._mailvelopeDomain()), 'info'); return; } var mimeType = this.et2.getWidgetById('mimeType'); diff --git a/phpgwapi/js/jsapi/app_base.js b/phpgwapi/js/jsapi/app_base.js index 9f2d662f80..dd5c814011 100644 --- a/phpgwapi/js/jsapi/app_base.js +++ b/phpgwapi/js/jsapi/app_base.js @@ -858,13 +858,37 @@ var AppJS = Class.extend( var callback = _callback; var self = this; - mailvelope.getKeyring('mailvelope').then(function(_keyring) + mailvelope.getKeyring('egroupware').then(function(_keyring) { callback.call(self, _keyring); }, function(_err) { - self.egw.message(_err.message, 'error'); + mailvelope.createKeyring('egroupware').then(function(_keyring) + { + self.egw.message(self.egw.lang('Keyring "%1" created.', self._mailvelopeDomain()+' (egroupware)')+"\n\n"+ + self.egw.lang('Please click on lock icon in lower right corner to create or import a key:')+"\n"+ + self.egw.lang("Go to Key Management and create a new key-pair or import your existing one.")+"\n\n"+ + self.egw.lang("You will NOT be able to send or receive encrypted mails before completing that step!"), 'info'); + + callback.call(self, _keyring); + }, + function(_err) + { + self.egw.message(_err.message, 'error'); + }); }); + }, + + /** + * Mailvelope uses Domain without first part: eg. "stylite.de" for "egw.stylite.de" + * + * @returns {string} + */ + _mailvelopeDomain: function() + { + var parts = document.location.hostname.split('.'); + if (parts.length > 1) parts.shift(); + return parts.join('.'); } });