mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-30 20:49:20 +03:00
Small fixes and code refactoring
This commit is contained in:
parent
e6c712862d
commit
1a85330770
67 changed files with 413 additions and 181 deletions
|
|
@ -1288,6 +1288,7 @@ class Actions
|
|||
'AllowAppendMessage' => (bool) $oConfig->Get('labs', 'allow_message_append', false),
|
||||
'MaterialDesign' => (bool) $oConfig->Get('labs', 'use_material_design', true),
|
||||
'PremType' => $this->PremType(),
|
||||
'Admin' => array(),
|
||||
'Capa' => array(),
|
||||
'Plugins' => array()
|
||||
);
|
||||
|
|
@ -6420,10 +6421,10 @@ class Actions
|
|||
$aData = $this->getTwoFactorInfo($oAccount);
|
||||
$sSecret = !empty($aData['Secret']) ? $aData['Secret'] : '';
|
||||
|
||||
$this->Logger()->WriteDump(array(
|
||||
$sCode, $sSecret, $aData,
|
||||
$this->TwoFactorAuthProvider()->VerifyCode($sSecret, $sCode)
|
||||
));
|
||||
// $this->Logger()->WriteDump(array(
|
||||
// $sCode, $sSecret, $aData,
|
||||
// $this->TwoFactorAuthProvider()->VerifyCode($sSecret, $sCode)
|
||||
// ));
|
||||
|
||||
\sleep(1);
|
||||
return $this->DefaultResponse(__FUNCTION__,
|
||||
|
|
|
|||
|
|
@ -14,7 +14,12 @@
|
|||
</div>
|
||||
<div class="span6 rl-desc">
|
||||
<h1 style="margin-bottom: 0;">RainLoop</h1>
|
||||
<h4 style="margin-top: 0;"><span data-bind="text: version"></span></h4>
|
||||
<h4 style="margin-top: 0;">
|
||||
<span data-bind="text: version"></span>
|
||||
<span data-bind="visible: 'stable' !== coreType()" style="padding-left: 3px; color: red; font-weight: normal">
|
||||
(<span data-bind="text: coreType"></span> channel)
|
||||
</span>
|
||||
</h4>
|
||||
<h4 style="color: #aaa; font-weight: normal;">Simple, modern & fast web-based email client</h4>
|
||||
<h5 style="font-weight: normal; margin-top: 40px;">
|
||||
<div data-bind="visible: 'error' === statusType()">
|
||||
|
|
@ -27,9 +32,6 @@
|
|||
|
||||
New
|
||||
<b data-bind="text: coreRemoteVersion"></b>
|
||||
<span data-bind="visible: 'stable' !== coreType()" style="color:red">
|
||||
(<span data-bind="text: coreType"></span>)
|
||||
</span>
|
||||
version is available.
|
||||
<span data-bind="visible: '' !== coreRemoteRelease()">
|
||||
(<span data-bind="text: coreRemoteRelease"></span>)
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
<span class="i18n" data-i18n-text="COMPOSE/BUTTON_SAVE"></span>
|
||||
</a>
|
||||
|
||||
|
||||
<a class="close-custom" data-tooltip-placement="bottom" data-bind="click: tryToClosePopup, tooltip: 'COMPOSE/BUTTON_CANCEL'">×</a>
|
||||
<a class="minimize-custom" data-tooltip-placement="bottom" data-bind="click: skipCommand, tooltip: 'COMPOSE/BUTTON_MINIMIZE'"></a>
|
||||
|
||||
|
|
@ -106,7 +106,7 @@
|
|||
</label>
|
||||
</div>
|
||||
<div class="e-cell e-value">
|
||||
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" data-bind="emailsTags: to, emailsTagsFilter: to.focusTrigger, autoCompleteSource: emailsSource" />
|
||||
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" data-bind="emailsTags: to, emailsTagsFocus: to.focused, autoCompleteSource: emailsSource" />
|
||||
<span class="help-block error-desc" data-bind="visible: emptyToError">
|
||||
<span class="i18n" data-i18n-text="COMPOSE/EMPTY_TO_ERROR_DESC"></span>
|
||||
</span>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<div class="popups">
|
||||
<div class="modal hide b-identity-content g-ui-user-select-none" data-bind="modal: modalVisibility">
|
||||
<div class="modal hide b-identity-content" data-bind="modal: modalVisibility">
|
||||
<div>
|
||||
<div class="modal-header">
|
||||
<div class="modal-header g-ui-user-select-none">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3>
|
||||
<span data-bind="visible: !edit()" class="i18n" data-i18n-text="POPUPS_IDENTITY/TITLE_ADD_IDENTITY"></span>
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="form-horizontal g-ui-user-select-none">
|
||||
<div class="alert" data-bind="visible: '' !== submitError()">
|
||||
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
||||
<span data-bind="text: submitError"></span>
|
||||
|
|
@ -66,8 +66,10 @@
|
|||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div class="control-group">
|
||||
</div>
|
||||
<hr />
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group g-ui-user-select-none">
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<div class="popups">
|
||||
<div class="modal hide b-template-add-content g-ui-user-select-none" data-bind="modal: modalVisibility">
|
||||
<div class="modal hide b-template-add-content" data-bind="modal: modalVisibility">
|
||||
<div>
|
||||
<div class="modal-header">
|
||||
<div class="modal-header g-ui-user-select-none">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3>
|
||||
<span data-bind="visible: '' === id()" class="i18n" data-i18n-text="POPUPS_ADD_TEMPLATE/TITLE_ADD_TEMPLATE"></span>
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="form-horizontal g-ui-user-select-none">
|
||||
<div class="alert" data-bind="visible: '' !== submitError()">
|
||||
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
||||
<span data-bind="text: submitError"></span>
|
||||
|
|
@ -22,7 +22,9 @@
|
|||
data-bind="textInput: name, onEnter: addTemplateCommand, hasfocus: name.focus" />
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
</div>
|
||||
<hr />
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group" data-bind="css: {'error': body.error}">
|
||||
<div class="e-template-place" data-bind="initDom: signatureDom"></div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<div class="b-settings b-settins-right">
|
||||
<div class="b-toolbar">
|
||||
<div class="b-toolbar" style="padding-left: 0">
|
||||
<div class="btn-toolbar">
|
||||
<a class="btn button-back" data-bind="click: backToMailBoxClick">
|
||||
<i class="icon-left"></i>
|
||||
|
|
|
|||
|
|
@ -3,12 +3,13 @@
|
|||
<div class="legend">
|
||||
<span class="i18n" data-i18n-text="SETTINGS_SECURITY/LEGEND_TWO_FACTOR_AUTH"></span>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div class="control-group" data-bind="visible: twoFactorStatus">
|
||||
<div class="controls" style="display: inline-block" data-bind="tooltip: viewTwoFactorEnableTooltip">
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'SETTINGS_SECURITY/LABEL_ENABLE_TWO_FACTOR',
|
||||
enable: twoFactorAllowedEnable,
|
||||
value: viewEnable
|
||||
}
|
||||
}"></div>
|
||||
|
|
@ -29,8 +30,7 @@
|
|||
|
||||
<span class="i18n" data-i18n-text="SETTINGS_SECURITY/BUTTON_CLEAR"></span>
|
||||
</a>
|
||||
<span data-bind="visible: twoFactorStatus"> </span>
|
||||
<a class="btn" data-bind="click: createTwoFactor">
|
||||
<a class="btn" data-bind="click: createTwoFactor, visible: !twoFactorStatus()">
|
||||
<i class="icon-ok" data-bind="css: {'icon-ok': !processing(), 'icon-spinner animated': processing()}" ></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="SETTINGS_SECURITY/BUTTON_CREATE"></span>
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configured"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Not configured"
|
||||
TWO_FACTOR_SECRET_DESC = "Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator, you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Общи"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Konfiguriert"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Nicht konfiguriert"
|
||||
TWO_FACTOR_SECRET_DESC = "Importieren Sie diese Informationen in Ihren Google Authenticator-Client (oder andere TOTP-Clienten) mit Hilfe des mitgelieferten QR-Code unten oder durch manuelle Eingabe des Codes."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Wenn Sie keine Codes via Google Authenticator erhalten können, können Sie Backup-Codes für die Anmeldung verwenden. Nachdem Sie einen Backup-Code verwendet haben, um sich anzumelden, wird dieser inaktiv."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Allgemein"
|
||||
|
|
|
|||
|
|
@ -435,13 +435,13 @@ LABEL_SIGNATURE = "Signature"
|
|||
LABEL_ADD_SIGNATURE_TO_ALL = "Add your signature to all the outgoing messages"
|
||||
|
||||
[SETTINGS_SECURITY]
|
||||
LEGEND_TWO_FACTOR_AUTH = "2-Step Verification"
|
||||
LEGEND_TWO_FACTOR_AUTH = "2-Step Verification (TOTP)"
|
||||
LABEL_ENABLE_TWO_FACTOR = "Enable 2-Step verification"
|
||||
LABEL_TWO_FACTOR_USER = "User"
|
||||
LABEL_TWO_FACTOR_STATUS = "Status"
|
||||
LABEL_TWO_FACTOR_SECRET = "Secret"
|
||||
LABEL_TWO_FACTOR_BACKUP_CODES = "Backup codes"
|
||||
BUTTON_CREATE = "Create New Secret"
|
||||
BUTTON_CREATE = "Create a secret"
|
||||
BUTTON_CLEAR = "Clear"
|
||||
BUTTON_TEST = "Test"
|
||||
BUTTON_SHOW_SECRET = "Show Secret"
|
||||
|
|
@ -449,7 +449,8 @@ BUTTON_HIDE_SECRET = "Hide Secret"
|
|||
TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configured"
|
||||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Not configured"
|
||||
TWO_FACTOR_SECRET_DESC = "Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator, you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator (or other TOTP client), you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "General"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configurado"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "No configurado"
|
||||
TWO_FACTOR_SECRET_DESC = "Importar esta información en su cliente Google Authenticator (u otro cliente TOTP) utilizando el código QR se indica debajo o introduciendo el código manualmente."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Si usted no puede recibir los códigos a través de Google Authenticator, puede utilizar códigos de copia de seguridad para firmar pulg Después de que usted ha utilizado un código de copia de seguridad para iniciar sesión, se convertirá en inactiva."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "General"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configurer"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Non configuré"
|
||||
TWO_FACTOR_SECRET_DESC = "Importez ces informations dans votre client Google Authenticator (ou un autre client TOTP) en utilisant le code QR fourni ci-dessous ou en entrant les valeurs manuellement."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Si vous ne pouvez pas recevoir les codes par Google Authenticator, vous pouvez utiliser les codes de sauvegarde pour vous connecter. Après avoir fait cela, il deviendra inactif."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Général"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configured"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Not configured"
|
||||
TWO_FACTOR_SECRET_DESC = "Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator, you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "General"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configured"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Not configured"
|
||||
TWO_FACTOR_SECRET_DESC = "Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator, you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Almennt"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configurato"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Non configurato"
|
||||
TWO_FACTOR_SECRET_DESC = "Importa questo codice nel tuo client di Google Authenticator (o un altro client TOTP) usando il codice QR presente sotto o inserendo il codice manualmente."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Se non puoi ricevere codici da Google Authenticator, puoi usare i codici di riserva per entrare. Dopo aver usato un codice di riserva per entrare, esso si disattiverà."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Generali"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configured"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Not configured"
|
||||
TWO_FACTOR_SECRET_DESC = "Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator, you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "全般"
|
||||
|
|
|
|||
|
|
@ -447,6 +447,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configured"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Not configured"
|
||||
TWO_FACTOR_SECRET_DESC = "Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator, you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "일반"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Sukonfiguruota"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Nesukonfiguruota"
|
||||
TWO_FACTOR_SECRET_DESC = "Importuoti šią informaciją į Google autentifikavimo klientą naudojant žemiau pateiktą QR kodą arba įveskite kodą rankiniu būdu."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Jei negaunate kodo per Google autentifikavimo klientą, galite nautotis savo sukurta atsargine kodų kopija. Kai panaudosite atsarginę kopiją prisijungimui, ji taps neaktyvi."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Pagrindiniai"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configured"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Not configured"
|
||||
TWO_FACTOR_SECRET_DESC = "Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator, you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Vispārējie"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Geconfigureerd"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Niet geconfigureerd"
|
||||
TWO_FACTOR_SECRET_DESC = "Importeer deze informatie in uw Google Authenticator-client (of andere TOTP-client) door gebruik te maken van de QR code hier beneden of door de code handmatig in te voeren."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Als u geen codes ontvangt via de Google Authenticator kan je de backup codes gebruiken om in te loggen. Na gebruik van de backup code wordt deze inactief."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Algemeen"
|
||||
|
|
|
|||
|
|
@ -449,6 +449,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Konfigurert"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Ikke konfigurert"
|
||||
TWO_FACTOR_SECRET_DESC = "Importer denne informasjonen til din Google Authenticator klient (eller andre klienter) ved å bruke QR-koden under, eller ved å skrive inn koden manuelt."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Om du ikke mottar koder fra Google Authenticator, kan du brukeyou can use backupkodene for å logge inn. Disse kodene vil bli deaktivert etter bruk."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Generelt"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Skonfigurowane"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Nie skonfigurowane"
|
||||
TWO_FACTOR_SECRET_DESC = "Zaimportuj te informacje do swojego klienta usługi Google Authenticator (lub innego klienta TOTP), używając poniższego kodu QR lub wpisując kod ręcznie."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Jeżeli nie możesz otrzymać kodu poprzez apikację Google Authenticator, możesz użyć kodów zapasowych. Po zużyciu kodów, opcja ta będzie nieaktywna."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Ogólne"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configurado"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Não configurado"
|
||||
TWO_FACTOR_SECRET_DESC = "Importe este código no seu cliente Google Authenticator (ou outro cliente TOTP) usando o QR code abaixo ou informando o código manualmente."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Se você não puder receber os códigos via Google Authenticator, você pode usar esses códigos de backup para acessar sua conta. Depois de você usar um código de backup, ele se expira."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Geral"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configured"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Not configured"
|
||||
TWO_FACTOR_SECRET_DESC = "Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator, you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Geral"
|
||||
|
|
|
|||
|
|
@ -449,6 +449,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configured"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Not configured"
|
||||
TWO_FACTOR_SECRET_DESC = "Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator, you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Setări de bază"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Настроен"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Не настроен"
|
||||
TWO_FACTOR_SECRET_DESC = "Используйте эту информацию для настройки Google Authenticator клиента (или другого TOTP клиента) с помощью прилагаемого QR-кода, или вручную."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Если вы не можете получить коды через Google Authenticator, вы можете использовать резервные коды, чтобы войти. После того как вы использовали резервный код для входа в систему, он становится неактивным."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Основные Настройки"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configured"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Not configured"
|
||||
TWO_FACTOR_SECRET_DESC = "Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator, you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Všeobecné"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Konfigurerad"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Inte konfigurarad"
|
||||
TWO_FACTOR_SECRET_DESC = "Importera denna information till din Google Authenticator klient (eller annan TOTP klient) med denna QR kod eller manuellt med koden här nedan."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Om du inte kan ta emot koderna med Google Authenticator, så använd backupkoderna för att logga in. När du använt backupkoderna för att logga in så blir dom inaktiva."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Allmänt"
|
||||
|
|
|
|||
|
|
@ -448,6 +448,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Yapılandırılmış"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Yapılandırılmamış"
|
||||
TWO_FACTOR_SECRET_DESC = "Aşağıda sunulan QR kodu kullanarak Google Şifrematik istemcisi (veya başka TOTP istemci) içine veya elle kod girerek bu bilgi aktarın."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Google Şifrematik'te aracılığıyla kodları alamıyorsa Eğer oturum için bir yedek kod kullandım sonra, bunu pasif olacaktır, oturum yedekleme kodlarını kullanabilirsiniz."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Genel"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Налаштований"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Не налаштований"
|
||||
TWO_FACTOR_SECRET_DESC = "Використовуйте цю інформацію для налаштування Google Authenticator клиенту (чи іншого TOTP клиенту) за допомогою прикладеного QR-коду, чи вручну."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "Якщо Ви не можете отримати коди через Google Authenticator, ви можете використовувати резервні коди, щоб увійти. Після того як Ви використали резервний код для входу в систему, він стає неактивним."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "Основні Налаштування"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configured"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Not configured"
|
||||
TWO_FACTOR_SECRET_DESC = "Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator, you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "一般设置"
|
||||
|
|
|
|||
|
|
@ -450,6 +450,7 @@ TWO_FACTOR_SECRET_CONFIGURED_DESC = "Configured"
|
|||
TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC = "Not configured"
|
||||
TWO_FACTOR_SECRET_DESC = "Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually."
|
||||
TWO_FACTOR_BACKUP_CODES_DESC = "If you can't receive codes via Google Authenticator, you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive."
|
||||
TWO_FACTOR_SECRET_TEST_BEFORE_DESC = "You can't change this setting before test."
|
||||
|
||||
[SETTINGS_GENERAL]
|
||||
LEGEND_GENERAL = "一般設置"
|
||||
|
|
|
|||
2
rainloop/v/0.0.0/static/ckeditor/ckeditor.js
vendored
2
rainloop/v/0.0.0/static/ckeditor/ckeditor.js
vendored
|
|
@ -875,7 +875,7 @@ b),e="undefined"==typeof this.state?CKEDITOR.TRISTATE_OFF:this.state,j="",i=e==C
|
|||
"false",disabled:e==CKEDITOR.TRISTATE_DISABLED,title:this.label,href:"javascript:void('"+(this.label||"").replace("'")+"')",hoverFn:a._.itemOverFn,moveOutFn:a._.itemOutFn,clickFn:a._.itemClickFn,index:b,iconStyle:CKEDITOR.skin.getIconStyle(g,"rtl"==this.editor.lang.dir,g==this.icon?null:this.icon,this.iconOffset),arrowHtml:f?l.output({label:d}):"",role:this.role?this.role:"menuitem",ariaChecked:j};m.output(a,c)}}})})();CKEDITOR.config.menu_groups="clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div";CKEDITOR.plugins.add("menubutton",{requires:"button,menu",onLoad:function(){var d=function(c){var a=this._,b=a.menu;a.state!==CKEDITOR.TRISTATE_DISABLED&&(a.on&&b?b.hide():(a.previousState=a.state,b||(b=a.menu=new CKEDITOR.menu(c,{panel:{className:"cke_menu_panel",attributes:{"aria-label":c.lang.common.options}}}),b.onHide=CKEDITOR.tools.bind(function(){var b=this.command?c.getCommand(this.command).modes:this.modes;this.setState(!b||b[c.mode]?a.previousState:CKEDITOR.TRISTATE_DISABLED);a.on=0},this),
|
||||
this.onMenu&&b.addListener(this.onMenu)),this.setState(CKEDITOR.TRISTATE_ON),a.on=1,setTimeout(function(){b.show(CKEDITOR.document.getById(a.id),4)},0)))};CKEDITOR.ui.menuButton=CKEDITOR.tools.createClass({base:CKEDITOR.ui.button,$:function(c){delete c.panel;this.base(c);this.hasArrow=!0;this.click=d},statics:{handler:{create:function(c){return new CKEDITOR.ui.menuButton(c)}}}})},beforeInit:function(d){d.ui.addHandler(CKEDITOR.UI_MENUBUTTON,CKEDITOR.ui.menuButton.handler)}});
|
||||
CKEDITOR.UI_MENUBUTTON="menubutton";CKEDITOR.plugins.add("onchange",{init:function(a){function b(){a.readOnly||d||(d=setTimeout(function(){d=0;a.fire("change")},a.config.minimumChangeMilliseconds||100))}var d,g=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,f;a.on("destroy",function(){d&&clearTimeout(d);d=null});a.on("saveSnapshot",function(a){(!a.data||!a.data.contentOnly)&&b()});var e=a.getCommand("undo");e&&e.on("afterUndo",b);(e=a.getCommand("redo"))&&e.on("afterRedo",b);a.on("afterCommandExec",
|
||||
function(a){"source"!=a.data.name&&!1!==a.data.command.canUndo&&b()});g&&(f=new g(function(){b()}),window.console&&window.console.log&&console.log("Detecting changes using MutationObservers"));a.on("contentDom",function(){if(f)var c=setInterval(function(){if(typeof a.document==="object"){f.observe(a.document.getBody().$,{attributes:true,childList:true,characterData:true});clearInterval(c)}},100);a.document.on("keydown",function(a){if(!a.data.$.ctrlKey&&!a.data.$.metaKey){a=a.data.$.keyCode;(a==8||
|
||||
function(a){"source"!=a.data.name&&!1!==a.data.command.canUndo&&b()});g&&(f=new g(function(){b()}),window.console&&window.console.log&&true);a.on("contentDom",function(){if(f)var c=setInterval(function(){if(typeof a.document==="object"){f.observe(a.document.getBody().$,{attributes:true,childList:true,characterData:true});clearInterval(c)}},100);a.document.on("keydown",function(a){if(!a.data.$.ctrlKey&&!a.data.$.metaKey){a=a.data.$.keyCode;(a==8||
|
||||
a==13||a==32||a>=46&&a<=90||a>=96&&a<=111||a>=186&&a<=222||a==229)&&b()}});a.document.on("drop",b);a.document.getBody().on("drop",b)});a.on("mode",function(){if(a.mode=="source"){var c=a.textarea||a._.editable;c.on("keydown",function(a){!a.data.$.ctrlKey&&!a.data.$.metaKey&&b()});c.on("drop",b);c.on("input",b);if(CKEDITOR.env.ie){c.on("cut",b);c.on("paste",b)}}})}});CKEDITOR.plugins.add("removeformat",{init:function(a){a.addCommand("removeFormat",CKEDITOR.plugins.removeformat.commands.removeformat);a.ui.addButton&&a.ui.addButton("RemoveFormat",{label:a.lang.removeformat.toolbar,command:"removeFormat",toolbar:"cleanup,10"})}});
|
||||
CKEDITOR.plugins.removeformat={commands:{removeformat:{exec:function(a){for(var h=a._.removeFormatRegex||(a._.removeFormatRegex=RegExp("^(?:"+a.config.removeFormatTags.replace(/,/g,"|")+")$","i")),e=a._.removeAttributes||(a._.removeAttributes=a.config.removeFormatAttributes.split(",")),f=CKEDITOR.plugins.removeformat.filter,k=a.getSelection().getRanges(),l=k.createIterator(),m=function(a){return a.type==CKEDITOR.NODE_ELEMENT},c;c=l.getNextRange();){c.collapsed||c.enlarge(CKEDITOR.ENLARGE_ELEMENT);
|
||||
var j=c.createBookmark(),b=j.startNode,d=j.endNode,i=function(b){for(var c=a.elementPath(b),e=c.elements,d=1,g;(g=e[d])&&!g.equals(c.block)&&!g.equals(c.blockLimit);d++)h.test(g.getName())&&f(a,g)&&b.breakParent(g)};i(b);if(d){i(d);for(b=b.getNextSourceNode(!0,CKEDITOR.NODE_ELEMENT);b&&!b.equals(d);)if(b.isReadOnly()){if(b.getPosition(d)&CKEDITOR.POSITION_CONTAINS)break;b=b.getNext(m)}else i=b.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT),!("img"==b.getName()&&b.data("cke-realelement"))&&f(a,b)&&(h.test(b.getName())?
|
||||
|
|
|
|||
|
|
@ -867,7 +867,7 @@ b),e="undefined"==typeof this.state?CKEDITOR.TRISTATE_OFF:this.state,j="",i=e==C
|
|||
"false",disabled:e==CKEDITOR.TRISTATE_DISABLED,title:this.label,href:"javascript:void('"+(this.label||"").replace("'")+"')",hoverFn:a._.itemOverFn,moveOutFn:a._.itemOutFn,clickFn:a._.itemClickFn,index:b,iconStyle:CKEDITOR.skin.getIconStyle(g,"rtl"==this.editor.lang.dir,g==this.icon?null:this.icon,this.iconOffset),arrowHtml:f?l.output({label:d}):"",role:this.role?this.role:"menuitem",ariaChecked:j};m.output(a,c)}}})})();CKEDITOR.config.menu_groups="clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div";CKEDITOR.plugins.add("menubutton",{requires:"button,menu",onLoad:function(){var d=function(c){var a=this._,b=a.menu;a.state!==CKEDITOR.TRISTATE_DISABLED&&(a.on&&b?b.hide():(a.previousState=a.state,b||(b=a.menu=new CKEDITOR.menu(c,{panel:{className:"cke_menu_panel",attributes:{"aria-label":c.lang.common.options}}}),b.onHide=CKEDITOR.tools.bind(function(){var b=this.command?c.getCommand(this.command).modes:this.modes;this.setState(!b||b[c.mode]?a.previousState:CKEDITOR.TRISTATE_DISABLED);a.on=0},this),
|
||||
this.onMenu&&b.addListener(this.onMenu)),this.setState(CKEDITOR.TRISTATE_ON),a.on=1,setTimeout(function(){b.show(CKEDITOR.document.getById(a.id),4)},0)))};CKEDITOR.ui.menuButton=CKEDITOR.tools.createClass({base:CKEDITOR.ui.button,$:function(c){delete c.panel;this.base(c);this.hasArrow=!0;this.click=d},statics:{handler:{create:function(c){return new CKEDITOR.ui.menuButton(c)}}}})},beforeInit:function(d){d.ui.addHandler(CKEDITOR.UI_MENUBUTTON,CKEDITOR.ui.menuButton.handler)}});
|
||||
CKEDITOR.UI_MENUBUTTON="menubutton";CKEDITOR.plugins.add("onchange",{init:function(a){function b(){a.readOnly||d||(d=setTimeout(function(){d=0;a.fire("change")},a.config.minimumChangeMilliseconds||100))}var d,g=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,f;a.on("destroy",function(){d&&clearTimeout(d);d=null});a.on("saveSnapshot",function(a){(!a.data||!a.data.contentOnly)&&b()});var e=a.getCommand("undo");e&&e.on("afterUndo",b);(e=a.getCommand("redo"))&&e.on("afterRedo",b);a.on("afterCommandExec",
|
||||
function(a){"source"!=a.data.name&&!1!==a.data.command.canUndo&&b()});g&&(f=new g(function(){b()}),window.console&&window.console.log&&console.log("Detecting changes using MutationObservers"));a.on("contentDom",function(){if(f)var c=setInterval(function(){if(typeof a.document==="object"){f.observe(a.document.getBody().$,{attributes:true,childList:true,characterData:true});clearInterval(c)}},100);a.document.on("keydown",function(a){if(!a.data.$.ctrlKey&&!a.data.$.metaKey){a=a.data.$.keyCode;(a==8||
|
||||
function(a){"source"!=a.data.name&&!1!==a.data.command.canUndo&&b()});g&&(f=new g(function(){b()}),window.console&&window.console.log&&true);a.on("contentDom",function(){if(f)var c=setInterval(function(){if(typeof a.document==="object"){f.observe(a.document.getBody().$,{attributes:true,childList:true,characterData:true});clearInterval(c)}},100);a.document.on("keydown",function(a){if(!a.data.$.ctrlKey&&!a.data.$.metaKey){a=a.data.$.keyCode;(a==8||
|
||||
a==13||a==32||a>=46&&a<=90||a>=96&&a<=111||a>=186&&a<=222||a==229)&&b()}});a.document.on("drop",b);a.document.getBody().on("drop",b)});a.on("mode",function(){if(a.mode=="source"){var c=a.textarea||a._.editable;c.on("keydown",function(a){!a.data.$.ctrlKey&&!a.data.$.metaKey&&b()});c.on("drop",b);c.on("input",b);if(CKEDITOR.env.ie){c.on("cut",b);c.on("paste",b)}}})}});CKEDITOR.plugins.add("removeformat",{init:function(a){a.addCommand("removeFormat",CKEDITOR.plugins.removeformat.commands.removeformat);a.ui.addButton&&a.ui.addButton("RemoveFormat",{label:a.lang.removeformat.toolbar,command:"removeFormat",toolbar:"cleanup,10"})}});
|
||||
CKEDITOR.plugins.removeformat={commands:{removeformat:{exec:function(a){for(var h=a._.removeFormatRegex||(a._.removeFormatRegex=RegExp("^(?:"+a.config.removeFormatTags.replace(/,/g,"|")+")$","i")),e=a._.removeAttributes||(a._.removeAttributes=a.config.removeFormatAttributes.split(",")),f=CKEDITOR.plugins.removeformat.filter,k=a.getSelection().getRanges(),l=k.createIterator(),m=function(a){return a.type==CKEDITOR.NODE_ELEMENT},c;c=l.getNextRange();){c.collapsed||c.enlarge(CKEDITOR.ENLARGE_ELEMENT);
|
||||
var j=c.createBookmark(),b=j.startNode,d=j.endNode,i=function(b){for(var c=a.elementPath(b),e=c.elements,d=1,g;(g=e[d])&&!g.equals(c.block)&&!g.equals(c.blockLimit);d++)h.test(g.getName())&&f(a,g)&&b.breakParent(g)};i(b);if(d){i(d);for(b=b.getNextSourceNode(!0,CKEDITOR.NODE_ELEMENT);b&&!b.equals(d);)if(b.isReadOnly()){if(b.getPosition(d)&CKEDITOR.POSITION_CONTAINS)break;b=b.getNext(m)}else i=b.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT),!("img"==b.getName()&&b.data("cke-realelement"))&&f(a,b)&&(h.test(b.getName())?
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue