diff --git a/.docker/release/files/etc/nginx/nginx.conf b/.docker/release/files/etc/nginx/nginx.conf index ed87cb201..aff3829cf 100644 --- a/.docker/release/files/etc/nginx/nginx.conf +++ b/.docker/release/files/etc/nginx/nginx.conf @@ -52,6 +52,8 @@ http { server { listen 8888; + listen [::]:8888; + #listen [::]:8888 ipv6only=off; root /snappymail; index index.php; charset utf-8; diff --git a/dev/Sieve/Grammar.js b/dev/Sieve/Grammar.js index 5fb21c71e..a113374c5 100644 --- a/dev/Sieve/Grammar.js +++ b/dev/Sieve/Grammar.js @@ -45,8 +45,16 @@ export class GrammarString /*extends String*/ /** * abstract */ -export class GrammarComment extends GrammarString +export /*abstract*/ class GrammarComment extends GrammarString { +/* + constructor() + { + if (this.constructor == GrammarComment) { + throw Error("Abstract class can't be instantiated."); + } + } +*/ } /** diff --git a/dev/Sieve/Parser.js b/dev/Sieve/Parser.js index 6d36eea04..16d81f896 100644 --- a/dev/Sieve/Parser.js +++ b/dev/Sieve/Parser.js @@ -18,6 +18,7 @@ import { import { GrammarBracketComment, GrammarCommand, + GrammarComment, GrammarHashComment, GrammarMultiLine, GrammarNumber, @@ -28,7 +29,7 @@ import { } from 'Sieve/Grammar'; import { availableCommands } from 'Sieve/Commands'; -import { ConditionalCommand, RequireCommand } from 'Sieve/Commands/Controls'; +import { ConditionalCommand, IfCommand, RequireCommand } from 'Sieve/Commands/Controls'; import { NotTest } from 'Sieve/Commands/Tests'; const @@ -156,7 +157,17 @@ export const parseScript = (script, name = 'script.sieve') => { let new_command; if (Commands[value]) { if ('elsif' === value || 'else' === value) { -// (prev_command instanceof ConditionalCommand) || error('Not after IF condition'); + let valid = false, cmd = (command ? command?.commands : tree), i = cmd?.length; + while (i) { + cmd[--i]; + if (cmd[i] instanceof IfCommand) { + valid = true; + break; + } else if (typeof cmd[i] !== 'string' && !(cmd[i] instanceof GrammarComment)) { + break; + } + } + valid || error('Not after IF/ELSIF condition'); } if ('allof' === value || 'anyof' === value) { // (command instanceof ConditionalCommand || command instanceof NotTest) || error('Test-list not in conditional'); @@ -266,7 +277,6 @@ export const parseScript = (script, name = 'script.sieve') => { break; case T_BLOCK_END: (command instanceof ConditionalCommand) || error(TokenError[type]); -// prev_command = command; command = levels.up(); break; diff --git a/snappymail/v/0.0.0/app/localization/fr/user.json b/snappymail/v/0.0.0/app/localization/fr/user.json index 0fea1c0db..1df10a859 100644 --- a/snappymail/v/0.0.0/app/localization/fr/user.json +++ b/snappymail/v/0.0.0/app/localization/fr/user.json @@ -219,9 +219,9 @@ "DISPLAY_NAME": "Nom à afficher", "LAST_NAME": "Nom", "FIRST_NAME": "Prénom", - "MIDDLE_NAME": "Middle name", - "NAME_PREFIX": "Name prefix", - "NAME_SUFFIX": "Name suffix", + "MIDDLE_NAME": "Deuxième Prénom", + "NAME_PREFIX": "Civilité", + "NAME_SUFFIX": "Suffix", "NICK_NAME": "Pseudonyme", "LABEL_READ_ONLY": "Lecture seule", "ADD_MENU_LABEL": "Ajouter", diff --git a/snappymail/v/0.0.0/app/localization/pl/user.json b/snappymail/v/0.0.0/app/localization/pl/user.json index 3bcf228f8..24ea42e1e 100644 --- a/snappymail/v/0.0.0/app/localization/pl/user.json +++ b/snappymail/v/0.0.0/app/localization/pl/user.json @@ -502,8 +502,8 @@ "IMAGES_OPTION_ALWAYS": "Zawsze pokazuj", "IMAGES_WHITELIST": "Biała lista obrazów", "MESSAGE_POPUP_WINDOW": "Pokaż w nowym oknie zamiast w nowej karcie", - "MAILTO": "Register as 'mailto:' links handler", - "HTML_TO_MD": "Convert HTML to Markdown instead of plain text" + "MAILTO": "Zarejestruj obsługę linków 'mailto:' jako domyślnego klienta poczty", + "HTML_TO_MD": "Konwertuj HTML na Markdown zamiast zwykłego tekstu" }, "SETTINGS_CONTACTS": { "LABEL_CONTACTS_AUTOSAVE": "Automatycznie dodawaj odbiorców do książki adresowej", diff --git a/snappymail/v/0.0.0/app/templates/Views/User/PopupsSieveScript.html b/snappymail/v/0.0.0/app/templates/Views/User/PopupsSieveScript.html index fe0618269..edf9f5895 100644 --- a/snappymail/v/0.0.0/app/templates/Views/User/PopupsSieveScript.html +++ b/snappymail/v/0.0.0/app/templates/Views/User/PopupsSieveScript.html @@ -11,7 +11,7 @@