mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-09-07 13:44:13 +08:00
Merge branch 'the-djmaze:master' into fix-ru-lang
This commit is contained in:
commit
1c9c9f0d6b
5 changed files with 21 additions and 12 deletions
|
@ -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>
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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:');
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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",
|
||||
|
|
Loading…
Add table
Reference in a new issue