This commit is contained in:
the-djmaze 2023-03-28 09:49:25 +02:00
parent f33ae5e021
commit 0c89285033

View file

@ -4,11 +4,11 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin
{ {
const const
NAME = 'Nextcloud', NAME = 'Nextcloud',
VERSION = '2.21', VERSION = '2.22',
RELEASE = '2023-03-18', RELEASE = '2023-03-28',
CATEGORY = 'Integrations', CATEGORY = 'Integrations',
DESCRIPTION = 'Integrate with Nextcloud v20+', DESCRIPTION = 'Integrate with Nextcloud v20+',
REQUIRED = '2.25.1'; REQUIRED = '2.27.0';
public function Init() : void public function Init() : void
{ {
@ -94,7 +94,8 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin
public function NextcloudSaveMsg() : array public function NextcloudSaveMsg() : array
{ {
$sSaveFolder = \ltrim($this->jsonParam('folder', ''), '/'); $sSaveFolder = \ltrim($this->jsonParam('folder', ''), '/');
$aValues = \RainLoop\Utils::DecodeKeyValuesQ($this->jsonParam('msgHash', '')); // $aValues = \RainLoop\Api::Actions()->decodeRawKey($this->jsonParam('msgHash', ''));
$aValues = \json_decode(\MailSo\Base\Utils::UrlSafeBase64Decode($this->jsonParam('msgHash', '')), true);
$aResult = [ $aResult = [
'folder' => '', 'folder' => '',
'filename' => '', 'filename' => '',
@ -114,14 +115,12 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin
$oFiles->is_dir($sSaveFolder) || $oFiles->mkdir($sSaveFolder); $oFiles->is_dir($sSaveFolder) || $oFiles->mkdir($sSaveFolder);
} }
$aResult['folder'] = $sSaveFolder; $aResult['folder'] = $sSaveFolder;
$aResult['filename'] = ($this->jsonParam('filename', '') ?: \date('YmdHis')) . '.eml';
$sFilename = $sSaveFolder . '/' . ($this->jsonParam('filename', '') ?: \date('YmdHis')) . '.eml';
$aResult['folder'] = $sFilename;
$oMailClient->MessageMimeStream( $oMailClient->MessageMimeStream(
function ($rResource) use ($oFiles, $sFilename, $aResult) { function ($rResource) use ($oFiles, $aResult) {
if (\is_resource($rResource)) { if (\is_resource($rResource)) {
$aResult['success'] = $oFiles->file_put_contents($sFilename, $rResource); $aResult['success'] = $oFiles->file_put_contents("{$aResult['folder']}/{$aResult['filename']}", $rResource);
} }
}, },
(string) $aValues['folder'], (string) $aValues['folder'],