From aeec36de19c229d9faa48dee6a20538ac9da32fb Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Sun, 22 May 2016 20:35:09 +0300 Subject: [PATCH] Small fixes --- dev/Helper/Message.js | 123 ------------------ dev/Helper/Message.jsx | 112 ++++++++++++++++ dev/Model/Message.js | 2 +- dev/Model/MessageFull.js | 2 +- dev/Model/MessageSimple.js | 2 +- dev/Stores/User/Message.js | 2 +- .../app/libraries/MailSo/Imap/ImapClient.php | 9 +- 7 files changed, 123 insertions(+), 129 deletions(-) delete mode 100644 dev/Helper/Message.js create mode 100644 dev/Helper/Message.jsx diff --git a/dev/Helper/Message.js b/dev/Helper/Message.js deleted file mode 100644 index 02e2ee0877..0000000000 --- a/dev/Helper/Message.js +++ /dev/null @@ -1,123 +0,0 @@ - -(function () { - - 'use strict'; - - var - Utils = require('Common/Utils'), - - EmailModel = require('Model/Email') - ; - - /** - * @constructor - */ - function MessageHelper() {} - - /** - * @param {Array.} aEmail - * @param {boolean=} bFriendlyView - * @param {boolean=} bWrapWithLink = false - * @return {string} - */ - MessageHelper.prototype.emailArrayToString = function (aEmail, bFriendlyView, bWrapWithLink) - { - var - aResult = [], - iIndex = 0, - iLen = 0 - ; - - if (Utils.isNonEmptyArray(aEmail)) - { - for (iIndex = 0, iLen = aEmail.length; iIndex < iLen; iIndex++) - { - aResult.push(aEmail[iIndex].toLine(bFriendlyView, bWrapWithLink)); - } - } - - return aResult.join(', '); - }; - - /** - * @param {Array.} aEmails - * @return {string} - */ - MessageHelper.prototype.emailArrayToStringClear = function (aEmails) - { - var - aResult = [], - iIndex = 0, - iLen = 0 - ; - - if (Utils.isNonEmptyArray(aEmails)) - { - for (iIndex = 0, iLen = aEmails.length; iIndex < iLen; iIndex++) - { - if (aEmails[iIndex] && aEmails[iIndex].email && '' !== aEmails[iIndex].name) - { - aResult.push(aEmails[iIndex].email); - } - } - } - - return aResult.join(', '); - }; - - /** - * @param {?Array} aJson - * @return {Array.} - */ - MessageHelper.prototype.emailArrayFromJson = function (aJson) - { - var - iIndex = 0, - iLen = 0, - oEmailModel = null, - aResult = [] - ; - - if (Utils.isNonEmptyArray(aJson)) - { - for (iIndex = 0, iLen = aJson.length; iIndex < iLen; iIndex++) - { - oEmailModel = EmailModel.newInstanceFromJson(aJson[iIndex]); - if (oEmailModel) - { - aResult.push(oEmailModel); - } - } - } - - return aResult; - }; - - /** - * @param {Array.} aInputEmails - * @param {Object} oUnic - * @param {Array} aLocalEmails - */ - MessageHelper.prototype.replyHelper = function (aInputEmails, oUnic, aLocalEmails) - { - if (aInputEmails && 0 < aInputEmails.length) - { - var - iIndex = 0, - iLen = aInputEmails.length - ; - - for (; iIndex < iLen; iIndex++) - { - if (Utils.isUnd(oUnic[aInputEmails[iIndex].email])) - { - oUnic[aInputEmails[iIndex].email] = true; - aLocalEmails.push(aInputEmails[iIndex]); - } - } - } - }; - - module.exports = new MessageHelper(); - -}()); \ No newline at end of file diff --git a/dev/Helper/Message.jsx b/dev/Helper/Message.jsx new file mode 100644 index 0000000000..74790e3e9b --- /dev/null +++ b/dev/Helper/Message.jsx @@ -0,0 +1,112 @@ + +import Utils from 'Common/Utils'; +import EmailModel from 'Model/Email'; + +class MessageHelper +{ + constructor() {} + + /** + * @param {Array.} emails + * @param {boolean=} friendlyView = false + * @param {boolean=} wrapWithLink = false + * @return {string} + */ + emailArrayToString(emails, friendlyView = false, wrapWithLink = false) { + + let + result = [], + index = 0, + len = 0 + ; + + if (Utils.isNonEmptyArray(emails)) + { + for (index = 0, len = emails.length; index < len; index++) + { + result.push(emails[index].toLine(friendlyView, wrapWithLink)); + } + } + + return result.join(', '); + } + + /** + * @param {Array.} emails + * @return {string} + */ + emailArrayToStringClear(emails) { + + let + result = [], + index = 0, + len = 0 + ; + + if (Utils.isNonEmptyArray(emails)) + { + for (index = 0, len = emails.length; index < len; index++) + { + if (emails[index] && emails[index].email && '' !== emails[index].name) + { + result.push(emails[index].email); + } + } + } + + return result.join(', '); + } + + /** + * @param {?Array} json + * @return {Array.} + */ + emailArrayFromJson(json) { + + let + index = 0, + len = 0, + email = null, + result = [] + ; + + if (Utils.isNonEmptyArray(json)) + { + for (index = 0, len = json.length; index < len; index++) + { + email = EmailModel.newInstanceFromJson(json[index]); + if (email) + { + result.push(email); + } + } + } + + return result; + } + + /** + * @param {Array.} inputEmails + * @param {Object} unic + * @param {Array} localEmails + */ + replyHelper(inputEmails, unic, localEmails) { + + if (inputEmails && 0 < inputEmails.length) + { + let index = 0; + const len = inputEmails.length; + + for (; index < len; index++) + { + if (Utils.isUnd(unic[inputEmails[index].email])) + { + unic[inputEmails[index].email] = true; + localEmails.push(inputEmails[index]); + } + } + } + } +} + +export default new MessageHelper(); diff --git a/dev/Model/Message.js b/dev/Model/Message.js index 31772c996a..7b247de35d 100644 --- a/dev/Model/Message.js +++ b/dev/Model/Message.js @@ -16,7 +16,7 @@ AttachmentModel = require('Model/Attachment'), - MessageHelper = require('Helper/Message'), + MessageHelper = require('Helper/Message').default, AbstractModel = require('Knoin/AbstractModel') ; diff --git a/dev/Model/MessageFull.js b/dev/Model/MessageFull.js index 88c185ea68..b4815dcf3c 100644 --- a/dev/Model/MessageFull.js +++ b/dev/Model/MessageFull.js @@ -9,7 +9,7 @@ Enums = require('Common/Enums'), Utils = require('Common/Utils'), -// MessageHelper = require('Helper/Message'), +// MessageHelper = require('Helper/Message').default, MessageSimpleModel = require('Model/MessageSimple') ; diff --git a/dev/Model/MessageSimple.js b/dev/Model/MessageSimple.js index d4eb52d23f..2765027609 100644 --- a/dev/Model/MessageSimple.js +++ b/dev/Model/MessageSimple.js @@ -9,7 +9,7 @@ Utils = require('Common/Utils'), - MessageHelper = require('Helper/Message'), + MessageHelper = require('Helper/Message').default, AbstractModel = require('Knoin/AbstractModel') ; diff --git a/dev/Stores/User/Message.js b/dev/Stores/User/Message.js index cc05e721c1..937dcc0c08 100644 --- a/dev/Stores/User/Message.js +++ b/dev/Stores/User/Message.js @@ -28,7 +28,7 @@ Remote = require('Remote/User/Ajax'), MessageModel = require('Model/Message'), - MessageHelper = require('Helper/Message') + MessageHelper = require('Helper/Message').default ; /** diff --git a/rainloop/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php b/rainloop/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php index 449b51fd6f..7bc4892960 100644 --- a/rainloop/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php +++ b/rainloop/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php @@ -995,8 +995,13 @@ public function FolderExamine($sFolderName, $bReSelectSameFolders = false) */ public function FolderUnSelect() { - return $this->IsSelected() && $this->IsSupported('UNSELECT') ? - $this->SendRequestWithCheck('UNSELECT') : $this; + if ($this->IsSelected() && $this->IsSupported('UNSELECT')) + { + $this->SendRequestWithCheck('UNSELECT'); + $this->bIsSelected = false; + } + + return $this; } /**