mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
PreRelease fixes
This commit is contained in:
parent
34a9b8cbc5
commit
42bac6aa2f
55 changed files with 578 additions and 238 deletions
|
|
@ -1378,7 +1378,16 @@
|
||||||
if ($LAB && window.crypto && window.crypto.getRandomValues && Settings.capa(Enums.Capa.OpenPGP))
|
if ($LAB && window.crypto && window.crypto.getRandomValues && Settings.capa(Enums.Capa.OpenPGP))
|
||||||
{
|
{
|
||||||
var fOpenpgpCallback = function (openpgp) {
|
var fOpenpgpCallback = function (openpgp) {
|
||||||
|
|
||||||
PgpStore.openpgp = openpgp;
|
PgpStore.openpgp = openpgp;
|
||||||
|
|
||||||
|
if (window.Worker)
|
||||||
|
{
|
||||||
|
PgpStore.openpgp.initWorker(Links.openPgpWorkerJs());
|
||||||
|
}
|
||||||
|
|
||||||
|
// PgpStore.openpgp.config.useWebCrypto = false;
|
||||||
|
|
||||||
PgpStore.openpgpKeyring = new openpgp.Keyring();
|
PgpStore.openpgpKeyring = new openpgp.Keyring();
|
||||||
PgpStore.capaOpenPGP(true);
|
PgpStore.capaOpenPGP(true);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -390,7 +390,23 @@
|
||||||
*/
|
*/
|
||||||
Links.prototype.openPgpJs = function ()
|
Links.prototype.openPgpJs = function ()
|
||||||
{
|
{
|
||||||
return this.sStaticPrefix + 'js/min/openpgp.js';
|
return this.sStaticPrefix + 'js/min/openpgp.min.js';
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return {string}
|
||||||
|
*/
|
||||||
|
Links.prototype.openPgpWorkerJs = function ()
|
||||||
|
{
|
||||||
|
return this.sStaticPrefix + 'js/min/openpgp.worker.min.js';
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return {string}
|
||||||
|
*/
|
||||||
|
Links.prototype.openPgpWorkerPath = function ()
|
||||||
|
{
|
||||||
|
return this.sStaticPrefix + 'js/min/';
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
88
dev/External/ko.js
vendored
88
dev/External/ko.js
vendored
|
|
@ -821,7 +821,7 @@
|
||||||
'parseOnBlur': true,
|
'parseOnBlur': true,
|
||||||
'allowDragAndDrop': true,
|
'allowDragAndDrop': true,
|
||||||
'focusCallback': fFocusCallback,
|
'focusCallback': fFocusCallback,
|
||||||
'inputDelimiters': [',', ';', '\n'],
|
'inputDelimiters': [',', ';', "\n"],
|
||||||
'autoCompleteSource': fAutoCompleteSource,
|
'autoCompleteSource': fAutoCompleteSource,
|
||||||
// 'elementHook': function (oEl, oItem) {
|
// 'elementHook': function (oEl, oItem) {
|
||||||
// if (oEl && oItem)
|
// if (oEl && oItem)
|
||||||
|
|
@ -832,52 +832,70 @@
|
||||||
// },
|
// },
|
||||||
'parseHook': function (aInput) {
|
'parseHook': function (aInput) {
|
||||||
|
|
||||||
var aResult = [];
|
return _.map(aInput, function (sInputValue) {
|
||||||
|
|
||||||
_.each(aInput, function (sInputValue) {
|
|
||||||
|
|
||||||
var
|
var
|
||||||
aM = null,
|
|
||||||
aValues = [],
|
|
||||||
sValue = Utils.trim(sInputValue),
|
sValue = Utils.trim(sInputValue),
|
||||||
oEmail = null
|
oEmail = null
|
||||||
;
|
;
|
||||||
|
|
||||||
if ('' !== sValue)
|
if ('' !== sValue)
|
||||||
{
|
{
|
||||||
aM = sValue.match(/[@]/g);
|
|
||||||
if (aM && 0 < aM.length)
|
|
||||||
{
|
|
||||||
sValue = sValue.replace(/[\r\n]+/g, '; ').replace(/[\s]+/g, ' ');
|
|
||||||
aValues = EmailModel.splitHelper(sValue, ';');
|
|
||||||
|
|
||||||
_.each(aValues, function (sV) {
|
|
||||||
|
|
||||||
oEmail = new EmailModel();
|
oEmail = new EmailModel();
|
||||||
oEmail.mailsoParse(sV);
|
oEmail.mailsoParse(sValue);
|
||||||
|
return [oEmail.toLine(false), oEmail];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [sValue, null];
|
||||||
|
|
||||||
if (oEmail.email)
|
|
||||||
{
|
|
||||||
aResult.push([oEmail.toLine(false), oEmail]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
aResult.push(['', null]);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
aResult.push([sInputValue, null]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
aResult.push([sInputValue, null]);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return aResult;
|
// var aResult = [];
|
||||||
|
//
|
||||||
|
// _.each(aInput, function (sInputValue) {
|
||||||
|
//
|
||||||
|
// var
|
||||||
|
// aM = null,
|
||||||
|
// aValues = [],
|
||||||
|
// sValue = Utils.trim(sInputValue),
|
||||||
|
// oEmail = null
|
||||||
|
// ;
|
||||||
|
//
|
||||||
|
// if ('' !== sValue)
|
||||||
|
// {
|
||||||
|
// aM = sValue.match(/[@]/g);
|
||||||
|
// if (aM && 0 < aM.length)
|
||||||
|
// {
|
||||||
|
// sValue = sValue.replace(/[\r\n]+/g, '; ').replace(/[\s]+/g, ' ');
|
||||||
|
// aValues = EmailModel.splitHelper(sValue, ';');
|
||||||
|
//
|
||||||
|
// _.each(aValues, function (sV) {
|
||||||
|
//
|
||||||
|
// oEmail = new EmailModel();
|
||||||
|
// oEmail.mailsoParse(sV);
|
||||||
|
//
|
||||||
|
// if (oEmail.email)
|
||||||
|
// {
|
||||||
|
// aResult.push([oEmail.toLine(false), oEmail]);
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// aResult.push(['', null]);
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// aResult.push([sInputValue, null]);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// aResult.push([sInputValue, null]);
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
// return aResult;
|
||||||
},
|
},
|
||||||
'change': _.bind(function (oEvent) {
|
'change': _.bind(function (oEvent) {
|
||||||
$oEl.data('EmailsTagsValue', oEvent.target.value);
|
$oEl.data('EmailsTagsValue', oEvent.target.value);
|
||||||
|
|
|
||||||
|
|
@ -33,10 +33,12 @@
|
||||||
this.identityForDeletion = ko.observable(null).deleteAccessHelper();
|
this.identityForDeletion = ko.observable(null).deleteAccessHelper();
|
||||||
}
|
}
|
||||||
|
|
||||||
AccountsUserSettings.prototype.scrollableOptions = function ()
|
AccountsUserSettings.prototype.scrollableOptions = function (sWrapper)
|
||||||
{
|
{
|
||||||
return {
|
return {
|
||||||
handle: '.drag-handle'
|
handle: '.drag-handle',
|
||||||
|
containment: sWrapper || 'parent',
|
||||||
|
axis: 'y'
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -110,10 +110,12 @@
|
||||||
}, this);
|
}, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
FiltersUserSettings.prototype.scrollableOptions = function ()
|
FiltersUserSettings.prototype.scrollableOptions = function (sWrapper)
|
||||||
{
|
{
|
||||||
return {
|
return {
|
||||||
handle: '.drag-handle'
|
handle: '.drag-handle',
|
||||||
|
containment: sWrapper || 'parent',
|
||||||
|
axis: 'y'
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
var
|
var
|
||||||
_ = require('_'),
|
_ = require('_'),
|
||||||
ko = require('ko'),
|
ko = require('ko'),
|
||||||
|
window = require('window'),
|
||||||
|
|
||||||
Utils = require('Common/Utils'),
|
Utils = require('Common/Utils'),
|
||||||
|
|
||||||
|
|
@ -24,6 +25,8 @@
|
||||||
this.openpgpkeysPrivate = PgpStore.openpgpkeysPrivate;
|
this.openpgpkeysPrivate = PgpStore.openpgpkeysPrivate;
|
||||||
|
|
||||||
this.openPgpKeyForDeletion = ko.observable(null).deleteAccessHelper();
|
this.openPgpKeyForDeletion = ko.observable(null).deleteAccessHelper();
|
||||||
|
|
||||||
|
this.isHttps = window.document && window.document.location ? 'https:' === window.document.location.protocol : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
OpenPgpUserSettings.prototype.addOpenPgpKey = function ()
|
OpenPgpUserSettings.prototype.addOpenPgpKey = function ()
|
||||||
|
|
|
||||||
|
|
@ -31,10 +31,12 @@
|
||||||
this.templateForDeletion = ko.observable(null).deleteAccessHelper();
|
this.templateForDeletion = ko.observable(null).deleteAccessHelper();
|
||||||
}
|
}
|
||||||
|
|
||||||
TemplatesUserSettings.prototype.scrollableOptions = function ()
|
TemplatesUserSettings.prototype.scrollableOptions = function (sWrapper)
|
||||||
{
|
{
|
||||||
return {
|
return {
|
||||||
handle: '.drag-handle'
|
handle: '.drag-handle',
|
||||||
|
containment: sWrapper || 'parent',
|
||||||
|
axis: 'y'
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.accounts-list-top-padding, .identities-list-top-padding {
|
||||||
|
display: inline-block;
|
||||||
|
height: 5px;
|
||||||
|
width: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
.account-item {
|
.account-item {
|
||||||
|
|
||||||
.e-action {
|
.e-action {
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.filters-list-top-padding {
|
||||||
|
display: inline-block;
|
||||||
|
height: 5px;
|
||||||
|
width: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
.filter-item {
|
.filter-item {
|
||||||
|
|
||||||
.e-action {
|
.e-action {
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.templates-list-top-padding {
|
||||||
|
display: inline-block;
|
||||||
|
height: 5px;
|
||||||
|
width: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
.template-item {
|
.template-item {
|
||||||
|
|
||||||
.e-action {
|
.e-action {
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,6 @@
|
||||||
var
|
var
|
||||||
self = this,
|
self = this,
|
||||||
sUserID = '',
|
sUserID = '',
|
||||||
mKeyPair = null,
|
|
||||||
oOpenpgpKeyring = PgpStore.openpgpKeyring
|
oOpenpgpKeyring = PgpStore.openpgpKeyring
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
@ -72,7 +71,7 @@
|
||||||
'passphrase': Utils.trim(self.password())
|
'passphrase': Utils.trim(self.password())
|
||||||
});
|
});
|
||||||
|
|
||||||
mPromise.then(function () {
|
mPromise.then(function (mKeyPair) {
|
||||||
|
|
||||||
self.submitRequest(false);
|
self.submitRequest(false);
|
||||||
|
|
||||||
|
|
@ -80,6 +79,7 @@
|
||||||
{
|
{
|
||||||
oOpenpgpKeyring.privateKeys.importKey(mKeyPair.privateKeyArmored);
|
oOpenpgpKeyring.privateKeys.importKey(mKeyPair.privateKeyArmored);
|
||||||
oOpenpgpKeyring.publicKeys.importKey(mKeyPair.publicKeyArmored);
|
oOpenpgpKeyring.publicKeys.importKey(mKeyPair.publicKeyArmored);
|
||||||
|
|
||||||
oOpenpgpKeyring.store();
|
oOpenpgpKeyring.store();
|
||||||
|
|
||||||
require('App/User').reloadOpenPgpKeys();
|
require('App/User').reloadOpenPgpKeys();
|
||||||
|
|
@ -89,8 +89,11 @@
|
||||||
})['catch'](function() {
|
})['catch'](function() {
|
||||||
self.submitRequest(false);
|
self.submitRequest(false);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
} catch (e) {}
|
catch (e)
|
||||||
|
{
|
||||||
|
self.submitRequest(false);
|
||||||
|
}
|
||||||
|
|
||||||
}, 100);
|
}, 100);
|
||||||
|
|
||||||
|
|
|
||||||
17
gulpfile.js
17
gulpfile.js
|
|
@ -140,11 +140,17 @@ cfg.paths.js = {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
openpgp: {
|
openpgp: {
|
||||||
name: 'openpgp.js',
|
name: 'openpgp.min.js',
|
||||||
src: [
|
src: [
|
||||||
'vendors/openpgp/openpgp-0.10.1.min.js'
|
'vendors/openpgp/openpgp-0.10.1.min.js'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
openpgpworker: {
|
||||||
|
name: 'openpgp.worker.min.js',
|
||||||
|
src: [
|
||||||
|
'vendors/openpgp/openpgp-0.10.1.worker.min.js'
|
||||||
|
]
|
||||||
|
},
|
||||||
encrypt: {
|
encrypt: {
|
||||||
name: 'bundle.js',
|
name: 'bundle.js',
|
||||||
header: '(function (window) {',
|
header: '(function (window) {',
|
||||||
|
|
@ -294,6 +300,13 @@ gulp.task('js:openpgp', function() {
|
||||||
.pipe(gulp.dest(cfg.paths.staticMinJS));
|
.pipe(gulp.dest(cfg.paths.staticMinJS));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
gulp.task('js:openpgpworker', function() {
|
||||||
|
return gulp.src(cfg.paths.js.openpgpworker.src)
|
||||||
|
.pipe(rename(cfg.paths.js.openpgpworker.name))
|
||||||
|
.pipe(eol('\n', true))
|
||||||
|
.pipe(gulp.dest(cfg.paths.staticMinJS));
|
||||||
|
});
|
||||||
|
|
||||||
gulp.task('js:libs', function() {
|
gulp.task('js:libs', function() {
|
||||||
return gulp.src(cfg.paths.js.libs.src)
|
return gulp.src(cfg.paths.js.libs.src)
|
||||||
.pipe(concat(cfg.paths.js.libs.name, {separator: '\n\n'}))
|
.pipe(concat(cfg.paths.js.libs.name, {separator: '\n\n'}))
|
||||||
|
|
@ -642,7 +655,7 @@ gulp.task('rainloop:owncloud:clean', ['rainloop:owncloud:copy', 'rainloop:ownclo
|
||||||
});
|
});
|
||||||
|
|
||||||
// MAIN
|
// MAIN
|
||||||
gulp.task('default', ['js:libs', 'js:boot', 'js:openpgp', 'js:min', 'css:main:min', 'ckeditor', 'fontastic']);
|
gulp.task('default', ['js:libs', 'js:boot', 'js:openpgp', 'js:openpgpworker', 'js:min', 'css:main:min', 'ckeditor', 'fontastic']);
|
||||||
gulp.task('fast-', ['js:app', 'js:admin', 'js:chunks', 'css:main']);
|
gulp.task('fast-', ['js:app', 'js:admin', 'js:chunks', 'css:main']);
|
||||||
|
|
||||||
gulp.task('fast', ['package:community-on', 'fast-']);
|
gulp.task('fast', ['package:community-on', 'fast-']);
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"name": "RainLoop",
|
"name": "RainLoop",
|
||||||
"title": "RainLoop Webmail",
|
"title": "RainLoop Webmail",
|
||||||
"version": "1.9.1",
|
"version": "1.9.2",
|
||||||
"release": "335",
|
"release": "342",
|
||||||
"description": "Simple, modern & fast web-based email client",
|
"description": "Simple, modern & fast web-based email client",
|
||||||
"homepage": "http://rainloop.net",
|
"homepage": "http://rainloop.net",
|
||||||
"main": "gulpfile.js",
|
"main": "gulpfile.js",
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
"plugins"
|
"plugins"
|
||||||
],
|
],
|
||||||
"readmeFilename": "README.md",
|
"readmeFilename": "README.md",
|
||||||
"ownCloudPackageVersion": "4.3",
|
"ownCloudPackageVersion": "4.4",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.10.0"
|
"node": ">= 0.10.0"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,13 @@ class DateTimeHelper
|
||||||
*/
|
*/
|
||||||
public static function ParseRFC2822DateString($sDateTime)
|
public static function ParseRFC2822DateString($sDateTime)
|
||||||
{
|
{
|
||||||
$sDateTime = \trim(\preg_replace('/ \([a-zA-Z0-9]+\)$/', '', \trim($sDateTime)));
|
$sDateTime = \trim($sDateTime);
|
||||||
|
if (empty($sDateTime))
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sDateTime = \trim(\preg_replace('/ \([a-zA-Z0-9]+\)$/', '', $sDateTime));
|
||||||
$oDateTime = \DateTime::createFromFormat('D, d M Y H:i:s O', $sDateTime, \MailSo\Base\DateTimeHelper::GetUtcTimeZoneObject());
|
$oDateTime = \DateTime::createFromFormat('D, d M Y H:i:s O', $sDateTime, \MailSo\Base\DateTimeHelper::GetUtcTimeZoneObject());
|
||||||
return $oDateTime ? $oDateTime->getTimestamp() : 0;
|
return $oDateTime ? $oDateTime->getTimestamp() : 0;
|
||||||
}
|
}
|
||||||
|
|
@ -65,7 +71,12 @@ class DateTimeHelper
|
||||||
public static function ParseInternalDateString($sDateTime)
|
public static function ParseInternalDateString($sDateTime)
|
||||||
{
|
{
|
||||||
$sDateTime = \trim($sDateTime);
|
$sDateTime = \trim($sDateTime);
|
||||||
if (\preg_match('/^[a-z]{2,4}, /i', $sDateTime)) // RFC2822
|
if (empty($sDateTime))
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (\preg_match('/^[a-z]{2,4}, /i', $sDateTime)) // RFC2822 ~ "Thu, 10 Jun 2010 08:58:33 -0700 (PDT)"
|
||||||
{
|
{
|
||||||
return \MailSo\Base\DateTimeHelper::ParseRFC2822DateString($sDateTime);
|
return \MailSo\Base\DateTimeHelper::ParseRFC2822DateString($sDateTime);
|
||||||
}
|
}
|
||||||
|
|
@ -83,7 +94,13 @@ class DateTimeHelper
|
||||||
*/
|
*/
|
||||||
public static function ParseDateStringType1($sDateTime)
|
public static function ParseDateStringType1($sDateTime)
|
||||||
{
|
{
|
||||||
$oDateTime = \DateTime::createFromFormat('Y-m-d H:i:s O', \trim($sDateTime), \MailSo\Base\DateTimeHelper::GetUtcTimeZoneObject());
|
$sDateTime = \trim($sDateTime);
|
||||||
|
if (empty($sDateTime))
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$oDateTime = \DateTime::createFromFormat('Y-m-d H:i:s O', $sDateTime, \MailSo\Base\DateTimeHelper::GetUtcTimeZoneObject());
|
||||||
return $oDateTime ? $oDateTime->getTimestamp() : 0;
|
return $oDateTime ? $oDateTime->getTimestamp() : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2368,7 +2368,8 @@ END;
|
||||||
{
|
{
|
||||||
$aMatch = array();
|
$aMatch = array();
|
||||||
return \preg_match('/.+(\.[a-zA-Z]+)$/', $sDomain, $aMatch) && !empty($aMatch[1]) && \in_array($aMatch[1], \explode(' ',
|
return \preg_match('/.+(\.[a-zA-Z]+)$/', $sDomain, $aMatch) && !empty($aMatch[1]) && \in_array($aMatch[1], \explode(' ',
|
||||||
'.aero .asia .biz .cat .com .coop .edu .gov .info .int .jobs .mil .mobi .museum .name .net .org .pro .tel .travel .xxx .ac .ad .ae .af .ag .ai .al .am .an .ao .aq .ar .as .at .au .aw .ax .az .ba .bb .bd .be .bf .bg .bh .bi .bj .bm .bn .bo .br .bs .bt .bv .bw .by .bz .ca .cc .cd .cf .cg .ch .ci .ck .cl .cm .cn .co .cr .cs .cu .cv .cx .cy .cz .dd .de .dj .dk .dm .do .dz .ec .ee .eg .er .es .et .eu .fi .fj .fk .fm .fo .fr .ga .gb .gd .ge .gf .gg .gh .gi .gl .gm .gn .gp .gq .gr .gs .gt .gu .gw .gy .hk .hm .hn .hr .ht .hu .id .ie .il .im .in .io .iq .ir .is .it .je .jm .jo .jp .ke .kg .kh .ki .km .kn .kp .kr .kw .ky .kz .la .lb .lc .li .lk .lr .ls .lt .lu .lv .ly .ma .mc .md .me .mg .mh .mk .ml .mm .mn .mo .mp .mq .mr .ms .mt .mu .mv .mw .mx .my .mz .na .nc .ne .nf .ng .ni .nl .no .np .nr .nu .nz .om .pa .pe .pf .pg .ph .pk .pl .pm .pn .pr .ps .pt .pw .py .qa .re .ro .rs .ru . .rw .sa .sb .sc .sd .se .sg .sh .si .sj .sk .sl .sm .sn .so .sr .st .su .sv .sy .sz .tc .td .tf .tg .th .tj .tk .tl .tm .tn .to .tp .tr .tt .tv .tw .tz .ua .ug .uk .us .uy .uz .va .vc .ve .vg .vi .vn .vu .wf .ws .ye .yt .za .zm .zw'
|
'.academy .actor .agency .audio .bar .beer .bike .blue .boutique .cab .camera .camp .capital .cards .careers .cash .catering .center .cheap .city .cleaning .clinic .clothing .club .coffee .community .company .computer .construction .consulting .contractors .cool .credit .dance .dating .democrat .dental .diamonds .digital .direct .directory .discount .domains .education .email .energy .equipment .estate .events .expert .exposed .fail .farm .fish .fitness .florist .fund .futbol .gallery .gift .glass .graphics .guru .help .holdings .holiday .host .hosting .house .institute .international .kitchen .land .life .lighting .limo .link .management .market .marketing .media .menu .moda .partners .parts .photo .photography .photos .pics .pink .press .productions .pub .red .rentals .repair .report .rest .sexy .shoes .social .solar .solutions .space .support .systems .tattoo .tax .technology .tips .today .tools .town .toys .trade .training .university .uno .vacations .vision .vodka .voyage .watch .webcam .wiki .work .works .wtf .zone .aero .asia .biz .cat .com .coop .edu .gov .info .int .jobs .mil .mobi .museum .name .net .org .pro .tel .travel .xxx '.
|
||||||
|
'.ac .ad .ae .af .ag .ai .al .am .an .ao .aq .ar .as .at .au .aw .ax .az .ba .bb .bd .be .bf .bg .bh .bi .bj .bm .bn .bo .br .bs .bt .bv .bw .by .bz .ca .cc .cd .cf .cg .ch .ci .ck .cl .cm .cn .co .cr .cs .cu .cv .cx .cy .cz .dd .de .dj .dk .dm .do .dz .ec .ee .eg .er .es .et .eu .fi .fj .fk .fm .fo .fr .ga .gb .gd .ge .gf .gg .gh .gi .gl .gm .gn .gp .gq .gr .gs .gt .gu .gw .gy .hk .hm .hn .hr .ht .hu .id .ie .il .im .in .io .iq .ir .is .it .je .jm .jo .jp .ke .kg .kh .ki .km .kn .kp .kr .kw .ky .kz .la .lb .lc .li .lk .lr .ls .lt .lu .lv .ly .ma .mc .md .me .mg .mh .mk .ml .mm .mn .mo .mp .mq .mr .ms .mt .mu .mv .mw .mx .my .mz .na .nc .ne .nf .ng .ni .nl .no .np .nr .nu .nz .om .pa .pe .pf .pg .ph .pk .pl .pm .pn .pr .ps .pt .pw .py .qa .re .ro .rs .ru . .rw .sa .sb .sc .sd .se .sg .sh .si .sj .sk .sl .sm .sn .so .sr .st .su .sv .sy .sz .tc .td .tf .tg .th .tj .tk .tl .tm .tn .to .tp .tr .tt .tv .tw .tz .ua .ug .uk .us .uy .uz .va .vc .ve .vg .vi .vn .vu .wf .ws .ye .yt .za .zm .zw'
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1889,7 +1889,7 @@ class ImapClient extends \MailSo\Net\NetClient
|
||||||
* @throws \MailSo\Net\Exceptions\Exception
|
* @throws \MailSo\Net\Exceptions\Exception
|
||||||
*/
|
*/
|
||||||
private function partialParseResponseBranch(&$oImapResponse, $iStackIndex = -1,
|
private function partialParseResponseBranch(&$oImapResponse, $iStackIndex = -1,
|
||||||
$bTreatAsAtom = false, $sParentToken = '')
|
$bTreatAsAtom = false, $sParentToken = '', $sOpenBracket = '')
|
||||||
{
|
{
|
||||||
$mNull = null;
|
$mNull = null;
|
||||||
|
|
||||||
|
|
@ -2020,7 +2020,7 @@ class ImapClient extends \MailSo\Net\NetClient
|
||||||
if ($bTreatAsAtom)
|
if ($bTreatAsAtom)
|
||||||
{
|
{
|
||||||
$sAtomBlock = $this->partialParseResponseBranch($mNull, $iStackIndex, true,
|
$sAtomBlock = $this->partialParseResponseBranch($mNull, $iStackIndex, true,
|
||||||
null === $sPreviousAtomUpperCase ? '' : \strtoupper($sPreviousAtomUpperCase));
|
null === $sPreviousAtomUpperCase ? '' : \strtoupper($sPreviousAtomUpperCase), $sOpenBracket);
|
||||||
|
|
||||||
$sAtomBuilder .= $sAtomBlock;
|
$sAtomBuilder .= $sAtomBlock;
|
||||||
$iPos = $this->iResponseBufParsedPos;
|
$iPos = $this->iResponseBufParsedPos;
|
||||||
|
|
@ -2035,7 +2035,7 @@ class ImapClient extends \MailSo\Net\NetClient
|
||||||
else if ($bIsGotoNotAtomBracket)
|
else if ($bIsGotoNotAtomBracket)
|
||||||
{
|
{
|
||||||
$aSubItems = $this->partialParseResponseBranch($mNull, $iStackIndex, false,
|
$aSubItems = $this->partialParseResponseBranch($mNull, $iStackIndex, false,
|
||||||
null === $sPreviousAtomUpperCase ? '' : \strtoupper($sPreviousAtomUpperCase));
|
null === $sPreviousAtomUpperCase ? '' : \strtoupper($sPreviousAtomUpperCase), $sOpenBracket);
|
||||||
|
|
||||||
$aList[] = $aSubItems;
|
$aList[] = $aSubItems;
|
||||||
$iPos = $this->iResponseBufParsedPos;
|
$iPos = $this->iResponseBufParsedPos;
|
||||||
|
|
@ -2065,27 +2065,36 @@ class ImapClient extends \MailSo\Net\NetClient
|
||||||
$sChar = $this->sResponseBuffer[$iPos];
|
$sChar = $this->sResponseBuffer[$iPos];
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($sChar)
|
switch (true)
|
||||||
{
|
{
|
||||||
case ']':
|
case ']' === $sChar:
|
||||||
case ')':
|
|
||||||
$iPos++;
|
$iPos++;
|
||||||
$sPreviousAtomUpperCase = null;
|
$sPreviousAtomUpperCase = null;
|
||||||
$bIsEndOfList = true;
|
$bIsEndOfList = true;
|
||||||
break;
|
break;
|
||||||
case ' ':
|
case ')' === $sChar:
|
||||||
|
$iPos++;
|
||||||
|
$sPreviousAtomUpperCase = null;
|
||||||
|
$bIsEndOfList = true;
|
||||||
|
break;
|
||||||
|
case ' ' === $sChar:
|
||||||
if ($bTreatAsAtom)
|
if ($bTreatAsAtom)
|
||||||
{
|
{
|
||||||
$sAtomBuilder .= ' ';
|
$sAtomBuilder .= ' ';
|
||||||
}
|
}
|
||||||
$iPos++;
|
$iPos++;
|
||||||
break;
|
break;
|
||||||
case '[':
|
case '[' === $sChar:
|
||||||
$bIsClosingBracketSquare = true;
|
$bIsClosingBracketSquare = true;
|
||||||
case '(':
|
case '(' === $sChar:
|
||||||
|
if ('(' === $sChar)
|
||||||
|
{
|
||||||
|
$bIsClosingBracketSquare = false;
|
||||||
|
}
|
||||||
|
|
||||||
if ($bTreatAsAtom)
|
if ($bTreatAsAtom)
|
||||||
{
|
{
|
||||||
$sAtomBuilder .= ($bIsClosingBracketSquare) ? '[' : '(';
|
$sAtomBuilder .= $bIsClosingBracketSquare ? '[' : '(';
|
||||||
}
|
}
|
||||||
$iPos++;
|
$iPos++;
|
||||||
|
|
||||||
|
|
@ -2093,13 +2102,15 @@ class ImapClient extends \MailSo\Net\NetClient
|
||||||
if ($bTreatAsAtom)
|
if ($bTreatAsAtom)
|
||||||
{
|
{
|
||||||
$bIsGotoAtomBracket = true;
|
$bIsGotoAtomBracket = true;
|
||||||
|
$sOpenBracket = $bIsClosingBracketSquare ? '[' : '(';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$bIsGotoNotAtomBracket = true;
|
$bIsGotoNotAtomBracket = true;
|
||||||
|
$sOpenBracket = $bIsClosingBracketSquare ? '[' : '(';
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '{':
|
case '{' === $sChar:
|
||||||
$bIsLiteralParsed = false;
|
$bIsLiteralParsed = false;
|
||||||
$mLiteralEndPos = \strpos($this->sResponseBuffer, '}', $iPos);
|
$mLiteralEndPos = \strpos($this->sResponseBuffer, '}', $iPos);
|
||||||
if (false !== $mLiteralEndPos && $mLiteralEndPos > $iPos)
|
if (false !== $mLiteralEndPos && $mLiteralEndPos > $iPos)
|
||||||
|
|
@ -2120,7 +2131,7 @@ class ImapClient extends \MailSo\Net\NetClient
|
||||||
}
|
}
|
||||||
$sPreviousAtomUpperCase = null;
|
$sPreviousAtomUpperCase = null;
|
||||||
break;
|
break;
|
||||||
case '"':
|
case '"' === $sChar:
|
||||||
$bIsQuotedParsed = false;
|
$bIsQuotedParsed = false;
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
|
|
@ -2206,7 +2217,7 @@ class ImapClient extends \MailSo\Net\NetClient
|
||||||
$sPreviousAtomUpperCase = null;
|
$sPreviousAtomUpperCase = null;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'GOTO_DEFAULT':
|
case 'GOTO_DEFAULT' === $sChar:
|
||||||
default:
|
default:
|
||||||
$iCharBlockStartPos = $iPos;
|
$iCharBlockStartPos = $iPos;
|
||||||
|
|
||||||
|
|
@ -2214,7 +2225,7 @@ class ImapClient extends \MailSo\Net\NetClient
|
||||||
{
|
{
|
||||||
$iPos = $iBufferEndIndex;
|
$iPos = $iBufferEndIndex;
|
||||||
|
|
||||||
while ($iPos > $iCharBlockStartPos && $this->sResponseBuffer[$iCharBlockStartPos] == ' ')
|
while ($iPos > $iCharBlockStartPos && $this->sResponseBuffer[$iCharBlockStartPos] === ' ')
|
||||||
{
|
{
|
||||||
$iCharBlockStartPos++;
|
$iCharBlockStartPos++;
|
||||||
}
|
}
|
||||||
|
|
@ -2224,9 +2235,9 @@ class ImapClient extends \MailSo\Net\NetClient
|
||||||
while (!$bIsAtomDone && ($iPos <= $iBufferEndIndex))
|
while (!$bIsAtomDone && ($iPos <= $iBufferEndIndex))
|
||||||
{
|
{
|
||||||
$sCharDef = $this->sResponseBuffer[$iPos];
|
$sCharDef = $this->sResponseBuffer[$iPos];
|
||||||
switch ($sCharDef)
|
switch (true)
|
||||||
{
|
{
|
||||||
case '[':
|
case '[' === $sCharDef:
|
||||||
if (null === $sAtomBuilder)
|
if (null === $sAtomBuilder)
|
||||||
{
|
{
|
||||||
$sAtomBuilder = '';
|
$sAtomBuilder = '';
|
||||||
|
|
@ -2238,7 +2249,7 @@ class ImapClient extends \MailSo\Net\NetClient
|
||||||
$this->iResponseBufParsedPos = $iPos;
|
$this->iResponseBufParsedPos = $iPos;
|
||||||
|
|
||||||
$sListBlock = $this->partialParseResponseBranch($mNull, $iStackIndex, true,
|
$sListBlock = $this->partialParseResponseBranch($mNull, $iStackIndex, true,
|
||||||
null === $sPreviousAtomUpperCase ? '' : \strtoupper($sPreviousAtomUpperCase));
|
null === $sPreviousAtomUpperCase ? '' : \strtoupper($sPreviousAtomUpperCase), '[');
|
||||||
|
|
||||||
if (null !== $sListBlock)
|
if (null !== $sListBlock)
|
||||||
{
|
{
|
||||||
|
|
@ -2248,9 +2259,9 @@ class ImapClient extends \MailSo\Net\NetClient
|
||||||
$iPos = $this->iResponseBufParsedPos;
|
$iPos = $this->iResponseBufParsedPos;
|
||||||
$iCharBlockStartPos = $iPos;
|
$iCharBlockStartPos = $iPos;
|
||||||
break;
|
break;
|
||||||
case ' ':
|
case ' ' === $sCharDef:
|
||||||
case ']':
|
case ')' === $sCharDef && '(' === $sOpenBracket:
|
||||||
case ')':
|
case ']' === $sCharDef && '[' === $sOpenBracket:
|
||||||
$bIsAtomDone = true;
|
$bIsAtomDone = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -9411,14 +9411,23 @@ class Actions
|
||||||
{
|
{
|
||||||
$oAccount = \call_user_func($fGetAccount);
|
$oAccount = \call_user_func($fGetAccount);
|
||||||
|
|
||||||
|
$iDateTimeStampInUTC = $mResponse->InternalTimeStampInUTC();
|
||||||
|
if (0 === $iDateTimeStampInUTC || !!$this->Config()->Get('labs', 'date_from_headers', false))
|
||||||
|
{
|
||||||
|
$iDateTimeStampInUTC = $mResponse->HeaderTimeStampInUTC();
|
||||||
|
if (0 === $iDateTimeStampInUTC)
|
||||||
|
{
|
||||||
|
$iDateTimeStampInUTC = $mResponse->InternalTimeStampInUTC();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$mResult = \array_merge($this->objectData($mResponse, $sParent, $aParameters), array(
|
$mResult = \array_merge($this->objectData($mResponse, $sParent, $aParameters), array(
|
||||||
'Folder' => $mResponse->Folder(),
|
'Folder' => $mResponse->Folder(),
|
||||||
'Uid' => (string) $mResponse->Uid(),
|
'Uid' => (string) $mResponse->Uid(),
|
||||||
'Subject' => \trim(\MailSo\Base\Utils::Utf8Clear($mResponse->Subject())),
|
'Subject' => \trim(\MailSo\Base\Utils::Utf8Clear($mResponse->Subject())),
|
||||||
'MessageId' => $mResponse->MessageId(),
|
'MessageId' => $mResponse->MessageId(),
|
||||||
'Size' => $mResponse->Size(),
|
'Size' => $mResponse->Size(),
|
||||||
'DateTimeStampInUTC' => !!$this->Config()->Get('labs', 'date_from_headers', false)
|
'DateTimeStampInUTC' => $iDateTimeStampInUTC,
|
||||||
? $mResponse->HeaderTimeStampInUTC() : $mResponse->InternalTimeStampInUTC(),
|
|
||||||
'ReplyTo' => $this->responseObject($mResponse->ReplyTo(), $sParent, $aParameters),
|
'ReplyTo' => $this->responseObject($mResponse->ReplyTo(), $sParent, $aParameters),
|
||||||
'From' => $this->responseObject($mResponse->From(), $sParent, $aParameters),
|
'From' => $this->responseObject($mResponse->From(), $sParent, $aParameters),
|
||||||
'To' => $this->responseObject($mResponse->To(), $sParent, $aParameters),
|
'To' => $this->responseObject($mResponse->To(), $sParent, $aParameters),
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,14 @@ class Property
|
||||||
return PropertyType::WEB_PAGE === $this->Type;
|
return PropertyType::WEB_PAGE === $this->Type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function IsValueForLower()
|
||||||
|
{
|
||||||
|
return $this->IsEmail() || $this->IsName() || $this->IsWeb();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
|
|
@ -142,7 +150,7 @@ class Property
|
||||||
}
|
}
|
||||||
|
|
||||||
// lower value for searching
|
// lower value for searching
|
||||||
if (\MailSo\Base\Utils::FunctionExistsAndEnabled('mb_strtolower'))
|
if ($this->IsValueForLower() && \MailSo\Base\Utils::FunctionExistsAndEnabled('mb_strtolower'))
|
||||||
{
|
{
|
||||||
$this->ValueLower = (string) @\mb_strtolower($this->Value, 'UTF-8');
|
$this->ValueLower = (string) @\mb_strtolower($this->Value, 'UTF-8');
|
||||||
}
|
}
|
||||||
|
|
@ -153,6 +161,7 @@ class Property
|
||||||
$sPhone = \trim($this->Value);
|
$sPhone = \trim($this->Value);
|
||||||
$sPhone = \preg_replace('/^[+]+/', '', $sPhone);
|
$sPhone = \preg_replace('/^[+]+/', '', $sPhone);
|
||||||
$sPhone = \preg_replace('/[^\d]/', '', $sPhone);
|
$sPhone = \preg_replace('/[^\d]/', '', $sPhone);
|
||||||
|
|
||||||
$this->ValueCustom = \trim($sPhone);
|
$this->ValueCustom = \trim($sPhone);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1895,6 +1895,11 @@ SQLITEINITIAL;
|
||||||
1 => $this->getInitialTablesArray($this->sDsnType),
|
1 => $this->getInitialTablesArray($this->sDsnType),
|
||||||
2 => array(
|
2 => array(
|
||||||
'ALTER TABLE rainloop_ab_properties ADD prop_value_lower varchar(255) NOT NULL DEFAULT \'\' AFTER prop_value_custom;'
|
'ALTER TABLE rainloop_ab_properties ADD prop_value_lower varchar(255) NOT NULL DEFAULT \'\' AFTER prop_value_custom;'
|
||||||
|
),
|
||||||
|
3 => array(
|
||||||
|
'ALTER TABLE rainloop_ab_properties CHANGE prop_value prop_value TEXT NOT NULL;',
|
||||||
|
'ALTER TABLE rainloop_ab_properties CHANGE prop_value_custom prop_value_custom TEXT NOT NULL;',
|
||||||
|
'ALTER TABLE rainloop_ab_properties CHANGE prop_value_lower prop_value_lower TEXT NOT NULL;'
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
break;
|
break;
|
||||||
|
|
@ -1903,7 +1908,8 @@ SQLITEINITIAL;
|
||||||
1 => $this->getInitialTablesArray($this->sDsnType),
|
1 => $this->getInitialTablesArray($this->sDsnType),
|
||||||
2 => array(
|
2 => array(
|
||||||
'ALTER TABLE rainloop_ab_properties ADD prop_value_lower text NOT NULL DEFAULT \'\';'
|
'ALTER TABLE rainloop_ab_properties ADD prop_value_lower text NOT NULL DEFAULT \'\';'
|
||||||
)
|
),
|
||||||
|
3 => array()
|
||||||
));
|
));
|
||||||
break;
|
break;
|
||||||
case 'sqlite':
|
case 'sqlite':
|
||||||
|
|
@ -1911,7 +1917,8 @@ SQLITEINITIAL;
|
||||||
1 => $this->getInitialTablesArray($this->sDsnType),
|
1 => $this->getInitialTablesArray($this->sDsnType),
|
||||||
2 => array(
|
2 => array(
|
||||||
'ALTER TABLE rainloop_ab_properties ADD prop_value_lower text NOT NULL DEFAULT \'\';'
|
'ALTER TABLE rainloop_ab_properties ADD prop_value_lower text NOT NULL DEFAULT \'\';'
|
||||||
)
|
),
|
||||||
|
3 => array()
|
||||||
));
|
));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,12 @@
|
||||||
<input type="text" size="70" autocomplete="off" data-bind="textInput: subject" />
|
<input type="text" size="70" autocomplete="off" data-bind="textInput: subject" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="e-row">
|
||||||
|
<div class="e-cell e-label">
|
||||||
|
</div>
|
||||||
|
<div class="e-cell e-value" data-bind="text: to">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="e-row">
|
<div class="e-row">
|
||||||
<div class="e-cell e-label"></div>
|
<div class="e-cell e-label"></div>
|
||||||
<div class="e-cell e-value">
|
<div class="e-cell e-value">
|
||||||
|
|
@ -174,15 +180,18 @@
|
||||||
<div class="btn-group pull-right">
|
<div class="btn-group pull-right">
|
||||||
<a class="btn first" data-tooltip-join="bottom"
|
<a class="btn first" data-tooltip-join="bottom"
|
||||||
style="padding-left: 10px; padding-right: 10px;"
|
style="padding-left: 10px; padding-right: 10px;"
|
||||||
data-bind="visible: addAttachmentEnabled(), initDom: composeUploaderButton, tooltip: 'COMPOSE/ATTACH_FILES'">
|
data-bind="visible: addAttachmentEnabled(), initDom: composeUploaderButton, tooltip: 'COMPOSE/ATTACH_FILES',
|
||||||
|
css: {'last': !(driveEnabled() && driveVisible()) && !(dropboxEnabled())}">
|
||||||
<sup style="font-weight: bold; font-size: 100%; top: -0.3em;">+</sup><i class="icon-attachment"></i>
|
<sup style="font-weight: bold; font-size: 100%; top: -0.3em;">+</sup><i class="icon-attachment"></i>
|
||||||
</a>
|
</a>
|
||||||
<a class="btn" data-tooltip-join="bottom"
|
<a class="btn" data-tooltip-join="bottom"
|
||||||
data-bind="visible: dropboxEnabled, command: dropboxCommand, tooltip: 'COMPOSE/DROPBOX', css: {'first': !addAttachmentEnabled(), 'last': !driveEnabled()}">
|
data-bind="visible: dropboxEnabled, command: dropboxCommand, tooltip: 'COMPOSE/DROPBOX',
|
||||||
|
css: {'first': !addAttachmentEnabled(), 'last': !(driveEnabled() && driveVisible())}">
|
||||||
<i class="icon-dropbox"></i>
|
<i class="icon-dropbox"></i>
|
||||||
</a>
|
</a>
|
||||||
<a class="btn last" data-tooltip-join="bottom"
|
<a class="btn last" data-tooltip-join="bottom"
|
||||||
data-bind="visible: driveEnabled() && driveVisible(), command: driveCommand, tooltip: 'COMPOSE/GOOGLE_DRIVE'">
|
data-bind="visible: driveEnabled() && driveVisible(), command: driveCommand, tooltip: 'COMPOSE/GOOGLE_DRIVE',
|
||||||
|
css: {'first': !addAttachmentEnabled() && !(driveEnabled() && driveVisible())}">
|
||||||
<i class="icon-google-drive"></i>
|
<i class="icon-google-drive"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
<div class="control-group">
|
<div class="control-group">
|
||||||
<label class="i18n control-label" data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_KEY_BIT_LENGTH"></label>
|
<label class="i18n control-label" data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_KEY_BIT_LENGTH"></label>
|
||||||
<div class="controls">
|
<div class="controls">
|
||||||
<select data-bind="value: keyBitLength, options: [1024, 2048]"></select>
|
<select data-bind="value: keyBitLength, options: [2048, 4096]"></select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -15,13 +15,15 @@
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
|
<div class="accounts-list-wrp">
|
||||||
|
<div class="accounts-list-top-padding"></div>
|
||||||
<table class="table table-hover list-table accounts-list" data-bind="i18nUpdate: accounts">
|
<table class="table table-hover list-table accounts-list" data-bind="i18nUpdate: accounts">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col />
|
<col />
|
||||||
<col style="width: 150px" />
|
<col style="width: 150px" />
|
||||||
<col style="width: 1%" />
|
<col style="width: 1%" />
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody data-bind="sortable: {data: accounts, options: scrollableOptions(), afterMove: accountsAndIdentitiesAfterMove}">
|
<tbody data-bind="sortable: {data: accounts, options: scrollableOptions('.accounts-list-wrp'), afterMove: accountsAndIdentitiesAfterMove}">
|
||||||
<tr class="account-item">
|
<tr class="account-item">
|
||||||
<td class="e-action" data-bind="css: {'e-action': canBeEdit}">
|
<td class="e-action" data-bind="css: {'e-action': canBeEdit}">
|
||||||
<span class="account-img icon-user"></span>
|
<span class="account-img icon-user"></span>
|
||||||
|
|
@ -44,6 +46,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div data-bind="visible: allowIdentities">
|
<div data-bind="visible: allowIdentities">
|
||||||
<br />
|
<br />
|
||||||
<div class="form-horizontal">
|
<div class="form-horizontal">
|
||||||
|
|
@ -59,13 +62,15 @@
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
|
<div class="identities-list-wrp">
|
||||||
|
<div class="identities-list-top-padding"></div>
|
||||||
<table class="table table-hover list-table identities-list" data-bind="i18nUpdate: identities">
|
<table class="table table-hover list-table identities-list" data-bind="i18nUpdate: identities">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col />
|
<col />
|
||||||
<col style="width: 150px" />
|
<col style="width: 150px" />
|
||||||
<col style="width: 1%" />
|
<col style="width: 1%" />
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody data-bind="sortable: {data: identities, options: scrollableOptions(), afterMove: accountsAndIdentitiesAfterMove}">
|
<tbody data-bind="sortable: {data: identities, options: scrollableOptions('.identities-list-wrp'), afterMove: accountsAndIdentitiesAfterMove}">
|
||||||
<tr class="identity-item">
|
<tr class="identity-item">
|
||||||
<td class="e-action">
|
<td class="e-action">
|
||||||
<span class="identity-img icon-user"></span>
|
<span class="identity-img icon-user"></span>
|
||||||
|
|
@ -92,4 +97,5 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -60,7 +60,9 @@
|
||||||
data-bind="value: filterRaw, valueUpdate: 'afterkeydown'"></textarea>
|
data-bind="value: filterRaw, valueUpdate: 'afterkeydown'"></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<table class="table table-hover list-table g-ui-user-select-none"
|
<div class="filters-list-wrp">
|
||||||
|
<div class="filters-list-top-padding"></div>
|
||||||
|
<table class="table table-hover list-table filters-list g-ui-user-select-none"
|
||||||
data-bind="visible: inited() && (!filterRaw.active() || !filterRaw.active()), i18nUpdate: filters">
|
data-bind="visible: inited() && (!filterRaw.active() || !filterRaw.active()), i18nUpdate: filters">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 30px" />
|
<col style="width: 30px" />
|
||||||
|
|
@ -69,7 +71,7 @@
|
||||||
<col style="width: 140px" />
|
<col style="width: 140px" />
|
||||||
<col style="width: 1%" />
|
<col style="width: 1%" />
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody data-bind="sortable: {data: filters, options: scrollableOptions()}" style="width: 600px">
|
<tbody data-bind="sortable: {data: filters, options: scrollableOptions('.filters-list-wrp')}" style="width: 600px">
|
||||||
<tr class="filter-item">
|
<tr class="filter-item">
|
||||||
<td>
|
<td>
|
||||||
<span class="disabled-filter" data-bind="click: function () { $root.haveChanges(true); enabled(!enabled()); }">
|
<span class="disabled-filter" data-bind="click: function () { $root.haveChanges(true); enabled(!enabled()); }">
|
||||||
|
|
@ -99,4 +101,6 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -4,17 +4,19 @@
|
||||||
<span class="i18n" data-i18n="SETTINGS_OPEN_PGP/LEGEND_OPEN_PGP"></span>
|
<span class="i18n" data-i18n="SETTINGS_OPEN_PGP/LEGEND_OPEN_PGP"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a class="btn" data-bind="click: addOpenPgpKey">
|
<button class="btn" data-bind="click: addOpenPgpKey">
|
||||||
<i class="icon-list-add"></i>
|
<i class="icon-list-add"></i>
|
||||||
|
|
||||||
<span class="i18n" data-i18n="SETTINGS_OPEN_PGP/BUTTON_ADD_OPEN_PGP_KEY"></span>
|
<span class="i18n" data-i18n="SETTINGS_OPEN_PGP/BUTTON_ADD_OPEN_PGP_KEY"></span>
|
||||||
</a>
|
</button>
|
||||||
<!--
|
|
||||||
<a class="btn" data-bind="click: generateOpenPgpKey">
|
<div style="display: inline-block" data-tooltip-join="left" data-bind="tooltip: isHttps ? '' : 'SETTINGS_OPEN_PGP/GENERATE_ONLY_HTTPS'">
|
||||||
|
<button class="btn" data-bind="click: generateOpenPgpKey, disable: !isHttps">
|
||||||
<i class="icon-key"></i>
|
<i class="icon-key"></i>
|
||||||
|
|
||||||
<span class="i18n" data-i18n="SETTINGS_OPEN_PGP/BUTTON_GENERATE_OPEN_PGP_KEYS"></span>
|
<span class="i18n" data-i18n="SETTINGS_OPEN_PGP/BUTTON_GENERATE_OPEN_PGP_KEYS"></span>
|
||||||
</a>-->
|
</button>
|
||||||
|
</div>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
|
|
|
||||||
|
|
@ -14,13 +14,15 @@
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
|
<div class="templates-list-wrp">
|
||||||
|
<div class="templates-list-top-padding"></div>
|
||||||
<table class="table table-hover list-table templates-list" data-bind="i18nUpdate: templates">
|
<table class="table table-hover list-table templates-list" data-bind="i18nUpdate: templates">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col />
|
<col />
|
||||||
<col style="width: 150px" />
|
<col style="width: 150px" />
|
||||||
<col style="width: 1%" />
|
<col style="width: 1%" />
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody data-bind="sortable: {data: templates, options: scrollableOptions()}">
|
<tbody data-bind="sortable: {data: templates, options: scrollableOptions('.templates-list-wrp')}">
|
||||||
<tr class="template-item">
|
<tr class="template-item">
|
||||||
<td class="e-action">
|
<td class="e-action">
|
||||||
<span class="template-img icon-user"></span>
|
<span class="template-img icon-user"></span>
|
||||||
|
|
@ -41,4 +43,6 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -70,7 +70,7 @@ Options -Indexes
|
||||||
define('APP_DATA_FOLDER_PATH_UNIX', str_replace('\\', '/', APP_DATA_FOLDER_PATH));
|
define('APP_DATA_FOLDER_PATH_UNIX', str_replace('\\', '/', APP_DATA_FOLDER_PATH));
|
||||||
|
|
||||||
$sSalt = @file_get_contents(APP_DATA_FOLDER_PATH.'SALT.php');
|
$sSalt = @file_get_contents(APP_DATA_FOLDER_PATH.'SALT.php');
|
||||||
$sData = @file_get_contents(APP_DATA_FOLDER_PATH.'DATA.php');
|
$sData = file_exists(APP_DATA_FOLDER_PATH.'DATA.php') ? @file_get_contents(APP_DATA_FOLDER_PATH.'DATA.php') : '';
|
||||||
$sInstalled = @file_get_contents(APP_DATA_FOLDER_PATH.'INSTALLED');
|
$sInstalled = @file_get_contents(APP_DATA_FOLDER_PATH.'INSTALLED');
|
||||||
|
|
||||||
// installation checking data folder
|
// installation checking data folder
|
||||||
|
|
@ -129,8 +129,6 @@ Options -Indexes
|
||||||
unset($sCheckName, $sCheckFilePath, $sCheckFolder, $sTest);
|
unset($sCheckName, $sCheckFilePath, $sCheckFolder, $sTest);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (false === $sSalt || false === $sData)
|
|
||||||
{
|
|
||||||
if (false === $sSalt)
|
if (false === $sSalt)
|
||||||
{
|
{
|
||||||
// random salt
|
// random salt
|
||||||
|
|
@ -142,16 +140,9 @@ Options -Indexes
|
||||||
@file_put_contents(APP_DATA_FOLDER_PATH.'SALT.php', $sSalt);
|
@file_put_contents(APP_DATA_FOLDER_PATH.'SALT.php', $sSalt);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (false === $sData)
|
|
||||||
{
|
|
||||||
// random data folder name
|
|
||||||
$sData = '<'.'?php //'.md5(microtime(true).rand(1000, 9999));
|
|
||||||
@file_put_contents(APP_DATA_FOLDER_PATH.'DATA.php', $sData);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
define('APP_SALT', md5($sSalt.APP_PRIVATE_DATA_NAME.$sSalt));
|
define('APP_SALT', md5($sSalt.APP_PRIVATE_DATA_NAME.$sSalt));
|
||||||
define('APP_PRIVATE_DATA', APP_DATA_FOLDER_PATH.'_data_'.md5($sData).'/'.APP_PRIVATE_DATA_NAME.'/');
|
define('APP_PRIVATE_DATA', APP_DATA_FOLDER_PATH.'_data_'.($sData ? md5($sData) : '').'/'.APP_PRIVATE_DATA_NAME.'/');
|
||||||
|
|
||||||
define('APP_PLUGINS_PATH', APP_PRIVATE_DATA.'plugins/');
|
define('APP_PLUGINS_PATH', APP_PRIVATE_DATA.'plugins/');
|
||||||
|
|
||||||
if (APP_VERSION !== $sInstalled || (APP_MULTIPLY && !@is_dir(APP_PRIVATE_DATA)))
|
if (APP_VERSION !== $sInstalled || (APP_MULTIPLY && !@is_dir(APP_PRIVATE_DATA)))
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Sign"
|
||||||
BUTTON_ENCRYPT = "Encrypt"
|
BUTTON_ENCRYPT = "Encrypt"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "Двустъпков тест за удостоверяване"
|
TITLE_TEST_CODE = "Двустъпков тест за удостоверяване"
|
||||||
LABEL_CODE = "Код"
|
LABEL_CODE = "Код"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
|
||||||
TITLE_PRIVATE = "Private"
|
TITLE_PRIVATE = "Private"
|
||||||
TITLE_PUBLIC = "Public"
|
TITLE_PUBLIC = "Public"
|
||||||
DELETING_ASK = "Are you sure?"
|
DELETING_ASK = "Are you sure?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
||||||
|
|
|
||||||
|
|
@ -319,6 +319,12 @@ BUTTON_SIGN = "Podepsat"
|
||||||
BUTTON_ENCRYPT = "Šifrovat"
|
BUTTON_ENCRYPT = "Šifrovat"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Podepsat a šifrovat"
|
BUTTON_SIGN_AND_ENCRYPT = "Podepsat a šifrovat"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "Dvoufázové ověření"
|
TITLE_TEST_CODE = "Dvoufázové ověření"
|
||||||
LABEL_CODE = "Kód"
|
LABEL_CODE = "Kód"
|
||||||
|
|
@ -600,6 +606,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generovat OpenPGP Klíče"
|
||||||
TITLE_PRIVATE = "Soukromý"
|
TITLE_PRIVATE = "Soukromý"
|
||||||
TITLE_PUBLIC = "Veřejný"
|
TITLE_PUBLIC = "Veřejný"
|
||||||
DELETING_ASK = "Opravdu to chcete?"
|
DELETING_ASK = "Opravdu to chcete?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Klávesové zkratky"
|
LEGEND_SHORTCUTS_HELP = "Klávesové zkratky"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Unterschreiben"
|
||||||
BUTTON_ENCRYPT = "Verschlüsseln"
|
BUTTON_ENCRYPT = "Verschlüsseln"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Unterschreiben und verschlüsseln"
|
BUTTON_SIGN_AND_ENCRYPT = "Unterschreiben und verschlüsseln"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "Zwei-Faktor-Authentifizierung"
|
TITLE_TEST_CODE = "Zwei-Faktor-Authentifizierung"
|
||||||
LABEL_CODE = "Code"
|
LABEL_CODE = "Code"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "OpenPGP-Schlüssel generieren"
|
||||||
TITLE_PRIVATE = "Privat"
|
TITLE_PRIVATE = "Privat"
|
||||||
TITLE_PUBLIC = "Öffentlich"
|
TITLE_PUBLIC = "Öffentlich"
|
||||||
DELETING_ASK = "Sind Sie sicher?"
|
DELETING_ASK = "Sind Sie sicher?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Tastaturkürzel-Hilfe"
|
LEGEND_SHORTCUTS_HELP = "Tastaturkürzel-Hilfe"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Sign"
|
||||||
BUTTON_ENCRYPT = "Encrypt"
|
BUTTON_ENCRYPT = "Encrypt"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-Step verification test"
|
TITLE_TEST_CODE = "2-Step verification test"
|
||||||
LABEL_CODE = "Code"
|
LABEL_CODE = "Code"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
|
||||||
TITLE_PRIVATE = "Private"
|
TITLE_PRIVATE = "Private"
|
||||||
TITLE_PUBLIC = "Public"
|
TITLE_PUBLIC = "Public"
|
||||||
DELETING_ASK = "Are you sure?"
|
DELETING_ASK = "Are you sure?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
||||||
|
|
|
||||||
|
|
@ -607,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
|
||||||
TITLE_PRIVATE = "Private"
|
TITLE_PRIVATE = "Private"
|
||||||
TITLE_PUBLIC = "Public"
|
TITLE_PUBLIC = "Public"
|
||||||
DELETING_ASK = "Are you sure?"
|
DELETING_ASK = "Are you sure?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Firmar"
|
||||||
BUTTON_ENCRYPT = "Encriptar"
|
BUTTON_ENCRYPT = "Encriptar"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Firmar and encriptar"
|
BUTTON_SIGN_AND_ENCRYPT = "Firmar and encriptar"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "Prueba de verificación de 2 pasos"
|
TITLE_TEST_CODE = "Prueba de verificación de 2 pasos"
|
||||||
LABEL_CODE = "Código"
|
LABEL_CODE = "Código"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generar llaves OpenPGP"
|
||||||
TITLE_PRIVATE = "Privado"
|
TITLE_PRIVATE = "Privado"
|
||||||
TITLE_PUBLIC = "Público"
|
TITLE_PUBLIC = "Público"
|
||||||
DELETING_ASK = "¿Está usted seguro?"
|
DELETING_ASK = "¿Está usted seguro?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Ayuda de atajos de teclado"
|
LEGEND_SHORTCUTS_HELP = "Ayuda de atajos de teclado"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Signer"
|
||||||
BUTTON_ENCRYPT = "Chiffrer"
|
BUTTON_ENCRYPT = "Chiffrer"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Signer et chiffrer"
|
BUTTON_SIGN_AND_ENCRYPT = "Signer et chiffrer"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "Test d'authentification en deux étapes"
|
TITLE_TEST_CODE = "Test d'authentification en deux étapes"
|
||||||
LABEL_CODE = "Code"
|
LABEL_CODE = "Code"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Générer les clefs OpenPGP"
|
||||||
TITLE_PRIVATE = "Privé"
|
TITLE_PRIVATE = "Privé"
|
||||||
TITLE_PUBLIC = "Public"
|
TITLE_PUBLIC = "Public"
|
||||||
DELETING_ASK = "Êtes-vous sûr ?"
|
DELETING_ASK = "Êtes-vous sûr ?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Aide pour les raccourcis clavier"
|
LEGEND_SHORTCUTS_HELP = "Aide pour les raccourcis clavier"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Aláírás"
|
||||||
BUTTON_ENCRYPT = "Titkosítás"
|
BUTTON_ENCRYPT = "Titkosítás"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Aláírás és titkosítás"
|
BUTTON_SIGN_AND_ENCRYPT = "Aláírás és titkosítás"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-lépés hitelesítés teszt"
|
TITLE_TEST_CODE = "2-lépés hitelesítés teszt"
|
||||||
LABEL_CODE = "Kód"
|
LABEL_CODE = "Kód"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "OpenPGP kulcs generálás"
|
||||||
TITLE_PRIVATE = "Private"
|
TITLE_PRIVATE = "Private"
|
||||||
TITLE_PUBLIC = "Public"
|
TITLE_PUBLIC = "Public"
|
||||||
DELETING_ASK = "Are you sure?"
|
DELETING_ASK = "Are you sure?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Sign"
|
||||||
BUTTON_ENCRYPT = "Encrypt"
|
BUTTON_ENCRYPT = "Encrypt"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-Step verification test"
|
TITLE_TEST_CODE = "2-Step verification test"
|
||||||
LABEL_CODE = "Code"
|
LABEL_CODE = "Code"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
|
||||||
TITLE_PRIVATE = "Private"
|
TITLE_PRIVATE = "Private"
|
||||||
TITLE_PUBLIC = "Public"
|
TITLE_PUBLIC = "Public"
|
||||||
DELETING_ASK = "Are you sure?"
|
DELETING_ASK = "Are you sure?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Firma"
|
||||||
BUTTON_ENCRYPT = "Cifra"
|
BUTTON_ENCRYPT = "Cifra"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Firma e cifra"
|
BUTTON_SIGN_AND_ENCRYPT = "Firma e cifra"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "Verifica a 2 fattori"
|
TITLE_TEST_CODE = "Verifica a 2 fattori"
|
||||||
LABEL_CODE = "Codice"
|
LABEL_CODE = "Codice"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Genera chiave OpenPGP"
|
||||||
TITLE_PRIVATE = "Privata"
|
TITLE_PRIVATE = "Privata"
|
||||||
TITLE_PUBLIC = "Pubblica"
|
TITLE_PUBLIC = "Pubblica"
|
||||||
DELETING_ASK = "Sei sicuro?"
|
DELETING_ASK = "Sei sicuro?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Aiuto sulle scorciatoie da tastiera"
|
LEGEND_SHORTCUTS_HELP = "Aiuto sulle scorciatoie da tastiera"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Sign"
|
||||||
BUTTON_ENCRYPT = "Encrypt"
|
BUTTON_ENCRYPT = "Encrypt"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-Step verification test"
|
TITLE_TEST_CODE = "2-Step verification test"
|
||||||
LABEL_CODE = "Code"
|
LABEL_CODE = "Code"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
|
||||||
TITLE_PRIVATE = "Private"
|
TITLE_PRIVATE = "Private"
|
||||||
TITLE_PUBLIC = "Public"
|
TITLE_PUBLIC = "Public"
|
||||||
DELETING_ASK = "Are you sure?"
|
DELETING_ASK = "Are you sure?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Sign"
|
||||||
BUTTON_ENCRYPT = "Encrypt"
|
BUTTON_ENCRYPT = "Encrypt"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-Step verification test"
|
TITLE_TEST_CODE = "2-Step verification test"
|
||||||
LABEL_CODE = "Code"
|
LABEL_CODE = "Code"
|
||||||
|
|
@ -598,6 +604,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
|
||||||
TITLE_PRIVATE = "Private"
|
TITLE_PRIVATE = "Private"
|
||||||
TITLE_PUBLIC = "Public"
|
TITLE_PUBLIC = "Public"
|
||||||
DELETING_ASK = "Are you sure?"
|
DELETING_ASK = "Are you sure?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Pasirašyti"
|
||||||
BUTTON_ENCRYPT = "Šifruoti"
|
BUTTON_ENCRYPT = "Šifruoti"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Pasirašyti ir šifruoti"
|
BUTTON_SIGN_AND_ENCRYPT = "Pasirašyti ir šifruoti"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-jų žingsnių patikrinimo bandymas"
|
TITLE_TEST_CODE = "2-jų žingsnių patikrinimo bandymas"
|
||||||
LABEL_CODE = "Kodas"
|
LABEL_CODE = "Kodas"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Sukurti OpenPGP raktus"
|
||||||
TITLE_PRIVATE = "Privatus"
|
TITLE_PRIVATE = "Privatus"
|
||||||
TITLE_PUBLIC = "Viešas"
|
TITLE_PUBLIC = "Viešas"
|
||||||
DELETING_ASK = "Jūs įsitikinę?"
|
DELETING_ASK = "Jūs įsitikinę?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Sparčiųjų klavišų pagalba"
|
LEGEND_SHORTCUTS_HELP = "Sparčiųjų klavišų pagalba"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Sign"
|
||||||
BUTTON_ENCRYPT = "Encrypt"
|
BUTTON_ENCRYPT = "Encrypt"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-Step verification test"
|
TITLE_TEST_CODE = "2-Step verification test"
|
||||||
LABEL_CODE = "Code"
|
LABEL_CODE = "Code"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
|
||||||
TITLE_PRIVATE = "Private"
|
TITLE_PRIVATE = "Private"
|
||||||
TITLE_PUBLIC = "Public"
|
TITLE_PUBLIC = "Public"
|
||||||
DELETING_ASK = "Are you sure?"
|
DELETING_ASK = "Are you sure?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Ondertekenen"
|
||||||
BUTTON_ENCRYPT = "Versleutelen"
|
BUTTON_ENCRYPT = "Versleutelen"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Ondertekenen en versleutelen"
|
BUTTON_SIGN_AND_ENCRYPT = "Ondertekenen en versleutelen"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-Stap verificatie test"
|
TITLE_TEST_CODE = "2-Stap verificatie test"
|
||||||
LABEL_CODE = "Code"
|
LABEL_CODE = "Code"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Genereer OpenPGP sleutels"
|
||||||
TITLE_PRIVATE = "Privé sleutel"
|
TITLE_PRIVATE = "Privé sleutel"
|
||||||
TITLE_PUBLIC = "Publieke sleutel"
|
TITLE_PUBLIC = "Publieke sleutel"
|
||||||
DELETING_ASK = "Weet u het zeker?"
|
DELETING_ASK = "Weet u het zeker?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Hulp bij toetsenbord sneltoetsen"
|
LEGEND_SHORTCUTS_HELP = "Hulp bij toetsenbord sneltoetsen"
|
||||||
|
|
|
||||||
|
|
@ -319,6 +319,12 @@ BUTTON_SIGN = "Signer"
|
||||||
BUTTON_ENCRYPT = "Krypter"
|
BUTTON_ENCRYPT = "Krypter"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Signer og krypter"
|
BUTTON_SIGN_AND_ENCRYPT = "Signer og krypter"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-stegs verifiseringstest"
|
TITLE_TEST_CODE = "2-stegs verifiseringstest"
|
||||||
LABEL_CODE = "Kode"
|
LABEL_CODE = "Kode"
|
||||||
|
|
@ -600,6 +606,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generer OpenPGP-nøkler"
|
||||||
TITLE_PRIVATE = "Privat"
|
TITLE_PRIVATE = "Privat"
|
||||||
TITLE_PUBLIC = "Offentlig"
|
TITLE_PUBLIC = "Offentlig"
|
||||||
DELETING_ASK = "Er du sikker?"
|
DELETING_ASK = "Er du sikker?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Tastatursnarveier"
|
LEGEND_SHORTCUTS_HELP = "Tastatursnarveier"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Podpisz"
|
||||||
BUTTON_ENCRYPT = "Szyfruj"
|
BUTTON_ENCRYPT = "Szyfruj"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Podpisz i szyfruj"
|
BUTTON_SIGN_AND_ENCRYPT = "Podpisz i szyfruj"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "Test autoryzacji dwuskładnikowej"
|
TITLE_TEST_CODE = "Test autoryzacji dwuskładnikowej"
|
||||||
LABEL_CODE = "Kod"
|
LABEL_CODE = "Kod"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generuj klucz OpenPGP"
|
||||||
TITLE_PRIVATE = "Prywatny"
|
TITLE_PRIVATE = "Prywatny"
|
||||||
TITLE_PUBLIC = "Publiczny"
|
TITLE_PUBLIC = "Publiczny"
|
||||||
DELETING_ASK = "Czy na pewno chcesz usunąć?"
|
DELETING_ASK = "Czy na pewno chcesz usunąć?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Skróty klawiaturowe"
|
LEGEND_SHORTCUTS_HELP = "Skróty klawiaturowe"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Assinar"
|
||||||
BUTTON_ENCRYPT = "Criptografar"
|
BUTTON_ENCRYPT = "Criptografar"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Assinar e criptografar"
|
BUTTON_SIGN_AND_ENCRYPT = "Assinar e criptografar"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "Testar verificação de duas etapas"
|
TITLE_TEST_CODE = "Testar verificação de duas etapas"
|
||||||
LABEL_CODE = "Código"
|
LABEL_CODE = "Código"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Gerar chave OpenPGP"
|
||||||
TITLE_PRIVATE = "Privado"
|
TITLE_PRIVATE = "Privado"
|
||||||
TITLE_PUBLIC = "Público"
|
TITLE_PUBLIC = "Público"
|
||||||
DELETING_ASK = "Você tem certeza?"
|
DELETING_ASK = "Você tem certeza?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Ajuda com os atalhos de teclado"
|
LEGEND_SHORTCUTS_HELP = "Ajuda com os atalhos de teclado"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Assinar"
|
||||||
BUTTON_ENCRYPT = "Encriptar"
|
BUTTON_ENCRYPT = "Encriptar"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Assinar e encriptar"
|
BUTTON_SIGN_AND_ENCRYPT = "Assinar e encriptar"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "Teste de verificação em 2-Etapas"
|
TITLE_TEST_CODE = "Teste de verificação em 2-Etapas"
|
||||||
LABEL_CODE = "Código"
|
LABEL_CODE = "Código"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Gerar chaves OpenPGP"
|
||||||
TITLE_PRIVATE = "Privada"
|
TITLE_PRIVATE = "Privada"
|
||||||
TITLE_PUBLIC = "Pública"
|
TITLE_PUBLIC = "Pública"
|
||||||
DELETING_ASK = "Tem a certeza?"
|
DELETING_ASK = "Tem a certeza?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Ajuda para atalhos de teclado"
|
LEGEND_SHORTCUTS_HELP = "Ajuda para atalhos de teclado"
|
||||||
|
|
|
||||||
|
|
@ -319,6 +319,12 @@ BUTTON_SIGN = "Sign"
|
||||||
BUTTON_ENCRYPT = "Encrypt"
|
BUTTON_ENCRYPT = "Encrypt"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-Step verification test"
|
TITLE_TEST_CODE = "2-Step verification test"
|
||||||
LABEL_CODE = "Code"
|
LABEL_CODE = "Code"
|
||||||
|
|
@ -600,6 +606,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
|
||||||
TITLE_PRIVATE = "Private"
|
TITLE_PRIVATE = "Private"
|
||||||
TITLE_PUBLIC = "Public"
|
TITLE_PUBLIC = "Public"
|
||||||
DELETING_ASK = "Are you sure?"
|
DELETING_ASK = "Are you sure?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Подпись"
|
||||||
BUTTON_ENCRYPT = "Шифрование"
|
BUTTON_ENCRYPT = "Шифрование"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Подпись и шифрование"
|
BUTTON_SIGN_AND_ENCRYPT = "Подпись и шифрование"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "Тест двухфакторной верификации"
|
TITLE_TEST_CODE = "Тест двухфакторной верификации"
|
||||||
LABEL_CODE = "Код"
|
LABEL_CODE = "Код"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Новый OpenPGP ключ"
|
||||||
TITLE_PRIVATE = "Приватный"
|
TITLE_PRIVATE = "Приватный"
|
||||||
TITLE_PUBLIC = "Публичный"
|
TITLE_PUBLIC = "Публичный"
|
||||||
DELETING_ASK = "Точно?"
|
DELETING_ASK = "Точно?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Сочетания клавиш"
|
LEGEND_SHORTCUTS_HELP = "Сочетания клавиш"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Sign"
|
||||||
BUTTON_ENCRYPT = "Encrypt"
|
BUTTON_ENCRYPT = "Encrypt"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-Step verification test"
|
TITLE_TEST_CODE = "2-Step verification test"
|
||||||
LABEL_CODE = "Code"
|
LABEL_CODE = "Code"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
|
||||||
TITLE_PRIVATE = "Private"
|
TITLE_PRIVATE = "Private"
|
||||||
TITLE_PUBLIC = "Public"
|
TITLE_PUBLIC = "Public"
|
||||||
DELETING_ASK = "Are you sure?"
|
DELETING_ASK = "Are you sure?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Singera"
|
||||||
BUTTON_ENCRYPT = "Kryptera"
|
BUTTON_ENCRYPT = "Kryptera"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Signera och kryptera"
|
BUTTON_SIGN_AND_ENCRYPT = "Signera och kryptera"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-Stegs verifikations test"
|
TITLE_TEST_CODE = "2-Stegs verifikations test"
|
||||||
LABEL_CODE = "Kod"
|
LABEL_CODE = "Kod"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Skapa OpenPGP nycklar"
|
||||||
TITLE_PRIVATE = "Privat"
|
TITLE_PRIVATE = "Privat"
|
||||||
TITLE_PUBLIC = "Publik"
|
TITLE_PUBLIC = "Publik"
|
||||||
DELETING_ASK = "Är du säker?"
|
DELETING_ASK = "Är du säker?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Tangentbordsgenvägar hjälp"
|
LEGEND_SHORTCUTS_HELP = "Tangentbordsgenvägar hjälp"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Giriş Yap"
|
||||||
BUTTON_ENCRYPT = "Şifrele"
|
BUTTON_ENCRYPT = "Şifrele"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Giriş Yap and şifrele"
|
BUTTON_SIGN_AND_ENCRYPT = "Giriş Yap and şifrele"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "2-Basamaklı doğrulama testi"
|
TITLE_TEST_CODE = "2-Basamaklı doğrulama testi"
|
||||||
LABEL_CODE = "Kod"
|
LABEL_CODE = "Kod"
|
||||||
|
|
@ -599,6 +605,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "OpenPGP Key Oluştur"
|
||||||
TITLE_PRIVATE = "Private"
|
TITLE_PRIVATE = "Private"
|
||||||
TITLE_PUBLIC = "Public"
|
TITLE_PUBLIC = "Public"
|
||||||
DELETING_ASK = "Eminmisiniz?"
|
DELETING_ASK = "Eminmisiniz?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Klavye kısayolları yardım"
|
LEGEND_SHORTCUTS_HELP = "Klavye kısayolları yardım"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Підпис"
|
||||||
BUTTON_ENCRYPT = "Шифрування"
|
BUTTON_ENCRYPT = "Шифрування"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Підпис и шифрування"
|
BUTTON_SIGN_AND_ENCRYPT = "Підпис и шифрування"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "Тест двофакторної верифікації"
|
TITLE_TEST_CODE = "Тест двофакторної верифікації"
|
||||||
LABEL_CODE = "Код"
|
LABEL_CODE = "Код"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "Новий OpenPGP ключ"
|
||||||
TITLE_PRIVATE = "Приватний"
|
TITLE_PRIVATE = "Приватний"
|
||||||
TITLE_PUBLIC = "Публічний"
|
TITLE_PUBLIC = "Публічний"
|
||||||
DELETING_ASK = "Впевнені?"
|
DELETING_ASK = "Впевнені?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Сполучення клавіш"
|
LEGEND_SHORTCUTS_HELP = "Сполучення клавіш"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Sign"
|
||||||
BUTTON_ENCRYPT = "Encrypt"
|
BUTTON_ENCRYPT = "Encrypt"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "两步验证测试"
|
TITLE_TEST_CODE = "两步验证测试"
|
||||||
LABEL_CODE = "代码"
|
LABEL_CODE = "代码"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "生成 OpenPGP 密匙"
|
||||||
TITLE_PRIVATE = "私有"
|
TITLE_PRIVATE = "私有"
|
||||||
TITLE_PUBLIC = "公开"
|
TITLE_PUBLIC = "公开"
|
||||||
DELETING_ASK = "你确定吗?"
|
DELETING_ASK = "你确定吗?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,12 @@ BUTTON_SIGN = "Sign"
|
||||||
BUTTON_ENCRYPT = "Encrypt"
|
BUTTON_ENCRYPT = "Encrypt"
|
||||||
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
|
||||||
|
|
||||||
|
[POPUPS_MESSAGE_OPEN_PGP]
|
||||||
|
TITLE_MESSAGE_OPEN_PGP = "OpenPGP Decrypt"
|
||||||
|
LABEL_KEY = "Private Key"
|
||||||
|
LABEL_PASSWORD = "Password"
|
||||||
|
BUTTON_DECRYPT = "Decrypt"
|
||||||
|
|
||||||
[POPUPS_TWO_FACTOR_TEST]
|
[POPUPS_TWO_FACTOR_TEST]
|
||||||
TITLE_TEST_CODE = "兩步驗證測試"
|
TITLE_TEST_CODE = "兩步驗證測試"
|
||||||
LABEL_CODE = "代碼"
|
LABEL_CODE = "代碼"
|
||||||
|
|
@ -601,6 +607,7 @@ BUTTON_GENERATE_OPEN_PGP_KEYS = "生成 OpenPGP 密鑰"
|
||||||
TITLE_PRIVATE = "私有"
|
TITLE_PRIVATE = "私有"
|
||||||
TITLE_PUBLIC = "公開"
|
TITLE_PUBLIC = "公開"
|
||||||
DELETING_ASK = "你確定嗎?"
|
DELETING_ASK = "你確定嗎?"
|
||||||
|
GENERATE_ONLY_HTTPS = "HTTPS only"
|
||||||
|
|
||||||
[SHORTCUTS_HELP]
|
[SHORTCUTS_HELP]
|
||||||
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
LEGEND_SHORTCUTS_HELP = "Keyboard shortcuts help"
|
||||||
|
|
|
||||||
1
vendors/openpgp/openpgp-0.10.1.worker.min.js
vendored
Normal file
1
vendors/openpgp/openpgp-0.10.1.worker.min.js
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
/*! OpenPGPjs.org this is LGPL licensed code, see LICENSE/our website for more information.- v0.10.1 - 2015-02-13 */!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(){function a(a){window.openpgp.crypto.random.randomBuffer.size<d&&postMessage({event:"request-seed"}),postMessage(a)}function b(a){var b=window.openpgp.packet.List.fromStructuredClone(a);return new window.openpgp.key.Key(b)}function c(a){var b=window.openpgp.packet.List.fromStructuredClone(a);return new window.openpgp.message.Message(b)}window={},Function.prototype.bind||(Function.prototype.bind=function(a){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var b=Array.prototype.slice.call(arguments,1),c=this,d=function(){},e=function(){return c.apply(this instanceof d&&a?this:a,b.concat(Array.prototype.slice.call(arguments)))};return d.prototype=this.prototype,e.prototype=new d,e}),importScripts("openpgp.min.js");var d=4e4,e=6e4;window.openpgp.crypto.random.randomBuffer.init(e),self.onmessage=function(d){var e=null,f=null,g=d.data,h=!1;switch(g.event){case"configure":for(var i in g.config)window.openpgp.config[i]=g.config[i];break;case"seed-random":g.buf instanceof Uint8Array||(g.buf=new Uint8Array(g.buf)),window.openpgp.crypto.random.randomBuffer.set(g.buf);break;case"encrypt-message":g.keys.length||(g.keys=[g.keys]),g.keys=g.keys.map(b),window.openpgp.encryptMessage(g.keys,g.text).then(function(b){a({event:"method-return",data:b})})["catch"](function(b){a({event:"method-return",err:b.message})});break;case"sign-and-encrypt-message":g.publicKeys.length||(g.publicKeys=[g.publicKeys]),g.publicKeys=g.publicKeys.map(b),g.privateKey=b(g.privateKey),window.openpgp.signAndEncryptMessage(g.publicKeys,g.privateKey,g.text).then(function(b){a({event:"method-return",data:b})})["catch"](function(b){a({event:"method-return",err:b.message})});break;case"decrypt-message":g.privateKey=b(g.privateKey),g.message=c(g.message.packets),window.openpgp.decryptMessage(g.privateKey,g.message).then(function(b){a({event:"method-return",data:b})})["catch"](function(b){a({event:"method-return",err:b.message})});break;case"decrypt-and-verify-message":g.privateKey=b(g.privateKey),g.publicKeys.length||(g.publicKeys=[g.publicKeys]),g.publicKeys=g.publicKeys.map(b),g.message=c(g.message.packets),window.openpgp.decryptAndVerifyMessage(g.privateKey,g.publicKeys,g.message).then(function(b){a({event:"method-return",data:b})})["catch"](function(b){a({event:"method-return",err:b.message})});break;case"sign-clear-message":g.privateKeys=g.privateKeys.map(b),window.openpgp.signClearMessage(g.privateKeys,g.text).then(function(b){a({event:"method-return",data:b})})["catch"](function(b){a({event:"method-return",err:b.message})});break;case"verify-clear-signed-message":g.publicKeys.length||(g.publicKeys=[g.publicKeys]),g.publicKeys=g.publicKeys.map(b);var j=window.openpgp.packet.List.fromStructuredClone(g.message.packets);g.message=new window.openpgp.cleartext.CleartextMessage(g.message.text,j),window.openpgp.verifyClearSignedMessage(g.publicKeys,g.message).then(function(b){a({event:"method-return",data:b})})["catch"](function(b){a({event:"method-return",err:b.message})});break;case"generate-key-pair":window.openpgp.generateKeyPair(g.options).then(function(b){b.key=b.key.toPacketlist(),a({event:"method-return",data:b})})["catch"](function(b){a({event:"method-return",err:b.message})});break;case"decrypt-key":try{g.privateKey=b(g.privateKey),h=g.privateKey.decrypt(g.password),h?e=g.privateKey.toPacketlist():f="Wrong password"}catch(k){f=k.message}a({event:"method-return",data:e,err:f});break;case"decrypt-key-packet":try{g.privateKey=b(g.privateKey),g.keyIds=g.keyIds.map(window.openpgp.Keyid.fromClone),h=g.privateKey.decryptKeyPacket(g.keyIds,g.password),h?e=g.privateKey.toPacketlist():f="Wrong password"}catch(k){f=k.message}a({event:"method-return",data:e,err:f});break;default:throw new Error("Unknown Worker Event.")}}},{}]},{},[1]);
|
||||||
Loading…
Add table
Add a link
Reference in a new issue