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

View file

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

View file

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

View file

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

View file

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

View file

@ -8,6 +8,12 @@ class Settings implements \JsonSerializable
public function __construct(array $aData) 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; $this->aData = $aData;
} }