diff --git a/dev/Styles/User/FolderList.less b/dev/Styles/User/FolderList.less index 6157ec2e1..d920dfd90 100644 --- a/dev/Styles/User/FolderList.less +++ b/dev/Styles/User/FolderList.less @@ -82,7 +82,7 @@ border-left: 3px solid transparent; color: var(--folders-color, #333); display: block; - line-height: 34px; + line-height: 2.2em; padding: 0 2em 0 @folderItemPadding; position: relative; text-decoration: none; @@ -151,7 +151,7 @@ color: var(--unread-count-color, #fff); font-size: 80%; line-height: 1.5em; - margin-top: 7px; + margin-top: 0.5em; min-width: 1.7em; padding: 1px 4px; text-align: center; diff --git a/integrations/nextcloud/snappymail/appinfo/info.xml b/integrations/nextcloud/snappymail/appinfo/info.xml index d73ef28a0..d85ad52ed 100644 --- a/integrations/nextcloud/snappymail/appinfo/info.xml +++ b/integrations/nextcloud/snappymail/appinfo/info.xml @@ -63,8 +63,9 @@ There, click on the link to go to the SnappyMail admin panel. uuid xxtea zip + --> - + OCA\SnappyMail\Settings\AdminSettings diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php b/snappymail/v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php index c4cb6c4bc..74bb1cc25 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php @@ -54,11 +54,22 @@ abstract class DateTimeHelper \DateTime::createFromFormat('d M Y H:i:s O', $sDateTime, static::GetUtcTimeZoneObject()) // Using T (obsolete timezone abbreviation) ?: \DateTime::createFromFormat('d M Y H:i:s T', $sDateTime, static::GetUtcTimeZoneObject()); - // 398045302 is 1982-08-13 00:08:22 the date RFC 822 was created - if (!$oDateTime || 398045302 > $oDateTime->getTimestamp()) { - \SnappyMail\Log::notice('', "Failed to parse RFC 2822 date '{$sDateTime}'"); + + try { + $timestamp = $oDateTime->getTimestamp(); + + // 398045302 is 1982-08-13 00:08:22, the date RFC 822 was created + if (398045302 > $timestamp) { + \SnappyMail\Log::notice('', "Failed to parse RFC 2822 date '{$sDateTime}'"); + return 0; + } + + return $timestamp; + } catch (\Throwable $error) { + // Catch integer overflow or other fatal errors + \SnappyMail\Log::notice('', "Failed to parse RFC 2822 date '{$sDateTime}'. {$error->getMessage()}"); + return 0; } - return $oDateTime ? $oDateTime->getTimestamp() : 0; } /** diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Base/Utils.php b/snappymail/v/0.0.0/app/libraries/MailSo/Base/Utils.php index 5cf2f68ca..f16598be8 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Base/Utils.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Base/Utils.php @@ -59,7 +59,7 @@ abstract class Utils return 'iso-8859-8'; } - return \preg_replace('/^(cp-?|windows?)(12[\d])/', 'windows-$1', $sEncoding); + return \preg_replace('/^(cp|windows)-?(12[\d]*)/i', 'windows-$2', $sEncoding); } public static function NormalizeCharsetByValue(string $sCharset, string $sValue) : string 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 08a5b3dee..e95d93e90 100644 --- a/snappymail/v/0.0.0/app/localization/fr/user.json +++ b/snappymail/v/0.0.0/app/localization/fr/user.json @@ -247,7 +247,7 @@ "DISCARD_UNSAVED_DATA": "Abandonner les données non enregistrées ?", "ATTACH_FILES": "Joindre des fichiers", "ATTACH_DROP_FILES_DESC": "Glisser les fichiers ici", - "REPLY_MESSAGE_TITLE": "%DATETIME% %EMAIL% a écrit", + "REPLY_MESSAGE_TITLE": "%DATETIME% %EMAIL% a écrit ", "FORWARD_MESSAGE_TOP_TITLE": "-------- Message transféré -------", "FORWARD_MESSAGE_TOP_SENT": "Envoyé", "EMPTY_TO_ERROR_DESC": "Merci de spécifier au moins un destinataire", diff --git a/snappymail/v/0.0.0/app/localization/ru/user.json b/snappymail/v/0.0.0/app/localization/ru/user.json index 2a0a16c18..1e67f7943 100644 --- a/snappymail/v/0.0.0/app/localization/ru/user.json +++ b/snappymail/v/0.0.0/app/localization/ru/user.json @@ -31,7 +31,7 @@ "SAVE": "Сохранить", "SAVE_CHANGES": "Сохранить изменения?", "SEARCH": "Поиск", - "SPAM": "В спам", + "SPAM": "Спам", "SUBJECT": "Тема", "TEST": "Тест", "TO": "Кому", @@ -60,12 +60,12 @@ "UNSEEN": "Непрочитанные", "DATE": "Дата", "DATE_ALL": "За всё время", - "BEFORE_3_DAYS": "Older then 3 days", - "BEFORE_7_DAYS": "Older then 1 week", - "BEFORE_MONTH": "Older then 1 month", - "BEFORE_3_MONTHS": "Older then 3 months", - "BEFORE_6_MONTHS": "Older then 6 months", - "BEFORE_YEAR": "Older then 1 year", + "BEFORE_3_DAYS": "Старше 3 дней", + "BEFORE_7_DAYS": "Старше недели", + "BEFORE_MONTH": "Старше месяца", + "BEFORE_3_MONTHS": "Старше 3 месяцев", + "BEFORE_6_MONTHS": "Старше полугода", + "BEFORE_YEAR": "Старше года", "SINCE_3_DAYS": "За три дня", "SINCE_7_DAYS": "За неделю", "SINCE_MONTH": "За месяц", @@ -130,8 +130,8 @@ "QUOTA_SIZE": "Использовано %SIZE% (%PROC%%)<\/strong> из %LIMIT%<\/strong>", "SORT": "Сортировка", "NO_SORT": "Почтовый сервер не поддерживает сортировку", - "SORT_ARRIVAL_ASC": "Arrived ascending", - "SORT_ARRIVAL_DESC": "Arrived descending", + "SORT_ARRIVAL_ASC": "Получено (по возрастанию)", + "SORT_ARRIVAL_DESC": "Получено (по убыванию)", "SORT_DATE_ASC": "Дата по возрастанию", "SORT_DATE_DESC": "Дата по убыванию", "SORT_SIZE_ASC": "Размер по возрастанию", @@ -160,7 +160,7 @@ "MENU_VIEW_ORIGINAL": "Просмотреть оригинал", "HTML_VIEW": "Просмотр сообщения в HTML", "PLAIN_VIEW": "Просмотр простого текстового сообщения", - "SWAP_COLORS": "Swap default (background)color", + "SWAP_COLORS": "Переключить цвет фона по умолчанию", "MENU_DOWNLOAD_ORIGINAL": "Скачать как .eml файл", "MENU_FILTER_SIMILAR": "Фильтровать похожие", "MENU_PRINT": "Распечатать", @@ -176,8 +176,8 @@ "HAS_VIRUS_WARNING": "ВНИМАНИЕ: Обнаружен вирус!", "TAGS": "Метки", "NEW_TAG": "Новая метка", - "ENABLE_TRACKING_LINKS": "Enable tracking links", - "TRACKING_ENABLED": "Links are now tracked when clicked!" + "ENABLE_TRACKING_LINKS": "Включить отслеживание ссылок", + "TRACKING_ENABLED": "Теперь клики по ссылкам отслеживаются!" }, "MESSAGE_TAGS": { "$important": "Важное", @@ -303,13 +303,13 @@ "VERIFY": "Проверить", "GOOD_SIGNATURE": "Подтвержденная сигнатура для %USER%", "ERROR": "%TYPE% ошибка: %ERROR%", - "CREATE_SELF_SIGNED": "Create self-signed", - "VALID_UNTIL": "Valid until", - "PRIVATE_KEY": "Private key", - "CHANGE_PASS": "Change passphrase", - "CURRENT_PASS": "Current passphrase", - "NEW_PASS": "New passphrase", - "ASK_CRYPTKEY_PASS": "Your login passphrase has changed. Please fill in your old login passphrase to decrypt data" + "CREATE_SELF_SIGNED": "Создать самоподписанный", + "VALID_UNTIL": "Действителен до", + "PRIVATE_KEY": "Закрытый ключ (PK)", + "CHANGE_PASS": "Изменить парольную фразу", + "CURRENT_PASS": "Текущая парольная фраза", + "NEW_PASS": "Новая парольная фраза", + "ASK_CRYPTKEY_PASS": "Ваша парольная фраза была изменена. Введите вашу старую фразу для расшифровки данных" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Импорт OpenPGP ключа", @@ -321,20 +321,20 @@ "LABEL_KEY_TYPE": "Тип", "SIGNED_MESSAGE": "OpenPGP подписанное сообщение", "ENCRYPTED_MESSAGE": "OpenPGP шифрованное сообщение", - "STORE_IN_GNUPG": "Хранить на сервере в GnuPG", - "STORE_PUBLIC_KEY_IN_GNUPG": "Store public key on server in GnuPG", - "STORE_PRIVATE_KEY_IN_GNUPG": "Store private key on server in GnuPG", + "STORE_IN_GNUPG": "Хранение на сервере в GnuPG", + "STORE_PUBLIC_KEY_IN_GNUPG": "Хранение открытого ключа на сервере в GnuPG", + "STORE_PRIVATE_KEY_IN_GNUPG": "Хранение закрытого ключа на сервере в GnuPG", "BACKUP_ON_SERVER": "Хранить (с шифрованием) на сервере", - "BACKUP_PUBLIC_KEY_ON_SERVER": "Backup public key on server", - "BACKUP_PRIVATE_KEY_ON_SERVER": "Backup private key on server" + "BACKUP_PUBLIC_KEY_ON_SERVER": "Хранить открытый ключ на сервере", + "BACKUP_PRIVATE_KEY_ON_SERVER": "Хранить закрытый ключ на сервере" }, "SMIME": { - "POPUP_IMPORT_TITLE": "Import S\/MIME certificate", - "CERTIFICATE": "Certificate", - "CERTIFICATES": "S\/MIME Certificates", + "POPUP_IMPORT_TITLE": "Импорт сертификата S\/MIME", + "CERTIFICATE": "Сертификат", + "CERTIFICATES": "Сертификаты S\/MIME", "SIGNED_MESSAGE": "S\/MIME подписанное сообщение", "ENCRYPTED_MESSAGE": "S\/MIME шифрованное сообщение", - "PRIVATE_KEY_OF": "S\/MIME private key of %EMAIL%" + "PRIVATE_KEY_OF": "S\/MIME приватный ключ для %EMAIL%" }, "POPUPS_FILTER": { "TITLE_CREATE_FILTER": "Создать фильтр", @@ -409,31 +409,31 @@ "EDITOR": { "PLAIN": "HTML <-> TEXT", "SOURCE": "HTML <-> SOURCE", - "FONTFAMILY": "Font family", - "FONTSIZE": "Font size", - "DIR": "Text direction", - "DIR_LTR": "Left to right", - "DIR_RTL": "Right to left", - "DIR_AUTO": "Automatic", - "TEXTCOLOR": "Text color", - "BACKGROUNDCOLOR": "Background color", - "BOLD": "Bold", - "ITALIC": "Italic", - "UNDERLINE": "Underline", - "STRIKE": "Strikethrough", - "SUB": "Subscript", - "SUP": "Superscript", - "OL": "Ordered list", - "UL": "Unordered list", - "QUOTE": "Blockquote", - "INDENTDECREASE": "Decrease indent", - "INDENTINCREASE": "Increase indent", - "LINK": "Link", - "IMAGEURL": "Image URL", - "IMAGEUPLOAD": "Image select", - "UNDO": "Undo", - "REDO": "Redo", - "REMOVESTYLE": "Remove style" + "FONTFAMILY": "Шрифт", + "FONTSIZE": "Размер шрифта", + "DIR": "Направление текста", + "DIR_LTR": "Слева направо", + "DIR_RTL": "Справа налево", + "DIR_AUTO": "Автоматически", + "TEXTCOLOR": "Цвет текста", + "BACKGROUNDCOLOR": "Цвет фона", + "BOLD": "Жирный", + "ITALIC": "Курсив", + "UNDERLINE": "Подчеркнутый", + "STRIKE": "Зачеркнутый", + "SUB": "Подстрочный индекс", + "SUP": "Надстрочный индекс", + "OL": "Упорядоченный список", + "UL": "Неупорядоченный список", + "QUOTE": "Блок-цитата", + "INDENTDECREASE": "Уменьшить отступ", + "INDENTINCREASE": "Увеличить отступ", + "LINK": "Ссылка", + "IMAGEURL": "URL-адрес изображения", + "IMAGEUPLOAD": "Выбрать на устройстве", + "UNDO": "Отменить", + "REDO": "Повторить", + "REMOVESTYLE": "Очистить стиль" }, "SETTINGS_LABELS": { "GENERAL": "Основные", @@ -457,7 +457,7 @@ "SETTINGS_SECURITY": { "LEGEND_SECURITY": "Безопасность", "LABEL_AUTOLOGOUT": "Автоматический выход", - "FORGET_KEY_PASS": "Forget private key passphrase", + "FORGET_KEY_PASS": "Забыть парольную фразу закрытого ключа", "NEVER": "Никогда" }, "SETTINGS_GENERAL": { @@ -477,7 +477,7 @@ "HIDE_DELETED_MESSAGES": "Скрыть сообщения, помеченные для удаления", "USE_CHECKBOXES_IN_LIST": "Показывать чекбоксы в списках", "USE_THREADS": "Сворачивать письма в переписках", - "THREAD_ALGORITHM": "Threads algorithm", + "THREAD_ALGORITHM": "Группировка по беседам", "REPLY_SAME_FOLDER": "Помещать ответы в ту же папку, где находится оригинал", "PREFER_HTML": "Предпочитать HTML обычному тексту", "PREFER_HTML_INFO": "Сообщения иногда приходят в обоих форматах. Этот параметр определяет, хотите ли вы, чтобы отображалась HTML-часть или обычный текст.", @@ -503,9 +503,9 @@ "IMAGES_OPTION_WHITELIST": "Белый список или спрашивать", "IMAGES_OPTION_ALWAYS": "Показать всегда", "IMAGES_WHITELIST": "Форматы из белого списка", - "MESSAGE_POPUP_WINDOW": "Popup in new window instead of tab", - "MAILTO": "Register as 'mailto:' links handler", - "HTML_TO_MD": "Convert HTML to Markdown instead of plain text" + "MESSAGE_POPUP_WINDOW": "Всплывающее окно в новом окне вместо вкладки", + "MAILTO": "Установить в качестве обработчика ссылок 'mailto:' по умолчанию", + "HTML_TO_MD": "Преобразование HTML в Markdown вместо обычного текста" }, "SETTINGS_CONTACTS": { "LABEL_CONTACTS_AUTOSAVE": "Автоматически добавлять получателей писем в адресную книгу", @@ -562,7 +562,7 @@ "SETTINGS_OPENPGP": { "BUTTON_IMPORT_KEY": "Импортировать ключ", "BUTTON_GENERATE_KEY_PAIR": "Новый ключ", - "IMPORT_FROM_SERVER": "Import from server", + "IMPORT_FROM_SERVER": "Импортировать с сервера", "TITLE_PRIVATE": "Приватный", "TITLE_PUBLIC": "Публичный", "GET_MAILVELOPE": "Получить дополнение для браузера Mailvelope." @@ -614,7 +614,7 @@ "DomainAlreadyExists": "Домен уже существует", "DomainNotAllowed": "Данный домен не разрешен", "AccountNotAllowed": "Данный аккаунт не разрешен", - "CryptKeyError": "Your login passphrase has changed", + "CryptKeyError": "Ваша парольная фраза была изменена", "ContactsSyncError": "Ошибка синхронизации контактов", "CantGetMessageList": "Не могу получить список писем", "CantGetMessage": "Не могу получить письмо", diff --git a/snappymail/v/0.0.0/app/localization/uk/user.json b/snappymail/v/0.0.0/app/localization/uk/user.json index 75e58db04..ccb7705ec 100644 --- a/snappymail/v/0.0.0/app/localization/uk/user.json +++ b/snappymail/v/0.0.0/app/localization/uk/user.json @@ -31,7 +31,7 @@ "SAVE": "Зберегти", "SAVE_CHANGES": "Зберегти зміни?", "SEARCH": "Пошук", - "SPAM": "В спам", + "SPAM": "Спам", "SUBJECT": "Тема", "TEST": "Тест", "TO": "Кому",