From 8a0b3d379160df44b6d6cd4b36bfe4cc118089cf Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Sun, 18 Feb 2024 16:44:20 +0100 Subject: [PATCH] Resolve #1425 --- plugins/nextcloud/index.php | 12 ++++++++---- plugins/nextcloud/js/message.js | 2 +- plugins/nextcloud/js/messagelist.js | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/plugins/nextcloud/index.php b/plugins/nextcloud/index.php index e96b63674..37dd8006e 100644 --- a/plugins/nextcloud/index.php +++ b/plugins/nextcloud/index.php @@ -4,8 +4,8 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin { const NAME = 'Nextcloud', - VERSION = '2.30', - RELEASE = '2024-02-08', + VERSION = '2.31', + RELEASE = '2024-02-18', CATEGORY = 'Integrations', DESCRIPTION = 'Integrate with Nextcloud v20+', REQUIRED = '2.34.0'; @@ -119,7 +119,8 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin { $sSaveFolder = \ltrim($this->jsonParam('folder', ''), '/'); // $aValues = \RainLoop\Api::Actions()->decodeRawKey($this->jsonParam('msgHash', '')); - $aValues = \json_decode(\MailSo\Base\Utils::UrlSafeBase64Decode($this->jsonParam('msgHash', '')), true); + $msgHash = $this->jsonParam('msgHash', ''); + $aValues = \json_decode(\MailSo\Base\Utils::UrlSafeBase64Decode($msgHash), true); $aResult = [ 'folder' => '', 'filename' => '', @@ -139,7 +140,10 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin $oFiles->is_dir($sSaveFolder) || $oFiles->mkdir($sSaveFolder); } $aResult['folder'] = $sSaveFolder; - $aResult['filename'] = ($this->jsonParam('filename', '') ?: \date('YmdHis')) . '.eml'; + $aResult['filename'] = \MailSo\Base\Utils::SecureFileName( + \mb_substr($this->jsonParam('filename', '') ?: \date('YmdHis'), 0, 100) + ) . '.' . \md5($msgHash) . '.eml'; + $oMailClient->MessageMimeStream( function ($rResource) use ($oFiles, $aResult) { diff --git a/plugins/nextcloud/js/message.js b/plugins/nextcloud/js/message.js index 2d5d8734f..f5154b745 100644 --- a/plugins/nextcloud/js/message.js +++ b/plugins/nextcloud/js/message.js @@ -100,7 +100,7 @@ { 'msgHash': msg.requestHash, 'folder': folder, - 'filename': msg.subject() + '-' + msg.requestHash + 'filename': msg.subject() } ); }); diff --git a/plugins/nextcloud/js/messagelist.js b/plugins/nextcloud/js/messagelist.js index 1b0dfc9d6..8b8681afa 100644 --- a/plugins/nextcloud/js/messagelist.js +++ b/plugins/nextcloud/js/messagelist.js @@ -19,7 +19,7 @@ { 'msgHash': msg.requestHash, 'folder': folder, - 'filename': msg.subject() + '-' + msg.requestHash + 'filename': msg.subject() } ); });