From 974350ebee0c914b2f77242d25a9bde6dbdea6d8 Mon Sep 17 00:00:00 2001
From: the-djmaze <>
Date: Thu, 26 Jan 2023 10:41:55 +0100
Subject: [PATCH] Found more JSON properties to change into JavaScript
camelCase
---
dev/App/User.js | 2 +-
dev/Common/Folders.js | 22 +--
dev/Common/UtilsUser.js | 23 +++
dev/Model/FolderCollection.js | 4 +-
dev/Model/Message.js | 6 +-
dev/Settings/Admin/About.js | 8 +-
dev/Settings/Admin/Domains.js | 10 +-
dev/Settings/Admin/Packages.js | 14 +-
dev/Settings/Admin/Security.js | 8 +-
dev/Settings/User/Accounts.js | 4 +-
dev/Settings/User/Folders.js | 4 +-
dev/Stores/Admin/Domain.js | 2 +-
dev/Stores/User/GnuPG.js | 16 +-
dev/Stores/User/Messagelist.js | 8 +-
dev/Stores/User/OpenPGP.js | 7 +-
dev/View/Popup/Account.js | 2 +-
dev/View/Popup/Compose.js | 2 +-
dev/View/Popup/Contacts.js | 6 +-
dev/View/Popup/Domain.js | 161 ++++++++----------
dev/View/Popup/DomainAlias.js | 10 +-
dev/View/Popup/Plugin.js | 18 +-
dev/View/User/MailBox/MessageList.js | 42 +----
dev/View/User/MailBox/MessageView.js | 22 +--
plugins/README.md | 9 +-
plugins/nextcloud/js/message.js | 4 +-
plugins/nextcloud/js/messagelist.js | 5 +-
.../0.0.0/app/libraries/RainLoop/Actions.php | 7 +-
.../libraries/RainLoop/Actions/Accounts.php | 12 +-
.../RainLoop/Actions/AdminDomains.php | 14 +-
.../RainLoop/Actions/AdminExtensions.php | 30 ++--
.../RainLoop/Actions/Attachments.php | 4 +-
.../libraries/RainLoop/Actions/Contacts.php | 7 +-
.../libraries/RainLoop/Actions/Folders.php | 16 +-
.../libraries/RainLoop/Actions/Messages.php | 158 ++++++++---------
.../app/libraries/RainLoop/Actions/Pgp.php | 18 +-
.../libraries/RainLoop/Actions/Response.php | 2 +-
.../app/libraries/RainLoop/Actions/Themes.php | 5 +-
.../app/libraries/RainLoop/ActionsAdmin.php | 12 +-
.../libraries/RainLoop/Plugins/Property.php | 12 +-
.../RainLoop/Plugins/PropertyCollection.php | 4 +-
.../libraries/RainLoop/Providers/Domain.php | 4 +-
.../app/libraries/RainLoop/ServiceActions.php | 9 +-
.../Admin/AdminSettingsPluginProperty.html | 28 +--
.../templates/Views/Admin/PopupsPlugin.html | 6 +-
.../templates/Views/User/PopupsAccount.html | 6 +-
45 files changed, 361 insertions(+), 412 deletions(-)
diff --git a/dev/App/User.js b/dev/App/User.js
index bc40fe6b0..1adfdf142 100644
--- a/dev/App/User.js
+++ b/dev/App/User.js
@@ -79,7 +79,7 @@ export class AppUser extends AbstractApp {
(currentTime > (lastTime + interval + 1000))
&& Remote.request('Version',
iError => (100 < iError) && location.reload(),
- { Version: Settings.app('version') }
+ { version: Settings.app('version') }
);
lastTime = currentTime;
}, interval);
diff --git a/dev/Common/Folders.js b/dev/Common/Folders.js
index 9c99f95db..1c31720d6 100644
--- a/dev/Common/Folders.js
+++ b/dev/Common/Folders.js
@@ -198,7 +198,7 @@ folderInformationMultiply = (boot = false) => {
boot && setTimeout(() => folderInformationMultiply(true), 2000);
}
}, {
- Folders: folders
+ folders: folders
});
}
},
@@ -226,11 +226,11 @@ messagesMoveHelper = (fromFolderFullName, toFolderFullName, uidsForMove) => {
Remote.abort('MessageList').request('MessageMove',
moveOrDeleteResponseHelper,
{
- FromFolder: fromFolderFullName,
- ToFolder: toFolderFullName,
- Uids: [...uidsForMove].join(','),
- MarkAsRead: (isSpam || FolderUserStore.trashFolder() === toFolderFullName) ? 1 : 0,
- Learning: isSpam ? 'SPAM' : isHam ? 'HAM' : ''
+ fromFolder: fromFolderFullName,
+ toFolder: toFolderFullName,
+ uids: [...uidsForMove].join(','),
+ markAsRead: (isSpam || FolderUserStore.trashFolder() === toFolderFullName) ? 1 : 0,
+ learning: isSpam ? 'SPAM' : isHam ? 'HAM' : ''
}
);
},
@@ -240,7 +240,7 @@ messagesDeleteHelper = (sFromFolderFullName, aUidForRemove) => {
moveOrDeleteResponseHelper,
{
folder: sFromFolderFullName,
- Uids: [...aUidForRemove].join(',')
+ uids: [...aUidForRemove].join(',')
}
);
},
@@ -259,9 +259,9 @@ moveMessagesToFolder = (sFromFolderFullName, oUids, sToFolderFullName, bCopy) =>
if (oFromFolder && oToFolder) {
bCopy
? Remote.request('MessageCopy', null, {
- FromFolder: oFromFolder.fullName,
- ToFolder: oToFolder.fullName,
- Uids: [...oUids].join(',')
+ fromFolder: oFromFolder.fullName,
+ toFolder: oToFolder.fullName,
+ uids: [...oUids].join(',')
})
: messagesMoveHelper(oFromFolder.fullName, oToFolder.fullName, oUids);
@@ -283,7 +283,7 @@ dropFilesInFolder = (sFolderFullName, files) => {
++count;
let data = new FormData;
data.append('folder', sFolderFullName);
- data.append('AppendFile', file);
+ data.append('appendFile', file);
data.XToken = Settings.app('token');
fetch(serverRequest('Append'), {
method: 'POST',
diff --git a/dev/Common/UtilsUser.js b/dev/Common/UtilsUser.js
index d71fa0bbd..41809b6c4 100644
--- a/dev/Common/UtilsUser.js
+++ b/dev/Common/UtilsUser.js
@@ -12,6 +12,7 @@ import { SettingsUserStore } from 'Stores/User/Settings';
import * as Local from 'Storage/Client';
import { ThemeStore } from 'Stores/Theme';
import Remote from 'Remote/User/Fetch';
+import { attachmentDownload } from 'Common/Links';
export const
@@ -42,6 +43,28 @@ download = (link, name = "") => {
}
},
+downloadZip = (hashes, onError, fTrigger, folder) => {
+ if (hashes.length) {
+ let params = {
+ target: 'zip',
+ hashes: hashes
+ };
+ if (!onError) {
+ onError = () => alert('Download failed');
+ }
+ if (folder) {
+ params.folder = folder;
+// params.uids = uids;
+ }
+ Remote.post('AttachmentsActions', fTrigger || null, params)
+ .then(result => {
+ let hash = result?.Result?.fileHash;
+ hash ? download(attachmentDownload(hash), hash+'.zip') : onError();
+ })
+ .catch(onError);
+ }
+},
+
/**
* @returns {function}
*/
diff --git a/dev/Model/FolderCollection.js b/dev/Model/FolderCollection.js
index f78f4bfdb..e94de8ff4 100644
--- a/dev/Model/FolderCollection.js
+++ b/dev/Model/FolderCollection.js
@@ -301,8 +301,8 @@ export class FolderModel extends AbstractModel {
this.exists = true;
this.hash = '';
-// this.id = null;
- this.uidNext = null;
+ this.id = 0;
+ this.uidNext = 0;
addObservablesTo(this, {
name: '',
diff --git a/dev/Model/Message.js b/dev/Model/Message.js
index 036d7b0b4..5c940ec05 100644
--- a/dev/Model/Message.js
+++ b/dev/Model/Message.js
@@ -44,9 +44,9 @@ const
}
}, {
folder: message.folder,
- Uids: message.uid,
- Keyword: keyword,
- SetAction: isSet ? 0 : 1
+ uids: message.uid,
+ keyword: keyword,
+ setAction: isSet ? 0 : 1
})
},
diff --git a/dev/Settings/Admin/About.js b/dev/Settings/Admin/About.js
index b5f8c35ff..03801fce5 100644
--- a/dev/Settings/Admin/About.js
+++ b/dev/Settings/Admin/About.js
@@ -59,10 +59,10 @@ export class AdminSettingsAbout /*extends AbstractViewSettings*/ {
this.coreChecking(false);
if (!iError && data?.Result) {
this.coreReal(true);
- this.coreUpdatable(!!data.Result.Updatable);
- this.coreWarning(!!data.Result.Warning);
- this.coreVersion(data.Result.Version || '');
- this.coreVersionCompare(data.Result.VersionCompare);
+ this.coreUpdatable(!!data.Result.updatable);
+ this.coreWarning(!!data.Result.warning);
+ this.coreVersion(data.Result.version || '');
+ this.coreVersionCompare(data.Result.versionCompare);
} else {
this.coreReal(false);
this.coreWarning(false);
diff --git a/dev/Settings/Admin/Domains.js b/dev/Settings/Admin/Domains.js
index 881854999..80fc9bff4 100644
--- a/dev/Settings/Admin/Domains.js
+++ b/dev/Settings/Admin/Domains.js
@@ -25,7 +25,7 @@ export class AdminSettingsDomains /*extends AbstractViewSettings*/ {
}
},
{
- username: this.username()
+ username: this.username
}
);
}
@@ -41,15 +41,15 @@ export class AdminSettingsDomains /*extends AbstractViewSettings*/ {
deleteDomain(domain) {
DomainAdminStore.remove(domain);
Remote.request('AdminDomainDelete', DomainAdminStore.fetch, {
- Name: domain.name
+ name: domain.name
});
}
disableDomain(domain) {
domain.disabled(!domain.disabled());
Remote.request('AdminDomainDisable', DomainAdminStore.fetch, {
- Name: domain.name,
- Disabled: domain.disabled() ? 1 : 0
+ name: domain.name,
+ disabled: domain.disabled() ? 1 : 0
});
}
@@ -59,7 +59,7 @@ export class AdminSettingsDomains /*extends AbstractViewSettings*/ {
el && ko.dataFor(el) && Remote.request('AdminDomainLoad',
(iError, oData) => iError || showScreenPopup(DomainPopupView, [oData.Result]),
{
- Name: ko.dataFor(el).name
+ name: ko.dataFor(el).name
}
);
diff --git a/dev/Settings/Admin/Packages.js b/dev/Settings/Admin/Packages.js
index fb0191987..3a0925880 100644
--- a/dev/Settings/Admin/Packages.js
+++ b/dev/Settings/Admin/Packages.js
@@ -46,7 +46,7 @@ export class AdminSettingsPackages extends AbstractViewSettings {
data && Remote.request('AdminPluginLoad',
(iError, data) => iError || showScreenPopup(PluginPopupView, [data.Result]),
{
- Id: data.id
+ id: data.id
}
);
// disablePlugin
@@ -84,7 +84,7 @@ export class AdminSettingsPackages extends AbstractViewSettings {
Remote.request('AdminPackageDelete',
this.requestHelper(packageToDelete, false),
{
- Id: packageToDelete.id
+ id: packageToDelete.id
}
);
}
@@ -96,9 +96,9 @@ export class AdminSettingsPackages extends AbstractViewSettings {
Remote.request('AdminPackageInstall',
this.requestHelper(packageToInstall, true),
{
- Id: packageToInstall.id,
- Type: packageToInstall.type,
- File: packageToInstall.file
+ id: packageToInstall.id,
+ type: packageToInstall.type,
+ file: packageToInstall.file
},
60000
);
@@ -120,8 +120,8 @@ export class AdminSettingsPackages extends AbstractViewSettings {
}
// PackageAdminStore.fetch();
}, {
- Id: plugin.id,
- Disabled: disable ? 1 : 0
+ id: plugin.id,
+ disabled: disable ? 1 : 0
}
);
}
diff --git a/dev/Settings/Admin/Security.js b/dev/Settings/Admin/Security.js
index 3dbfd37fa..3b99c16ab 100644
--- a/dev/Settings/Admin/Security.js
+++ b/dev/Settings/Admin/Security.js
@@ -102,10 +102,10 @@ export class AdminSettingsSecurity extends AbstractViewSettings {
this.weakPassword(!!data.Result.Weak);
}
}, {
- 'Login': this.adminLogin(),
- 'Password': this.adminPassword(),
- 'NewPassword': this.adminPasswordNew(),
- 'TOTP': this.adminTOTP()
+ Login: this.adminLogin(),
+ Password: this.adminPassword(),
+ newPassword: this.adminPasswordNew(),
+ TOTP: this.adminTOTP()
});
return true;
diff --git a/dev/Settings/User/Accounts.js b/dev/Settings/User/Accounts.js
index 287a3cd80..1e5694dad 100644
--- a/dev/Settings/User/Accounts.js
+++ b/dev/Settings/User/Accounts.js
@@ -67,7 +67,7 @@ export class UserSettingsAccounts /*extends AbstractViewSettings*/ {
rl.app.accountsAndIdentities();
}
}, {
- EmailToDelete: accountToRemove.email
+ emailToDelete: accountToRemove.email
});
}
}
@@ -81,7 +81,7 @@ export class UserSettingsAccounts /*extends AbstractViewSettings*/ {
this.identityForDeletion(null);
IdentityUserStore.remove(oIdentity => identityToRemove === oIdentity);
Remote.request('IdentityDelete', () => rl.app.accountsAndIdentities(), {
- IdToDelete: identityToRemove.id()
+ idToDelete: identityToRemove.id()
});
}
}
diff --git a/dev/Settings/User/Folders.js b/dev/Settings/User/Folders.js
index c3dd8ec37..b16443d73 100644
--- a/dev/Settings/User/Folders.js
+++ b/dev/Settings/User/Folders.js
@@ -160,8 +160,8 @@ export class UserSettingsFolders /*extends AbstractViewSettings*/ {
// TODO: append '.default' ?
Remote.request('FolderSetMetadata', null, {
folder: folder.fullName,
- Key: FolderMetadataKeys.KolabFolderType,
- Value: type
+ key: FolderMetadataKeys.KolabFolderType,
+ value: type
});
folder.kolabType(type);
}
diff --git a/dev/Stores/Admin/Domain.js b/dev/Stores/Admin/Domain.js
index 195ff2b77..abd599491 100644
--- a/dev/Stores/Admin/Domain.js
+++ b/dev/Stores/Admin/Domain.js
@@ -20,6 +20,6 @@ DomainAdminStore.fetch = () => {
);
}
}, {
- IncludeAliases: 1
+ includeAliases: 1
});
};
diff --git a/dev/Stores/User/GnuPG.js b/dev/Stores/User/GnuPG.js
index 48dd52630..c312e7cde 100644
--- a/dev/Stores/User/GnuPG.js
+++ b/dev/Stores/User/GnuPG.js
@@ -79,7 +79,7 @@ export const GnuPGUserStore = new class {
}, {
keyId: key.id,
isPrivate: isPrivate,
- Passphrase: pass
+ passphrase: pass
}
);
if (isPrivate) {
@@ -115,7 +115,7 @@ export const GnuPGUserStore = new class {
}
callback?.(iError, oData);
}, {
- Key: key
+ key: key
}
);
}
@@ -181,10 +181,10 @@ export const GnuPGUserStore = new class {
uid: message.uid,
partId: pgpInfo.PartId,
keyId: key.id,
- Passphrase: await askPassphrase(key, 'BUTTON_DECRYPT'),
- Data: '' // message.plain() optional
+ passphrase: await askPassphrase(key, 'BUTTON_DECRYPT'),
+ data: '' // message.plain() optional
}
- if (null !== params.Passphrase) {
+ if (null !== params.passphrase) {
const result = await Remote.post('GnupgDecrypt', null, params);
if (result?.Result && false !== result.Result.data) {
return result.Result;
@@ -202,9 +202,9 @@ export const GnuPGUserStore = new class {
// let mode = await this.hasPublicKeyForEmails([sender]);
data.folder = message.folder;
data.uid = message.uid;
- if (data.BodyPart) {
- data.BodyPart = data.BodyPart.raw;
- data.SigPart = data.SigPart.body;
+ if (data.bodyPart) {
+ data.bodyPart = data.bodyPart.raw;
+ data.sigPart = data.sigPart.body;
}
let response = await Remote.post('MessagePgpVerify', null, data);
if (response?.Result) {
diff --git a/dev/Stores/User/Messagelist.js b/dev/Stores/User/Messagelist.js
index 6066a690b..b7a075ad6 100644
--- a/dev/Stores/User/Messagelist.js
+++ b/dev/Stores/User/Messagelist.js
@@ -331,8 +331,8 @@ MessagelistUserStore.setAction = (sFolderFullName, iSetAction, messages) => {
}
Remote.request('MessageSetSeen', null, {
folder: sFolderFullName,
- Uids: rootUids.join(','),
- SetAction: iSetAction == MessageSetAction.SetSeen ? 1 : 0
+ uids: rootUids.join(','),
+ setAction: iSetAction == MessageSetAction.SetSeen ? 1 : 0
});
break;
@@ -340,8 +340,8 @@ MessagelistUserStore.setAction = (sFolderFullName, iSetAction, messages) => {
case MessageSetAction.UnsetFlag:
Remote.request('MessageSetFlagged', null, {
folder: sFolderFullName,
- Uids: rootUids.join(','),
- SetAction: iSetAction == MessageSetAction.SetFlag ? 1 : 0
+ uids: rootUids.join(','),
+ setAction: iSetAction == MessageSetAction.SetFlag ? 1 : 0
});
break;
// no default
diff --git a/dev/Stores/User/OpenPGP.js b/dev/Stores/User/OpenPGP.js
index a3defe280..682db3d8c 100644
--- a/dev/Stores/User/OpenPGP.js
+++ b/dev/Stores/User/OpenPGP.js
@@ -219,12 +219,13 @@ export const OpenPGPUserStore = new class {
if (data && publicKey) {
data.folder = message.folder;
data.uid = message.uid;
- data.GnuPG = 0;
+ data.tryGnuPG = 0;
let response;
if (data.sigPartId) {
response = await Remote.post('MessagePgpVerify', null, data);
- } else if (data.BodyPart) {
- response = { Result: { text: data.BodyPart.raw, signature: data.SigPart.body } };
+ } else if (data.bodyPart) {
+ // MimePart
+ response = { Result: { text: data.bodyPart.raw, signature: data.sigPart.body } };
} else {
response = { Result: { text: message.plain(), signature: null } };
}
diff --git a/dev/View/Popup/Account.js b/dev/View/Popup/Account.js
index fd58bb680..02ab08e29 100644
--- a/dev/View/Popup/Account.js
+++ b/dev/View/Popup/Account.js
@@ -29,7 +29,7 @@ export class AccountPopupView extends AbstractViewPopup {
submitForm(form) {
if (!this.submitRequest() && form.reportValidity()) {
const data = new FormData(form);
- data.set('New', this.isNew() ? 1 : 0);
+ data.set('new', this.isNew() ? 1 : 0);
this.submitRequest(true);
Remote.request('AccountSetup', (iError, data) => {
this.submitRequest(false);
diff --git a/dev/View/Popup/Compose.js b/dev/View/Popup/Compose.js
index 246c6bcbd..123ad13a7 100644
--- a/dev/View/Popup/Compose.js
+++ b/dev/View/Popup/Compose.js
@@ -1482,7 +1482,7 @@ export class ComposePopupView extends AbstractViewPopup {
signature.body = await OpenPGPUserStore.sign(data.toString(), sign[1], 1);
signed.children.push(signature);
params.signed = signed.toString();
- params.Boundary = signed.boundary;
+ params.boundary = signed.boundary;
data = signed;
} else if ('gnupg' == sign[0]) {
// TODO: sign in PHP fails
diff --git a/dev/View/Popup/Contacts.js b/dev/View/Popup/Contacts.js
index 2bc418e67..27d55fb22 100644
--- a/dev/View/Popup/Contacts.js
+++ b/dev/View/Popup/Contacts.js
@@ -104,10 +104,10 @@ export class ContactsPopupView extends AbstractViewPopup {
const contacts = this.contactsCheckedOrSelected();
if (contacts.length) {
let selectorContact = this.selectorContact(),
- Uids = [],
+ uids = [],
count = 0;
contacts.forEach(contact => {
- Uids.push(contact.id());
+ uids.push(contact.id());
if (selectorContact && selectorContact.id() === contact.id()) {
this.selectorContact(selectorContact = null);
}
@@ -127,7 +127,7 @@ export class ContactsPopupView extends AbstractViewPopup {
}
this.reloadContactList();
}, {
- Uids: Uids.join(',')
+ uids: uids.join(',')
}
);
}
diff --git a/dev/View/Popup/Domain.js b/dev/View/Popup/Domain.js
index 7babe05b8..d2535f8b2 100644
--- a/dev/View/Popup/Domain.js
+++ b/dev/View/Popup/Domain.js
@@ -14,13 +14,64 @@ import { AskPopupView } from 'View/Popup/Ask';
const
capitalize = string => string.charAt(0).toUpperCase() + string.slice(1),
+ domainDefaults = {
+ enableSmartPorts: false,
+
+ savingError: '',
+
+ name: '',
+
+ imapHost: '',
+ imapPort: 143,
+ imapType: 0,
+ imapTimeout: 300,
+ imapShortLogin: false,
+ // SSL
+ imapSslVerify_peer: false,
+ imapSslAllow_self_signed: false,
+ // Options
+ imapDisable_list_status: false,
+ imapDisable_metadata: false,
+ imapDisable_move: false,
+ imapDisable_sort: false,
+ imapDisable_thread: false,
+ imapExpunge_all_on_delete: false,
+ imapFast_simple_search: true,
+ imapFetch_new_messages: true,
+ imapForce_select: false,
+ imapFolder_list_limit: 200,
+ imapMessage_all_headers: false,
+ imapMessage_list_limit: 0,
+ imapSearch_filter: '',
+
+ sieveEnabled: false,
+ sieveHost: '',
+ sievePort: 4190,
+ sieveType: 0,
+ sieveTimeout: 10,
+
+ smtpHost: '',
+ smtpPort: 25,
+ smtpType: 0,
+ smtpTimeout: 60,
+ smtpShortLogin: false,
+ smtpUseAuth: true,
+ smtpSetSender: false,
+ smtpUsePhpMail: false,
+ // SSL
+ smtpSslVerify_peer: false,
+ smtpSslAllow_self_signed: false,
+
+ whiteList: '',
+ aliasName: ''
+ },
domainToParams = oDomain => ({
- Name: oDomain.name(),
+ name: oDomain.name,
IMAP: {
- host: oDomain.imapHost(),
- port: oDomain.imapPort(),
+ host: oDomain.imapHost,
+ port: oDomain.imapPort,
secure: pInt(oDomain.imapType()),
- timeout: oDomain.imapTimeout(),
+ timeout: oDomain.imapTimeout,
shortLogin: !!oDomain.imapShortLogin(),
ssl: {
verify_peer: !!oDomain.imapSslVerify_peer(),
@@ -44,10 +95,10 @@ const
*/
},
SMTP: {
- host: oDomain.smtpHost(),
- port: oDomain.smtpPort(),
+ host: oDomain.smtpHost,
+ port: oDomain.smtpPort,
secure: pInt(oDomain.smtpType()),
- timeout: oDomain.smtpTimeout(),
+ timeout: oDomain.smtpTimeout,
shortLogin: !!oDomain.smtpShortLogin(),
ssl: {
verify_peer: !!oDomain.smtpSslVerify_peer(),
@@ -60,10 +111,10 @@ const
},
Sieve: {
enabled: !!oDomain.sieveEnabled(),
- host: oDomain.sieveHost(),
- port: oDomain.sievePort(),
+ host: oDomain.sieveHost,
+ port: oDomain.sievePort,
secure: pInt(oDomain.sieveType()),
- timeout: oDomain.sieveTimeout(),
+ timeout: oDomain.sieveTimeout,
shortLogin: !!oDomain.imapShortLogin(),
ssl: {
verify_peer: !!oDomain.imapSslVerify_peer(),
@@ -71,14 +122,14 @@ const
allow_self_signed: !!oDomain.imapSslAllow_self_signed()
}
},
- whiteList: oDomain.whiteList()
+ whiteList: oDomain.whiteList
});
export class DomainPopupView extends AbstractViewPopup {
constructor() {
super('Domain');
- addObservablesTo(this, this.getDefaults());
+ addObservablesTo(this, domainDefaults);
addObservablesTo(this, {
edit: false,
@@ -99,21 +150,11 @@ export class DomainPopupView extends AbstractViewPopup {
headerText: () => {
const name = this.name(),
aliasName = this.aliasName();
-
- let result = '';
-
- if (this.edit()) {
- result = i18n('POPUPS_DOMAIN/TITLE_EDIT_DOMAIN', { NAME: name });
- if (aliasName) {
- result += ' ⫘ ' + aliasName;
- }
- } else {
- result = name
- ? i18n('POPUPS_DOMAIN/TITLE_ADD_DOMAIN_WITH_NAME', { NAME: name })
- : i18n('POPUPS_DOMAIN/TITLE_ADD_DOMAIN');
- }
-
- return result;
+ return this.edit()
+ ? i18n('POPUPS_DOMAIN/TITLE_EDIT_DOMAIN', { NAME: name }) + (aliasName ? ' ⫘ ' + aliasName : '')
+ : (name
+ ? i18n('POPUPS_DOMAIN/TITLE_ADD_DOMAIN_WITH_NAME', { NAME: name })
+ : i18n('POPUPS_DOMAIN/TITLE_ADD_DOMAIN'));
},
domainDesc: () => {
@@ -213,7 +254,7 @@ export class DomainPopupView extends AbstractViewPopup {
}
},
Object.assign(domainToParams(this), {
- Create: this.edit() ? 0 : 1
+ create: this.edit() ? 0 : 1
})
);
}
@@ -260,7 +301,9 @@ export class DomainPopupView extends AbstractViewPopup {
onShow(oDomain) {
this.saving(false);
this.clearTesting();
- this.clearForm();
+ this.edit(false);
+ forEachObjectEntry(domainDefaults, (key, value) => this[key](value));
+ this.enableSmartPorts(true);
if (oDomain) {
this.enableSmartPorts(false);
this.edit(true);
@@ -284,64 +327,4 @@ export class DomainPopupView extends AbstractViewPopup {
this.enableSmartPorts(true);
}
}
-
- getDefaults() {
- return {
- enableSmartPorts: false,
-
- savingError: '',
-
- name: '',
-
- imapHost: '',
- imapPort: 143,
- imapType: 0,
- imapTimeout: 300,
- imapShortLogin: false,
- // SSL
- imapSslVerify_peer: false,
- imapSslAllow_self_signed: false,
- // Options
- imapDisable_list_status: false,
- imapDisable_metadata: false,
- imapDisable_move: false,
- imapDisable_sort: false,
- imapDisable_thread: false,
- imapExpunge_all_on_delete: false,
- imapFast_simple_search: true,
- imapFetch_new_messages: true,
- imapForce_select: false,
- imapFolder_list_limit: 200,
- imapMessage_all_headers: false,
- imapMessage_list_limit: 0,
- imapSearch_filter: '',
-
- sieveEnabled: false,
- sieveHost: '',
- sievePort: 4190,
- sieveType: 0,
- sieveTimeout: 10,
-
- smtpHost: '',
- smtpPort: 25,
- smtpType: 0,
- smtpTimeout: 60,
- smtpShortLogin: false,
- smtpUseAuth: true,
- smtpSetSender: false,
- smtpUsePhpMail: false,
- // SSL
- smtpSslVerify_peer: false,
- smtpSslAllow_self_signed: false,
-
- whiteList: '',
- aliasName: ''
- };
- }
-
- clearForm() {
- this.edit(false);
- forEachObjectEntry(this.getDefaults(), (key, value) => this[key](value));
- this.enableSmartPorts(true);
- }
}
diff --git a/dev/View/Popup/DomainAlias.js b/dev/View/Popup/DomainAlias.js
index 50cbd038c..30cee4515 100644
--- a/dev/View/Popup/DomainAlias.js
+++ b/dev/View/Popup/DomainAlias.js
@@ -46,21 +46,15 @@ export class DomainAliasPopupView extends AbstractViewPopup {
this.close();
}
}, {
- Name: this.name(),
- Alias: this.alias()
+ name: this.name,
+ alias: this.alias
});
}
onShow() {
- this.clearForm();
- }
-
- clearForm() {
this.saving(false);
this.savingError('');
-
this.name('');
-
this.alias('');
}
}
diff --git a/dev/View/Popup/Plugin.js b/dev/View/Popup/Plugin.js
index 0e482c6e0..4761cc72b 100644
--- a/dev/View/Popup/Plugin.js
+++ b/dev/View/Popup/Plugin.js
@@ -41,19 +41,19 @@ export class PluginPopupView extends AbstractViewPopup {
saveCommand() {
const oConfig = {
- Id: this.id(),
- Settings: {}
+ id: this.id,
+ settings: {}
},
setItem = item => {
let value = item.value();
if (false === value || true === value) {
value = value ? 1 : 0;
}
- oConfig.Settings[item.Name] = value;
+ oConfig.settings[item.name] = value;
};
this.config.forEach(oItem => {
- if (7 == oItem.Type) {
+ if (7 == oItem.type) {
// Group
oItem.config.forEach(oSubItem => setItem(oSubItem));
} else {
@@ -76,15 +76,15 @@ export class PluginPopupView extends AbstractViewPopup {
this.config([]);
if (oPlugin) {
- this.id(oPlugin.Id);
- this.name(oPlugin.Name);
- this.readme(oPlugin.Readme);
+ this.id(oPlugin.id);
+ this.name(oPlugin.name);
+ this.readme(oPlugin.readme);
- const config = oPlugin.Config;
+ const config = oPlugin.config;
if (arrayLength(config)) {
this.config(
config.map(item => {
- if (7 == item.Type) {
+ if (7 == item.type) {
// Group
item.config.forEach(subItem => {
subItem.value = ko.observable(subItem.value);
diff --git a/dev/View/User/MailBox/MessageList.js b/dev/View/User/MailBox/MessageList.js
index 1c5f66323..fd89f66a5 100644
--- a/dev/View/User/MailBox/MessageList.js
+++ b/dev/View/User/MailBox/MessageList.js
@@ -13,11 +13,11 @@ import { doc,
} from 'Common/Globals';
import { arrayLength } from 'Common/Utils';
-import { computedPaginatorHelper, showMessageComposer, populateMessageBody, download, moveAction } from 'Common/UtilsUser';
+import { computedPaginatorHelper, showMessageComposer, populateMessageBody, downloadZip, moveAction } from 'Common/UtilsUser';
import { FileInfo } from 'Common/File';
import { isFullscreen, toggleFullscreen } from 'Common/Fullscreen';
-import { mailBox, attachmentDownload } from 'Common/Links';
+import { mailBox } from 'Common/Links';
import { Selector } from 'Common/Selector';
import { i18n } from 'Common/Translator';
@@ -367,23 +367,7 @@ export class MailMessageList extends AbstractViewRight {
let hashes = []/*, uids = []*/;
// MessagelistUserStore.forEach(message => message.checked() && uids.push(message.uid));
MessagelistUserStore.forEach(message => message.checked() && hashes.push(message.requestHash));
- if (hashes.length) {
- Remote.post('AttachmentsActions', null, {
- Do: 'Zip',
- folder: MessagelistUserStore().folder,
-// Uids: uids,
- Hashes: hashes
- })
- .then(result => {
- let hash = result?.Result?.fileHash;
- if (hash) {
- download(attachmentDownload(hash), hash+'.zip');
- } else {
- alert('Download failed');
- }
- })
- .catch(() => alert('Download failed'));
- }
+ downloadZip(hashes, null, null, MessagelistUserStore().folder);
}
downloadAttachCommand() {
@@ -397,21 +381,7 @@ export class MailMessageList extends AbstractViewRight {
});
}
});
- if (hashes.length) {
- Remote.post('AttachmentsActions', null, {
- Do: 'Zip',
- Hashes: hashes
- })
- .then(result => {
- let hash = result?.Result?.fileHash;
- if (hash) {
- download(attachmentDownload(hash), hash+'.zip');
- } else {
- alert('Download failed');
- }
- })
- .catch(() => alert('Download failed'));
- }
+ downloadZip(hashes);
}
deleteWithoutMoveCommand() {
@@ -505,8 +475,8 @@ export class MailMessageList extends AbstractViewRight {
Remote.request('MessageSetSeenToAll', null, {
folder: sFolderFullName,
- SetAction: 1,
- ThreadUids: uids.join(',')
+ setAction: 1,
+ threadUids: uids.join(',')
});
MessagelistUserStore.reloadFlagsAndCachedMessage();
diff --git a/dev/View/User/MailBox/MessageView.js b/dev/View/User/MailBox/MessageView.js
index 88f4ffde4..158040cb6 100644
--- a/dev/View/User/MailBox/MessageView.js
+++ b/dev/View/User/MailBox/MessageView.js
@@ -23,13 +23,12 @@ import {
} from 'Common/Globals';
import { arrayLength } from 'Common/Utils';
-import { download, mailToHelper, showMessageComposer, moveAction } from 'Common/UtilsUser';
+import { download, downloadZip, mailToHelper, showMessageComposer, moveAction } from 'Common/UtilsUser';
import { isFullscreen, exitFullscreen, toggleFullscreen } from 'Common/Fullscreen';
import { SMAudio } from 'Common/Audio';
import { i18n } from 'Common/Translator';
-import { attachmentDownload } from 'Common/Links';
import { MessageFlagsCache } from 'Common/Cache';
@@ -486,21 +485,10 @@ export class MailMessageView extends AbstractViewRight {
const hashes = (currentMessage()?.attachments || [])
.map(item => item?.checked() /*&& !item?.isLinked()*/ ? item.download : '')
.filter(v => v);
- if (hashes.length) {
- Remote.post('AttachmentsActions', this.downloadAsZipLoading, {
- Do: 'Zip',
- Hashes: hashes
- })
- .then(result => {
- let hash = result?.Result?.fileHash;
- if (hash) {
- download(attachmentDownload(hash), hash+'.zip');
- } else {
- this.downloadAsZipError(true);
- }
- })
- .catch(() => this.downloadAsZipError(true));
- }
+ downloadZip(hashes,
+ () => this.downloadAsZipError(true),
+ this.downloadAsZipLoading
+ );
}
/**
diff --git a/plugins/README.md b/plugins/README.md
index 28ce1583a..9774ec445 100644
--- a/plugins/README.md
+++ b/plugins/README.md
@@ -455,11 +455,18 @@ Converts HTML to text
Converts text to HTML
## rl.addSettingsViewModel(SettingsViewModelClass, template, labelName, route)
+Examples in
+* ./change-password/js/ChangePasswordUserSettings.js
+* ./example/js/ExampleUserSettings.js
+* ./kolab/js/settings.js
+* ./two-factor-auth/js/TwoFactorAuthSettings.js
## rl.addSettingsViewModelForAdmin(SettingsViewModelClass, template, labelName, route)
+Examples in
+* ./example/js/ExampleAdminSettings.js:34: rl.addSettingsViewModelForAdmin(ExampleAdminSettings, 'ExampleAdminSettingsTab',
## rl.adminArea()
-Returns true or false
+Returns true or false when in '?admin' area
## rl.app.Remote.abort(action)
diff --git a/plugins/nextcloud/js/message.js b/plugins/nextcloud/js/message.js
index 922fa8781..f5154b745 100644
--- a/plugins/nextcloud/js/message.js
+++ b/plugins/nextcloud/js/message.js
@@ -63,8 +63,8 @@
if (folder) {
rl.fetchJSON('./?/Json/&q[]=/0/', {}, {
Action: 'AttachmentsActions',
- Do: 'nextcloud',
- Hashes: hashes,
+ target: 'nextcloud',
+ hashes: hashes,
NcFolder: folder
})
.then(result => {
diff --git a/plugins/nextcloud/js/messagelist.js b/plugins/nextcloud/js/messagelist.js
index 5b5d27b43..8b8681afa 100644
--- a/plugins/nextcloud/js/messagelist.js
+++ b/plugins/nextcloud/js/messagelist.js
@@ -28,9 +28,8 @@
}
});
- let template = document.getElementById('MailMessageList');
-
- const msgMenu = template.content.querySelector('#more-list-dropdown-id + menu [data-bind*="forwardCommand"]');
+ const msgMenu = document.getElementById('MailMessageList')
+ .content.querySelector('#more-list-dropdown-id + menu [data-bind*="forwardCommand"]');
if (msgMenu) {
msgMenu.after(Element.fromHTML(`
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 8e850c945..c340dc25c 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php
@@ -926,7 +926,7 @@ class Actions
public function DoVersion(): array
{
- return $this->DefaultResponse(APP_VERSION === (string)$this->GetActionParam('Version', ''));
+ return $this->DefaultResponse(APP_VERSION === (string)$this->GetActionParam('version', ''));
}
public function MainClearFileName(string $sFileName, string $sContentType, string $sMimeIndex, int $iMaxLength = 250): string
@@ -988,15 +988,12 @@ class Actions
return $sError;
}
- public function Upload(): array
+ public function Upload(?array $aFile, int $iError): array
{
$oAccount = $this->getAccountFromToken();
$aResponse = array();
- $aFile = $this->GetActionParam('File', null);
- $iError = $this->GetActionParam('Error', Enumerations\UploadError::UNKNOWN);
-
if ($oAccount && UPLOAD_ERR_OK === $iError && \is_array($aFile)) {
$sSavedName = 'upload-post-' . \md5($aFile['name'] . $aFile['tmp_name']);
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 91dc8ae02..2e5d8e639 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
@@ -80,10 +80,10 @@ trait Accounts
$aAccounts = $this->GetAccounts($oMainAccount);
- $sEmail = \trim($this->GetActionParam('Email', ''));
- $sPassword = $this->GetActionParam('Password', '');
- $sName = $this->GetActionParam('Name', '');
- $bNew = '1' === (string)$this->GetActionParam('New', '1');
+ $sEmail = \trim($this->GetActionParam('email', ''));
+ $sPassword = $this->GetActionParam('password', '');
+ $sName = \trim($this->GetActionParam('name', ''));
+ $bNew = !empty($this->GetActionParam('new', 1));
$sEmail = \MailSo\Base\Utils::IdnToAscii($sEmail, true);
if ($bNew && ($oMainAccount->Email() === $sEmail || isset($aAccounts[$sEmail]))) {
@@ -172,7 +172,7 @@ trait Accounts
return $this->FalseResponse();
}
- $sEmailToDelete = \trim($this->GetActionParam('EmailToDelete', ''));
+ $sEmailToDelete = \trim($this->GetActionParam('emailToDelete', ''));
$sEmailToDelete = \MailSo\Base\Utils::IdnToAscii($sEmailToDelete, true);
$aAccounts = $this->GetAccounts($oMainAccount);
@@ -255,7 +255,7 @@ trait Accounts
return $this->FalseResponse();
}
- $sId = \trim($this->GetActionParam('IdToDelete', ''));
+ $sId = \trim($this->GetActionParam('idToDelete', ''));
if (empty($sId)) {
throw new ClientException(Notifications::UnknownError);
}
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/AdminDomains.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/AdminDomains.php
index 5836504eb..70e5b0554 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/AdminDomains.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/AdminDomains.php
@@ -11,13 +11,13 @@ trait AdminDomains
{
$this->IsAdminLoggined();
- return $this->DefaultResponse($this->DomainProvider()->Load($this->GetActionParam('Name', ''), false, false));
+ return $this->DefaultResponse($this->DomainProvider()->Load($this->GetActionParam('name', ''), false, false));
}
public function DoAdminDomainList() : array
{
$this->IsAdminLoggined();
- $bIncludeAliases = !empty($this->GetActionParam('IncludeAliases', '1'));
+ $bIncludeAliases = !empty($this->GetActionParam('includeAliases', '1'));
return $this->DefaultResponse($this->DomainProvider()->GetList($bIncludeAliases));
}
@@ -25,7 +25,7 @@ trait AdminDomains
{
$this->IsAdminLoggined();
- return $this->DefaultResponse($this->DomainProvider()->Delete((string) $this->GetActionParam('Name', '')));
+ return $this->DefaultResponse($this->DomainProvider()->Delete((string) $this->GetActionParam('name', '')));
}
public function DoAdminDomainDisable() : array
@@ -33,8 +33,8 @@ trait AdminDomains
$this->IsAdminLoggined();
return $this->DefaultResponse($this->DomainProvider()->Disable(
- (string) $this->GetActionParam('Name', ''),
- '1' === (string) $this->GetActionParam('Disabled', '0')
+ (string) $this->GetActionParam('name', ''),
+ !empty($this->GetActionParam('disabled', '0'))
));
}
@@ -52,8 +52,8 @@ trait AdminDomains
$this->IsAdminLoggined();
return $this->DefaultResponse($this->DomainProvider()->SaveAlias(
- (string) $this->GetActionParam('Name', ''),
- (string) $this->GetActionParam('Alias', '')
+ (string) $this->GetActionParam('name', ''),
+ (string) $this->GetActionParam('alias', '')
));
}
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/AdminExtensions.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/AdminExtensions.php
index 4fb554fdb..f142e7f22 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/AdminExtensions.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/AdminExtensions.php
@@ -16,7 +16,7 @@ trait AdminExtensions
public function DoAdminPackageDelete() : array
{
- $sId = $this->GetActionParam('Id', '');
+ $sId = $this->GetActionParam('id', '');
$bResult = \SnappyMail\Repository::deletePackage($sId);
static::pluginEnable($sId, false);
return $this->DefaultResponse($bResult);
@@ -24,11 +24,11 @@ trait AdminExtensions
public function DoAdminPackageInstall() : array
{
- $sType = $this->GetActionParam('Type', '');
+ $sType = $this->GetActionParam('type', '');
$bResult = \SnappyMail\Repository::installPackage(
$sType,
- $this->GetActionParam('Id', ''),
- $this->GetActionParam('File', '')
+ $this->GetActionParam('id', ''),
+ $this->GetActionParam('file', '')
);
return $this->DefaultResponse($bResult ?
('plugin' !== $sType ? array('Reload' => true) : true) : false);
@@ -38,8 +38,8 @@ trait AdminExtensions
{
$this->IsAdminLoggined();
- $sId = (string) $this->GetActionParam('Id', '');
- $bDisable = '1' === (string) $this->GetActionParam('Disabled', '1');
+ $sId = (string) $this->GetActionParam('id', '');
+ $bDisable = '1' === (string) $this->GetActionParam('disabled', '1');
if (!$bDisable) {
$oPlugin = $this->Plugins()->CreatePluginByName($sId);
@@ -61,17 +61,17 @@ trait AdminExtensions
$this->IsAdminLoggined();
$mResult = false;
- $sId = (string) $this->GetActionParam('Id', '');
+ $sId = (string) $this->GetActionParam('id', '');
if (!empty($sId)) {
$oPlugin = $this->Plugins()->CreatePluginByName($sId);
if ($oPlugin) {
$mResult = array(
'@Object' => 'Object/Plugin',
- 'Id' => $sId,
- 'Name' => $oPlugin->Name(),
- 'Readme' => $oPlugin->Description(),
- 'Config' => array()
+ 'id' => $sId,
+ 'name' => $oPlugin->Name(),
+ 'readme' => $oPlugin->Description(),
+ 'config' => array()
);
$aMap = $oPlugin->ConfigMap();
@@ -85,7 +85,7 @@ trait AdminExtensions
} else {
$oItem->SetValue($oConfig->Get('plugin', $oItem->Name(), ''));
}
- $mResult['Config'][] = $oItem;
+ $mResult['config'][] = $oItem;
} else if ($oItem instanceof \RainLoop\Plugins\PropertyCollection) {
foreach ($oItem as $oSubItem) {
if ($oSubItem && $oSubItem instanceof \RainLoop\Plugins\Property) {
@@ -96,7 +96,7 @@ trait AdminExtensions
}
}
}
- $mResult['Config'][] = $oItem;
+ $mResult['config'][] = $oItem;
}
}
}
@@ -111,7 +111,7 @@ trait AdminExtensions
{
$this->IsAdminLoggined();
- $sId = (string) $this->GetActionParam('Id', '');
+ $sId = (string) $this->GetActionParam('id', '');
if (!empty($sId)) {
$oPlugin = $this->Plugins()->CreatePluginByName($sId);
@@ -119,7 +119,7 @@ trait AdminExtensions
$oConfig = $oPlugin->Config();
$aMap = $oPlugin->ConfigMap(true);
if (\is_array($aMap)) {
- $aSettings = (array) $this->GetActionParam('Settings', []);
+ $aSettings = (array) $this->GetActionParam('settings', []);
foreach ($aMap as $oItem) {
$sKey = $oItem->Name();
$sValue = $aSettings[$sKey] ?? $oConfig->Get('plugin', $sKey);
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Attachments.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Attachments.php
index f16ffabb1..cbfb1ec5a 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Attachments.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Attachments.php
@@ -12,9 +12,9 @@ trait Attachments
*/
public function DoAttachmentsActions() : array
{
- $sAction = $this->GetActionParam('Do', '');
+ $sAction = $this->GetActionParam('target', '');
$sFolder = $this->GetActionParam('folder', '');
- $aHashes = $this->GetActionParam('Hashes', null);
+ $aHashes = $this->GetActionParam('hashes', null);
$oFilesProvider = $this->FilesProvider();
if (empty($sAction) || !$this->GetCapa(Capa::ATTACHMENTS_ACTIONS) || !$oFilesProvider || !$oFilesProvider->IsActive()) {
return $this->FalseResponse();
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Contacts.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Contacts.php
index 307f618ef..6d6de7c56 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Contacts.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Contacts.php
@@ -77,7 +77,7 @@ trait Contacts
public function DoContactsDelete() : array
{
$oAccount = $this->getAccountFromToken();
- $aUids = \explode(',', (string) $this->GetActionParam('Uids', ''));
+ $aUids = \explode(',', (string) $this->GetActionParam('uids', ''));
$aFilteredUids = \array_filter(\array_map('intval', $aUids));
@@ -119,15 +119,12 @@ trait Contacts
));
}
- public function UploadContacts() : array
+ public function UploadContacts(?array $aFile, int $iError) : array
{
$oAccount = $this->getAccountFromToken();
$mResponse = false;
- $aFile = $this->GetActionParam('File', null);
- $iError = $this->GetActionParam('Error', \RainLoop\Enumerations\UploadError::UNKNOWN);
-
if ($oAccount && UPLOAD_ERR_OK === $iError && \is_array($aFile)) {
$sSavedName = 'upload-post-'.\md5($aFile['name'].$aFile['tmp_name']);
if (!$this->FilesProvider()->MoveUploadedFile($oAccount, $sSavedName, $aFile['tmp_name'])) {
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 0ef61472d..ae3349deb 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
@@ -22,13 +22,13 @@ trait Folders
if ($oAccount
&& !empty($sFolderFullName)
- && !empty($_FILES['AppendFile'])
- && \is_uploaded_file($_FILES['AppendFile']['tmp_name'])
- && \UPLOAD_ERR_OK == $_FILES['AppendFile']['error']
+ && !empty($_FILES['appendFile'])
+ && \is_uploaded_file($_FILES['appendFile']['tmp_name'])
+ && \UPLOAD_ERR_OK == $_FILES['appendFile']['error']
&& $this->oConfig->Get('labs', 'allow_message_append', false)
) {
- $sSavedName = 'append-post-' . \md5($sFolderFullName . $_FILES['AppendFile']['name'] . $_FILES['AppendFile']['tmp_name']);
- if ($this->FilesProvider()->MoveUploadedFile($oAccount, $sSavedName, $_FILES['AppendFile']['tmp_name'])) {
+ $sSavedName = 'append-post-' . \md5($sFolderFullName . $_FILES['appendFile']['name'] . $_FILES['appendFile']['tmp_name']);
+ if ($this->FilesProvider()->MoveUploadedFile($oAccount, $sSavedName, $_FILES['appendFile']['tmp_name'])) {
$iMessageStreamSize = $this->FilesProvider()->FileSize($oAccount, $sSavedName);
$rMessageStream = $this->FilesProvider()->GetFile($oAccount, $sSavedName);
@@ -107,10 +107,10 @@ trait Folders
{
$this->initMailClientConnection();
$sFolderFullName = $this->GetActionParam('folder');
- $sMetadataKey = $this->GetActionParam('Key');
+ $sMetadataKey = $this->GetActionParam('key');
if ($sFolderFullName && $sMetadataKey) {
$this->MailClient()->FolderSetMetadata($sFolderFullName, [
- $sMetadataKey => $this->GetActionParam('Value') ?: null
+ $sMetadataKey => $this->GetActionParam('value') ?: null
]);
}
return $this->TrueResponse();
@@ -292,7 +292,7 @@ trait Folders
{
$aResult = array();
- $aFolders = $this->GetActionParam('Folders', null);
+ $aFolders = $this->GetActionParam('folders', null);
if (\is_array($aFolders)) {
$this->initMailClientConnection();
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Messages.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Messages.php
index 2ee93bc4a..f2b176c92 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Messages.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Messages.php
@@ -369,7 +369,7 @@ trait Messages
{
$this->initMailClientConnection();
- $sThreadUids = \trim($this->GetActionParam('ThreadUids', ''));
+ $sThreadUids = \trim($this->GetActionParam('threadUids', ''));
try
{
@@ -377,7 +377,7 @@ trait Messages
$this->GetActionParam('folder', ''),
empty($sThreadUids) ? new SequenceSet('1:*', false) : new SequenceSet(\explode(',', $sThreadUids)),
MessageFlag::SEEN,
- !empty($this->GetActionParam('SetAction', '0'))
+ !empty($this->GetActionParam('setAction', '0'))
);
}
catch (\Throwable $oException)
@@ -395,7 +395,7 @@ trait Messages
public function DoMessageSetKeyword() : array
{
- return $this->messageSetFlag($this->GetActionParam('Keyword', ''), true);
+ return $this->messageSetFlag($this->GetActionParam('keyword', ''), true);
}
/**
@@ -447,7 +447,7 @@ trait Messages
$this->initMailClientConnection();
$sFolder = $this->GetActionParam('folder', '');
- $aUids = \explode(',', (string) $this->GetActionParam('Uids', ''));
+ $aUids = \explode(',', (string) $this->GetActionParam('uids', ''));
try
{
@@ -478,12 +478,12 @@ trait Messages
{
$this->initMailClientConnection();
- $sFromFolder = $this->GetActionParam('FromFolder', '');
- $sToFolder = $this->GetActionParam('ToFolder', '');
+ $sFromFolder = $this->GetActionParam('fromFolder', '');
+ $sToFolder = $this->GetActionParam('toFolder', '');
- $oUids = new SequenceSet(\explode(',', (string) $this->GetActionParam('Uids', '')));
+ $oUids = new SequenceSet(\explode(',', (string) $this->GetActionParam('uids', '')));
- if (!empty($this->GetActionParam('MarkAsRead', '0'))) {
+ if (!empty($this->GetActionParam('markAsRead', '0'))) {
try
{
$this->MailClient()->MessageSetFlag($sFromFolder, $oUids, MessageFlag::SEEN);
@@ -494,7 +494,7 @@ trait Messages
}
}
- $sLearning = $this->GetActionParam('Learning', '');
+ $sLearning = $this->GetActionParam('learning', '');
if ($sLearning) {
try
{
@@ -544,9 +544,9 @@ trait Messages
try
{
$this->MailClient()->MessageCopy(
- $this->GetActionParam('FromFolder', ''),
- $this->GetActionParam('ToFolder', ''),
- new SequenceSet(\explode(',', (string) $this->GetActionParam('Uids', '')))
+ $this->GetActionParam('fromFolder', ''),
+ $this->GetActionParam('toFolder', ''),
+ new SequenceSet(\explode(',', (string) $this->GetActionParam('uids', '')))
);
}
catch (\Throwable $oException)
@@ -688,8 +688,8 @@ trait Messages
}
}
- // Try by default as OpenPGP.js sets GnuPG to 0
- if ($this->GetActionParam('GnuPG', 1)) {
+ // Try by default as OpenPGP.js sets useGnuPG to 0
+ if ($this->GetActionParam('tryGnuPG', 1)) {
$GPG = $this->GnuPG();
if ($GPG) {
$info = $this->GnuPG()->verify($result['text'], $result['signature']);
@@ -873,9 +873,9 @@ trait Messages
{
$this->MailClient()->MessageSetFlag(
$this->GetActionParam('folder', ''),
- new SequenceSet(\explode(',', (string) $this->GetActionParam('Uids', ''))),
+ new SequenceSet(\explode(',', (string) $this->GetActionParam('uids', ''))),
$sMessageFlag,
- !empty($this->GetActionParam('SetAction', '0')),
+ !empty($this->GetActionParam('setAction', '0')),
$bSkipUnsupportedFlag
);
}
@@ -1041,7 +1041,7 @@ trait Messages
if ($sSigned = $this->GetActionParam('signed', '')) {
$aSigned = \explode("\r\n\r\n", $sSigned, 2);
// $sBoundary = \preg_replace('/^.+boundary="([^"]+)".+$/Dsi', '$1', $aSigned[0]);
- $sBoundary = $this->GetActionParam('Boundary', '');
+ $sBoundary = $this->GetActionParam('boundary', '');
$oPart = new MimePart;
$oPart->Headers->AddByName(
@@ -1080,77 +1080,77 @@ trait Messages
unset($oAlternativePart);
unset($sEncrypted);
+ } else if ($sHtml = $this->GetActionParam('html', '')) {
+ $oPart = new MimePart;
+ $oPart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'multipart/alternative');
+ $oMessage->SubParts->append($oPart);
+
+ $sHtml = \MailSo\Base\HtmlUtils::BuildHtml($sHtml, $aFoundCids, $aFoundDataURL, $aFoundContentLocationUrls);
+ $this->Plugins()->RunHook('filter.message-html', array($oAccount, $oMessage, &$sHtml));
+
+ // First add plain
+ $sPlain = $this->GetActionParam('plain', '') ?: \MailSo\Base\HtmlUtils::ConvertHtmlToPlain($sHtml);
+ $this->Plugins()->RunHook('filter.message-plain', array($oAccount, $oMessage, &$sPlain));
+ $oAlternativePart = new MimePart;
+ $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/plain; charset=utf-8');
+ $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'quoted-printable');
+ $oAlternativePart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream(
+ \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sPlain))),
+ 'convert.quoted-printable-encode'
+ );
+ $oPart->SubParts->append($oAlternativePart);
+ unset($sPlain);
+
+ // Now add HTML
+ $oAlternativePart = new MimePart;
+ $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/html; charset=utf-8');
+ $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'quoted-printable');
+ $oAlternativePart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream(
+ \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sHtml))),
+ 'convert.quoted-printable-encode'
+ );
+ $oPart->SubParts->append($oAlternativePart);
+
+ unset($oAlternativePart);
+ unset($sHtml);
+
} else {
- if ($sHtml = $this->GetActionParam('html', '')) {
+ $sPlain = $this->GetActionParam('plain', '');
+/*
+ if ($sSignature = $this->GetActionParam('pgpSignature', null)) {
$oPart = new MimePart;
- $oPart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'multipart/alternative');
+ $oPart->Headers->AddByName(
+ MimeEnumHeader::CONTENT_TYPE,
+ 'multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"'
+ );
$oMessage->SubParts->append($oPart);
- $sHtml = \MailSo\Base\HtmlUtils::BuildHtml($sHtml, $aFoundCids, $aFoundDataURL, $aFoundContentLocationUrls);
- $this->Plugins()->RunHook('filter.message-html', array($oAccount, $oMessage, &$sHtml));
-
- // First add plain
- $sPlain = $this->GetActionParam('plain', '') ?: \MailSo\Base\HtmlUtils::ConvertHtmlToPlain($sHtml);
- $this->Plugins()->RunHook('filter.message-plain', array($oAccount, $oMessage, &$sPlain));
$oAlternativePart = new MimePart;
- $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/plain; charset=utf-8');
- $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'quoted-printable');
- $oAlternativePart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream(
- \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sPlain))),
- 'convert.quoted-printable-encode'
- );
- $oPart->SubParts->append($oAlternativePart);
- unset($sPlain);
-
- // Now add HTML
- $oAlternativePart = new MimePart;
- $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/html; charset=utf-8');
- $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'quoted-printable');
- $oAlternativePart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream(
- \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sHtml))),
- 'convert.quoted-printable-encode'
- );
+ $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/plain; charset="utf-8"; protected-headers="v1"');
+ $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'base64');
+ $oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sPlain)));
$oPart->SubParts->append($oAlternativePart);
- unset($oAlternativePart);
- unset($sHtml);
+ $oAlternativePart = new MimePart;
+ $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'application/pgp-signature; name="signature.asc"');
+ $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, '7Bit');
+ $oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sSignature)));
+ $oPart->SubParts->append($oAlternativePart);
- } else {
- $sPlain = $this->GetActionParam('plain', '');
- if ($sSignature = $this->GetActionParam('Signature', null)) {
- $oPart = new MimePart;
- $oPart->Headers->AddByName(
- MimeEnumHeader::CONTENT_TYPE,
- 'multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"'
- );
- $oMessage->SubParts->append($oPart);
-
- $oAlternativePart = new MimePart;
- $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/plain; charset="utf-8"; protected-headers="v1"');
- $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'base64');
- $oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sPlain)));
- $oPart->SubParts->append($oAlternativePart);
-
- $oAlternativePart = new MimePart;
- $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'application/pgp-signature; name="signature.asc"');
- $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, '7Bit');
- $oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sSignature)));
- $oPart->SubParts->append($oAlternativePart);
- } else {
- $this->Plugins()->RunHook('filter.message-plain', array($oAccount, $oMessage, &$sPlain));
- $oAlternativePart = new MimePart;
- $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/plain; charset="utf-8"');
- $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'quoted-printable');
- $oAlternativePart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream(
- \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sPlain))),
- 'convert.quoted-printable-encode'
- );
- $oMessage->SubParts->append($oAlternativePart);
- }
- unset($oAlternativePart);
unset($sSignature);
- unset($sPlain);
- }
+ } else {
+*/
+ $this->Plugins()->RunHook('filter.message-plain', array($oAccount, $oMessage, &$sPlain));
+ $oAlternativePart = new MimePart;
+ $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/plain; charset="utf-8"');
+ $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'quoted-printable');
+ $oAlternativePart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream(
+ \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sPlain))),
+ 'convert.quoted-printable-encode'
+ );
+ $oMessage->SubParts->append($oAlternativePart);
+ unset($oAlternativePart);
+ unset($sPlain);
}
unset($oPart);
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Pgp.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Pgp.php
index c57dd9b16..030ef8aee 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Pgp.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Pgp.php
@@ -79,10 +79,10 @@ trait Pgp
$GPG->addDecryptKey(
$this->GetActionParam('keyId', ''),
- $this->GetActionParam('Passphrase', '')
+ $this->GetActionParam('passphrase', '')
);
- $sData = $this->GetActionParam('Data', '');
+ $sData = $this->GetActionParam('data', '');
$oPart = null;
$result = [
'data' => '',
@@ -127,7 +127,7 @@ trait Pgp
$GPG = $this->GnuPG();
return $this->DefaultResponse($GPG ? $GPG->export(
$this->GetActionParam('keyId', ''),
- $this->GetActionParam('Passphrase', '')
+ $this->GetActionParam('passphrase', '')
) : false);
}
@@ -136,11 +136,11 @@ trait Pgp
$fingerprint = false;
$GPG = $this->GnuPG();
if ($GPG) {
- $sName = $this->GetActionParam('Name', '');
- $sEmail = $this->GetActionParam('Email', '');
+ $sName = $this->GetActionParam('name', '');
+ $sEmail = $this->GetActionParam('email', '');
$fingerprint = $GPG->generateKey(
$sName ? "{$sName} <{$sEmail}>" : $sEmail,
- $this->GetActionParam('Passphrase', '')
+ $this->GetActionParam('passphrase', '')
);
}
return $this->DefaultResponse($fingerprint);
@@ -156,9 +156,9 @@ trait Pgp
public function DoGnupgImportKey() : array
{
- $sKey = $this->GetActionParam('Key', '');
+ $sKey = $this->GetActionParam('key', '');
$sKeyId = $this->GetActionParam('keyId', '');
- $sEmail = $this->GetActionParam('Email', '');
+ $sEmail = $this->GetActionParam('email', '');
if (!$sKey) {
try {
@@ -265,7 +265,7 @@ trait Pgp
*/
public function DoStorePGPKey() : array
{
- $key = $this->GetActionParam('Key', '');
+ $key = $this->GetActionParam('key', '');
$keyId = $this->GetActionParam('keyId', '');
return $this->DefaultResponse(($key && $keyId && $this->StorePGPKey($key, $keyId)));
}
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Response.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Response.php
index 130c13a61..a80b8236f 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Response.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Response.php
@@ -23,7 +23,7 @@ trait Response
}
return \array_merge(array(
-// 'Version' => APP_VERSION,
+// 'version' => APP_VERSION,
'Action' => $sActionName,
'Result' => $this->responseObject($mResult)
), $aAdditionalParams);
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Themes.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Themes.php
index 4a6cec84b..62120eaba 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Themes.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Themes.php
@@ -123,7 +123,7 @@ trait Themes
// : \str_replace(';}', '}', \preg_replace('/\\s*([:;{},])\\s*/', '\1', \preg_replace('/\\s+/', ' ', \preg_replace('#/\\*.*?\\*/#s', '', $mResult))));
}
- public function UploadBackground(): array
+ public function UploadBackground(?array $aFile, int $iError): array
{
$oAccount = $this->getAccountFromToken();
@@ -134,9 +134,6 @@ trait Themes
$sName = '';
$sHash = '';
- $aFile = $this->GetActionParam('File', null);
- $iError = $this->GetActionParam('Error', \RainLoop\Enumerations\UploadError::UNKNOWN);
-
if ($oAccount && UPLOAD_ERR_OK === $iError && \is_array($aFile)) {
$sMimeType = \SnappyMail\File\MimeType::fromFile($aFile['tmp_name'], $aFile['name'])
?: \SnappyMail\File\MimeType::fromFilename($aFile['name'])
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php b/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php
index 26b73f83e..3888db991 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php
@@ -175,7 +175,7 @@ class ActionsAdmin extends Actions
$sPassword = $this->GetActionParam('Password', '');
$this->Logger()->AddSecret($sPassword);
- $sNewPassword = $this->GetActionParam('NewPassword', '');
+ $sNewPassword = $this->GetActionParam('newPassword', '');
if (\strlen($sNewPassword)) {
$this->Logger()->AddSecret($sNewPassword);
}
@@ -295,11 +295,11 @@ class ActionsAdmin extends Actions
}
return $this->DefaultResponse(array(
- 'Updatable' => \SnappyMail\Repository::canUpdateCore(),
- 'Warning' => $bShowWarning,
- 'Version' => $sVersion,
- 'VersionCompare' => \version_compare(APP_VERSION, $sVersion),
- 'Warnings' => $aWarnings
+ 'updatable' => \SnappyMail\Repository::canUpdateCore(),
+ 'warning' => $bShowWarning,
+ 'version' => $sVersion,
+ 'versionCompare' => \version_compare(APP_VERSION, $sVersion),
+ 'warnings' => $aWarnings
));
}
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/Property.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/Property.php
index 368f0f99e..054bc50bf 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/Property.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/Property.php
@@ -190,12 +190,12 @@ class Property implements \JsonSerializable
'@Object' => 'Object/PluginProperty',
'value' => $this->mValue,
'placeholder' => $this->sPlaceholder,
- 'Name' => $this->sName,
- 'Type' => $this->iType,
- 'Label' => $this->sLabel,
- 'Default' => $this->mDefaultValue,
- 'Options' => $this->aOptions,
- 'Desc' => $this->sDesc
+ 'name' => $this->sName,
+ 'type' => $this->iType,
+ 'label' => $this->sLabel,
+ 'default' => $this->mDefaultValue,
+ 'options' => $this->aOptions,
+ 'desc' => $this->sDesc
);
}
}
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/PropertyCollection.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/PropertyCollection.php
index 1c59b3bf0..f8f2cd26f 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/PropertyCollection.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/PropertyCollection.php
@@ -20,8 +20,8 @@ class PropertyCollection extends \ArrayObject implements \JsonSerializable
{
return array(
'@Object' => 'Object/PluginProperty',
- 'Type' => \RainLoop\Enumerations\PluginPropertyType::GROUP,
- 'Label' => $this->sLabel,
+ 'type' => \RainLoop\Enumerations\PluginPropertyType::GROUP,
+ 'label' => $this->sLabel,
'config' => $this->getArrayCopy()
/*
'config' => [
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Providers/Domain.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Providers/Domain.php
index 0f7b8abe8..751dcadaf 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Providers/Domain.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Providers/Domain.php
@@ -57,12 +57,12 @@ class Domain extends AbstractProvider
public function LoadOrCreateNewFromAction(\RainLoop\Actions $oActions, string $sNameForTest = null) : ?\RainLoop\Model\Domain
{
- $sName = \mb_strtolower((string) $oActions->GetActionParam('Name', ''));
+ $sName = \mb_strtolower((string) $oActions->GetActionParam('name', ''));
if (\strlen($sName) && $sNameForTest && !\str_contains($sName, '*')) {
$sNameForTest = null;
}
if (\strlen($sName) || $sNameForTest) {
- if (!$sNameForTest && !empty($oActions->GetActionParam('Create', 0)) && $this->Load($sName)) {
+ if (!$sNameForTest && !empty($oActions->GetActionParam('create', 0)) && $this->Load($sName)) {
throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::DomainAlreadyExists);
}
return \RainLoop\Model\Domain::fromArray($sNameForTest ?: $sName, [
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/ServiceActions.php b/snappymail/v/0.0.0/app/libraries/RainLoop/ServiceActions.php
index 4b162948c..1927a8ce3 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/ServiceActions.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/ServiceActions.php
@@ -259,14 +259,7 @@ class ServiceActions
}
if (\method_exists($this->oActions, $sAction) && \is_callable(array($this->oActions, $sAction))) {
- $aActionParams = isset($_GET) && \is_array($_GET) ? $_GET : null;
-
- $aActionParams['File'] = $aFile;
- $aActionParams['Error'] = $iError;
-
- $this->oActions->SetActionParams($aActionParams, $sAction);
-
- $aResponse = $this->oActions->{$sAction}();
+ $aResponse = $this->oActions->{$sAction}($aFile, $iError);
}
if (!is_array($aResponse)) {
diff --git a/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsPluginProperty.html b/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsPluginProperty.html
index 63b96d0a5..130d710dc 100644
--- a/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsPluginProperty.html
+++ b/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsPluginProperty.html
@@ -1,36 +1,36 @@
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
diff --git a/snappymail/v/0.0.0/app/templates/Views/Admin/PopupsPlugin.html b/snappymail/v/0.0.0/app/templates/Views/Admin/PopupsPlugin.html
index aedfcc8b0..9004276c6 100644
--- a/snappymail/v/0.0.0/app/templates/Views/Admin/PopupsPlugin.html
+++ b/snappymail/v/0.0.0/app/templates/Views/Admin/PopupsPlugin.html
@@ -14,15 +14,15 @@
diff --git a/snappymail/v/0.0.0/app/templates/Views/User/PopupsAccount.html b/snappymail/v/0.0.0/app/templates/Views/User/PopupsAccount.html
index caeb2294a..6339df4fa 100644
--- a/snappymail/v/0.0.0/app/templates/Views/User/PopupsAccount.html
+++ b/snappymail/v/0.0.0/app/templates/Views/User/PopupsAccount.html
@@ -12,18 +12,18 @@
-
-
-
+