mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-07 08:27:03 +03:00
Resolve #992
This commit is contained in:
parent
0144be49bf
commit
d8b05ee361
4 changed files with 15 additions and 5 deletions
|
|
@ -42,10 +42,11 @@ download = (link, name = "") => {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
downloadZip = (hashes, onError, fTrigger, folder) => {
|
downloadZip = (name, hashes, onError, fTrigger, folder) => {
|
||||||
if (hashes.length) {
|
if (hashes.length) {
|
||||||
let params = {
|
let params = {
|
||||||
target: 'zip',
|
target: 'zip',
|
||||||
|
filename: name,
|
||||||
hashes: hashes
|
hashes: hashes
|
||||||
};
|
};
|
||||||
if (!onError) {
|
if (!onError) {
|
||||||
|
|
|
||||||
|
|
@ -363,13 +363,19 @@ export class MailMessageList extends AbstractViewRight {
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Download selected messages
|
||||||
|
*/
|
||||||
downloadZipCommand() {
|
downloadZipCommand() {
|
||||||
let hashes = []/*, uids = []*/;
|
let hashes = []/*, uids = []*/;
|
||||||
// MessagelistUserStore.forEach(message => message.checked() && uids.push(message.uid));
|
// MessagelistUserStore.forEach(message => message.checked() && uids.push(message.uid));
|
||||||
MessagelistUserStore.forEach(message => message.checked() && hashes.push(message.requestHash));
|
MessagelistUserStore.forEach(message => message.checked() && hashes.push(message.requestHash));
|
||||||
downloadZip(hashes, null, null, MessagelistUserStore().folder);
|
downloadZip(null, hashes, null, null, MessagelistUserStore().folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Download attachments of selected messages
|
||||||
|
*/
|
||||||
downloadAttachCommand() {
|
downloadAttachCommand() {
|
||||||
let hashes = [];
|
let hashes = [];
|
||||||
MessagelistUserStore.forEach(message => {
|
MessagelistUserStore.forEach(message => {
|
||||||
|
|
@ -381,7 +387,7 @@ export class MailMessageList extends AbstractViewRight {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
downloadZip(hashes);
|
downloadZip(null, hashes);
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteWithoutMoveCommand() {
|
deleteWithoutMoveCommand() {
|
||||||
|
|
|
||||||
|
|
@ -469,7 +469,9 @@ export class MailMessageView extends AbstractViewRight {
|
||||||
const hashes = (currentMessage()?.attachments || [])
|
const hashes = (currentMessage()?.attachments || [])
|
||||||
.map(item => item?.checked() /*&& !item?.isLinked()*/ ? item.download : '')
|
.map(item => item?.checked() /*&& !item?.isLinked()*/ ? item.download : '')
|
||||||
.filter(v => v);
|
.filter(v => v);
|
||||||
downloadZip(hashes,
|
downloadZip(
|
||||||
|
currentMessage().subject(),
|
||||||
|
hashes,
|
||||||
() => this.downloadAsZipError(true),
|
() => this.downloadAsZipError(true),
|
||||||
this.downloadAsZipLoading
|
this.downloadAsZipLoading
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ trait Attachments
|
||||||
{
|
{
|
||||||
$sAction = $this->GetActionParam('target', '');
|
$sAction = $this->GetActionParam('target', '');
|
||||||
$sFolder = $this->GetActionParam('folder', '');
|
$sFolder = $this->GetActionParam('folder', '');
|
||||||
|
$sFilename = \MailSo\Base\Utils::SecureFileName($this->GetActionParam('filename', ''));
|
||||||
$aHashes = $this->GetActionParam('hashes', null);
|
$aHashes = $this->GetActionParam('hashes', null);
|
||||||
$oFilesProvider = $this->FilesProvider();
|
$oFilesProvider = $this->FilesProvider();
|
||||||
if (empty($sAction) || !$this->GetCapa(Capa::ATTACHMENTS_ACTIONS) || !$oFilesProvider || !$oFilesProvider->IsActive()) {
|
if (empty($sAction) || !$this->GetCapa(Capa::ATTACHMENTS_ACTIONS) || !$oFilesProvider || !$oFilesProvider->IsActive()) {
|
||||||
|
|
@ -108,7 +109,7 @@ trait Attachments
|
||||||
if (!$bError) {
|
if (!$bError) {
|
||||||
$mResult = array(
|
$mResult = array(
|
||||||
'fileHash' => $this->encodeRawKey($oAccount, array(
|
'fileHash' => $this->encodeRawKey($oAccount, array(
|
||||||
'fileName' => ($sFolder ? 'messages' : 'attachments') . \date('-YmdHis') . '.zip',
|
'fileName' => ($sFilename ?: ($sFolder ? 'messages' : 'attachments')) . \date('-YmdHis') . '.zip',
|
||||||
'mimeType' => 'application/zip',
|
'mimeType' => 'application/zip',
|
||||||
'fileHash' => $sZipHash
|
'fileHash' => $sZipHash
|
||||||
))
|
))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue