Rename spam=>junk and draft=>drafts folder names to be compatible with IMAP and JMAP

This commit is contained in:
the-djmaze 2023-02-21 10:56:21 +01:00
parent 6c00a9cf3b
commit 07f6b7545a
6 changed files with 25 additions and 19 deletions

View file

@ -199,11 +199,11 @@ FolderUserStore = new class {
saveSystemFolders(folders) {
folders = folders || {
Sent: FolderUserStore.sentFolder(),
Drafts: FolderUserStore.draftsFolder(),
Spam: FolderUserStore.spamFolder(),
Trash: FolderUserStore.trashFolder(),
Archive: FolderUserStore.archiveFolder()
sent: FolderUserStore.sentFolder(),
drafts: FolderUserStore.draftsFolder(),
junk: FolderUserStore.spamFolder(),
trash: FolderUserStore.trashFolder(),
archive: FolderUserStore.archiveFolder()
};
forEachObjectEntry(folders, (k,v)=>Settings.set(k+'Folder',v));
rl.app.Remote.request('SystemFoldersUpdate', null, folders);

View file

@ -9,9 +9,9 @@ class MailboxDetectPlugin extends \RainLoop\Plugins\AbstractPlugin
NAME = 'MailboxDetect',
AUTHOR = 'SnappyMail',
URL = 'https://snappymail.eu/',
VERSION = '2.4',
RELEASE = '2023-02-08',
REQUIRED = '2.25.0',
VERSION = '2.5',
RELEASE = '2023-02-21',
REQUIRED = '2.26.3',
CATEGORY = 'General',
LICENSE = 'MIT',
DESCRIPTION = 'Autodetect system folders and/or create them when needed';
@ -48,8 +48,8 @@ class MailboxDetectPlugin extends \RainLoop\Plugins\AbstractPlugin
$roles = [
'inbox' => false,
'sent' => !!$oSettingsLocal->GetConf('SentFolder', ''),
'drafts' => !!$oSettingsLocal->GetConf('DraftFolder', ''),
'junk' => !!$oSettingsLocal->GetConf('SpamFolder', ''),
'drafts' => !!$oSettingsLocal->GetConf('DraftsFolder', ''),
'junk' => !!$oSettingsLocal->GetConf('JunkFolder', ''),
'trash' => !!$oSettingsLocal->GetConf('TrashFolder', ''),
'archive' => !!$oSettingsLocal->GetConf('ArchiveFolder', '')
];

View file

@ -770,8 +770,8 @@ class Actions
unset($aResult['theme']);
*/
$aResult['SentFolder'] = (string)$oSettingsLocal->GetConf('SentFolder', '');
$aResult['DraftsFolder'] = (string)$oSettingsLocal->GetConf('DraftFolder', '');
$aResult['JunkFolder'] = (string)$oSettingsLocal->GetConf('SpamFolder', '');
$aResult['DraftsFolder'] = (string)$oSettingsLocal->GetConf('DraftsFolder', '');
$aResult['JunkFolder'] = (string)$oSettingsLocal->GetConf('JunkFolder', '');
$aResult['TrashFolder'] = (string)$oSettingsLocal->GetConf('TrashFolder', '');
$aResult['ArchiveFolder'] = (string)$oSettingsLocal->GetConf('ArchiveFolder', '');
$aResult['HideUnsubscribed'] = (bool)$oSettingsLocal->GetConf('HideUnsubscribed', $aResult['HideUnsubscribed']);

View file

@ -210,8 +210,8 @@ trait Accounts
if ($oSettingsLocal instanceof \RainLoop\Settings) {
$oConfig = $this->Config();
$aResult['SentFolder'] = (string) $oSettingsLocal->GetConf('SentFolder', '');
$aResult['DraftsFolder'] = (string) $oSettingsLocal->GetConf('DraftFolder', '');
$aResult['JunkFolder'] = (string) $oSettingsLocal->GetConf('SpamFolder', '');
$aResult['DraftsFolder'] = (string) $oSettingsLocal->GetConf('DraftsFolder', '');
$aResult['JunkFolder'] = (string) $oSettingsLocal->GetConf('JunkFolder', '');
$aResult['TrashFolder'] = (string) $oSettingsLocal->GetConf('TrashFolder', '');
$aResult['ArchiveFolder'] = (string) $oSettingsLocal->GetConf('ArchiveFolder', '');
$aResult['HideUnsubscribed'] = (bool) $oSettingsLocal->GetConf('HideUnsubscribed', false);

View file

@ -332,11 +332,11 @@ trait Folders
$oSettingsLocal = $this->SettingsProvider(true)->Load($oAccount);
$oSettingsLocal->SetConf('SentFolder', $this->GetActionParam('Sent', ''));
$oSettingsLocal->SetConf('DraftFolder', $this->GetActionParam('Drafts', ''));
$oSettingsLocal->SetConf('SpamFolder', $this->GetActionParam('Spam', ''));
$oSettingsLocal->SetConf('TrashFolder', $this->GetActionParam('Trash', ''));
$oSettingsLocal->SetConf('ArchiveFolder', $this->GetActionParam('Archive', ''));
$oSettingsLocal->SetConf('SentFolder', $this->GetActionParam('sent', ''));
$oSettingsLocal->SetConf('DraftsFolder', $this->GetActionParam('drafts', ''));
$oSettingsLocal->SetConf('JunkFolder', $this->GetActionParam('junk', ''));
$oSettingsLocal->SetConf('TrashFolder', $this->GetActionParam('trash', ''));
$oSettingsLocal->SetConf('ArchiveFolder', $this->GetActionParam('archive', ''));
return $this->DefaultResponse($this->SettingsProvider(true)->Save($oAccount, $oSettingsLocal));
}

View file

@ -8,6 +8,12 @@ class Settings implements \JsonSerializable
public function __construct(array $aData)
{
if (isset($aData['SpamFolder']) && !isset($aData['JunkFolder'])) {
$aData['JunkFolder'] = $aData['SpamFolder'];
}
if (isset($aData['DraftFolder']) && !isset($aData['DraftsFolder'])) {
$aData['DraftsFolder'] = $aData['DraftFolder'];
}
$this->aData = $aData;
}