From 07f6b7545aa1a67489805fddd415fb6e4c534e8e Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Tue, 21 Feb 2023 10:56:21 +0100 Subject: [PATCH] Rename spam=>junk and draft=>drafts folder names to be compatible with IMAP and JMAP --- dev/Stores/User/Folder.js | 10 +++++----- plugins/mailbox-detect/index.php | 10 +++++----- snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php | 4 ++-- .../0.0.0/app/libraries/RainLoop/Actions/Accounts.php | 4 ++-- .../v/0.0.0/app/libraries/RainLoop/Actions/Folders.php | 10 +++++----- snappymail/v/0.0.0/app/libraries/RainLoop/Settings.php | 6 ++++++ 6 files changed, 25 insertions(+), 19 deletions(-) diff --git a/dev/Stores/User/Folder.js b/dev/Stores/User/Folder.js index 123c221e2..36ea0da3f 100644 --- a/dev/Stores/User/Folder.js +++ b/dev/Stores/User/Folder.js @@ -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); diff --git a/plugins/mailbox-detect/index.php b/plugins/mailbox-detect/index.php index e59d90c86..574bca0ca 100644 --- a/plugins/mailbox-detect/index.php +++ b/plugins/mailbox-detect/index.php @@ -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', '') ]; diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php index 48924f28a..df3997265 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -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']); diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Accounts.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Accounts.php index 40766ffb9..7ab1c366a 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Accounts.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Accounts.php @@ -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); diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Folders.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Folders.php index 5d3aae6e4..50b99230c 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Folders.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Folders.php @@ -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)); } diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Settings.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Settings.php index 8a2f47ac2..9794a85d8 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Settings.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Settings.php @@ -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; }