Merge branch 'the-djmaze:master' into fix-ru-lang

This commit is contained in:
Roman Chutchev 2025-03-11 22:37:35 +02:00 committed by GitHub
commit 1c9c9f0d6b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 21 additions and 12 deletions

View file

@ -64,7 +64,7 @@ There, click on the link to go to the SnappyMail admin panel.
<lib>xxtea</lib>
<lib>zip</lib>
-->
<nextcloud min-version="20" max-version="30" />
<nextcloud min-version="20" max-version="32" />
</dependencies>
<settings>
<admin>OCA\SnappyMail\Settings\AdminSettings</admin>

View file

@ -10,8 +10,8 @@ class AvatarsPlugin extends \RainLoop\Plugins\AbstractPlugin
NAME = 'Avatars',
AUTHOR = 'SnappyMail',
URL = 'https://snappymail.eu/',
VERSION = '1.21',
RELEASE = '2024-10-28',
VERSION = '1.22',
RELEASE = '2025-03-10',
REQUIRED = '2.33.0',
CATEGORY = 'Contacts',
LICENSE = 'MIT',
@ -273,7 +273,7 @@ class AvatarsPlugin extends \RainLoop\Plugins\AbstractPlugin
}
if ($this->Config()->Get('plugin', 'gravatar', false)) {
$aUrls[] = 'https://gravatar.com/avatar/'.\md5(\strtolower($sAsciiEmail)).'?s=80&d=404';
$aUrls[] = 'https://gravatar.com/avatar/'.\hash('sha256', \strtolower($sAsciiEmail)).'?s=80&d=404';
}
foreach ($aUrls as $sUrl) {

View file

@ -42,6 +42,12 @@ abstract class Api
$CSP->report = $oConfig->Get('security', 'csp_report', false);
$CSP->report_only = $oConfig->Get('debug', 'enable', false); // || SNAPPYMAIL_DEV
// Allow favicon host, if present
$parsedFaviconUrl = parse_url($oConfig->Get('webmail', 'favicon_url', ''));
if (is_array($parsedFaviconUrl) && array_key_exists('host', $parsedFaviconUrl)) {
$CSP->add('img-src', $parsedFaviconUrl['host']);
}
// Allow https: due to remote images in e-mails or use proxy
if (!$oConfig->Get('labs', 'use_local_proxy_for_external_images', '')) {
$CSP->add('img-src', 'https:');

View file

@ -43,15 +43,18 @@ abstract class MimeType
\fclose($fp);
}
if ('application/zip' === \str_replace('/x-', '/', $mime)) {
$zip = new \ZipArchive();
if ($zip->open($filename, \ZIPARCHIVE::RDONLY)) {
if (false !== $zip->locateName('word/_rels/document.xml.rels')) {
return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
}
if (false !== $zip->locateName('xl/_rels/workbook.xml.rels')) {
return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
if (\class_exists('ZipArchive')) {
$zip = new \ZipArchive();
if ($zip->open($filename, \ZIPARCHIVE::RDONLY)) {
if (false !== $zip->locateName('word/_rels/document.xml.rels')) {
return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
}
if (false !== $zip->locateName('xl/_rels/workbook.xml.rels')) {
return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
}
}
}
$mime = \str_replace('/x-', '/', $mime);
}
}
return $mime ? static::detectDeeper($mime, $name ?: $filename) : null;

View file

@ -607,7 +607,7 @@
"NOTIFICATIONS": {
"RequestError": "Anfrage fehlgeschlagen",
"RequestAborted": "Anfrage abgebrochen",
"RequestTimeout": "Antrag auf Auslieferung",
"RequestTimeout": "Zeitüberschreitung der Anfrage",
"InvalidToken": "Ungültiger Token",
"AuthError": "Authentifizierung fehlgeschlagen",
"ConnectionError": "Serververbindung kann nicht hergestellt werden",