From 8cf8b94d39697ab0516259f53286a7ba1c5df7c2 Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Sat, 18 Oct 2014 17:43:44 +0400 Subject: [PATCH] Code refactoring --- dev/App/{App.js => User.js} | 96 +++++++------- dev/Model/Folder.js | 2 +- dev/Model/Message.js | 14 +- dev/Screen/App/About.js | 32 ----- dev/Screen/App/Login.js | 32 ----- dev/Screen/User/About.js | 32 +++++ dev/Screen/User/Login.js | 32 +++++ dev/Screen/{App => User}/MailBox.js | 44 +++---- dev/Screen/{App => User}/Settings.js | 44 +++---- dev/Settings/{App => User}/Accounts.js | 14 +- dev/Settings/{App => User}/ChangePassword.js | 10 +- dev/Settings/{App => User}/Contacts.js | 10 +- dev/Settings/{App => User}/Filters.js | 8 +- dev/Settings/{App => User}/Folders.js | 30 ++--- dev/Settings/{App => User}/General.js | 16 +-- dev/Settings/{App => User}/Identities.js | 22 ++-- dev/Settings/{App => User}/Identity.js | 12 +- .../{App/OpenPGP.js => User/OpenPgp.js} | 16 +-- dev/Settings/{App => User}/Security.js | 26 ++-- dev/Settings/{App => User}/Social.js | 18 +-- dev/Settings/{App => User}/Themes.js | 10 +- dev/Storage/{App => User}/Cache.js | 74 +++++------ dev/Storage/{App => User}/Data.js | 38 +++--- dev/Storage/{App => User}/Remote.js | 120 +++++++++--------- dev/View/App/MailBox/SystemDropDown.js | 28 ---- dev/View/App/Settings/SystemDropDown.js | 28 ---- dev/View/Popup/AddAccount.js | 4 +- dev/View/Popup/AddOpenPgpKey.js | 4 +- dev/View/Popup/AdvancedSearch.js | 2 +- dev/View/Popup/Compose.js | 16 +-- dev/View/Popup/ComposeOpenPgp.js | 2 +- dev/View/Popup/Contacts.js | 10 +- dev/View/Popup/Filter.js | 2 +- dev/View/Popup/FolderClear.js | 8 +- dev/View/Popup/FolderCreate.js | 6 +- dev/View/Popup/FolderSystem.js | 4 +- dev/View/Popup/Identity.js | 6 +- dev/View/Popup/NewOpenPgpKey.js | 4 +- dev/View/Popup/TwoFactorTest.js | 2 +- dev/View/{App => User}/About.js | 8 +- .../{App => User}/AbstractSystemDropDown.js | 26 ++-- dev/View/{App => User}/Login.js | 28 ++-- dev/View/{App => User}/MailBox/FolderList.js | 38 +++--- dev/View/{App => User}/MailBox/MessageList.js | 86 ++++++------- dev/View/{App => User}/MailBox/MessageView.js | 82 ++++++------ dev/View/User/MailBox/SystemDropDown.js | 28 ++++ dev/View/{App => User}/Settings/Menu.js | 14 +- dev/View/{App => User}/Settings/Pane.js | 18 +-- dev/View/User/Settings/SystemDropDown.js | 28 ++++ dev/admin.js | 2 +- dev/app.js | 2 +- dev/{App/Boot.js => bootstrap.js} | 0 .../0.0.0/app/libraries/MailSo/Base/Utils.php | 17 +++ .../src/RainLoop/Providers/ChangePassword.php | 32 ++--- .../0.0.0/app/src/RainLoop/ServiceActions.php | 2 +- .../Views/Admin/AdminSettingsSecurity.html | 20 +-- .../templates/Views/{App => User}/About.html | 14 +- .../{App => User}/ComposeAttachment.html | 0 .../ComposeAttachmentInProcess.html | 0 .../templates/Views/{App => User}/Login.html | 0 .../Views/{App => User}/MailFolderList.html | 0 .../{App => User}/MailFolderListItem.html | 0 .../MailFolderListSystemItem.html | 0 .../Views/{App => User}/MailMessageList.html | 0 .../{App => User}/MailMessageListItem.html | 0 .../MailMessageListItemNoPreviewPane.html | 0 .../Views/{App => User}/MailMessageView.html | 0 .../Views/{App => User}/PopupsAddAccount.html | 0 .../{App => User}/PopupsAddOpenPgpKey.html | 0 .../{App => User}/PopupsAdvancedSearch.html | 0 .../Views/{App => User}/PopupsCompose.html | 0 .../{App => User}/PopupsComposeOpenPgp.html | 0 .../Views/{App => User}/PopupsContacts.html | 0 .../Views/{App => User}/PopupsFilter.html | 0 .../{App => User}/PopupsFolderClear.html | 0 .../{App => User}/PopupsFolderCreate.html | 0 .../{App => User}/PopupsFolderSystem.html | 0 .../Views/{App => User}/PopupsIdentity.html | 0 .../{App => User}/PopupsNewOpenPgpKey.html | 0 .../{App => User}/PopupsTwoFactorTest.html | 0 .../{App => User}/PopupsViewOpenPgpKey.html | 0 .../PopupsWindowSimpleMessage.html | 0 .../Views/{App => User}/SettingsAccounts.html | 0 .../{App => User}/SettingsChangePassword.html | 0 .../Views/{App => User}/SettingsContacts.html | 0 .../Views/{App => User}/SettingsCustom.html | 0 .../Views/{App => User}/SettingsFilters.html | 0 .../SettingsFiltersActionNoValue.html | 0 .../SettingsFiltersActionValueAsFolders.html | 0 .../SettingsFiltersActionWithValue.html | 0 .../SettingsFiltersConditionDefault.html | 0 .../{App => User}/SettingsFolderItem.html | 0 .../Views/{App => User}/SettingsFolders.html | 0 .../Views/{App => User}/SettingsGeneral.html | 0 .../{App => User}/SettingsIdentities.html | 0 .../Views/{App => User}/SettingsIdentity.html | 0 .../Views/{App => User}/SettingsMenu.html | 0 .../Views/{App => User}/SettingsOpenPGP.html | 0 .../Views/{App => User}/SettingsPane.html | 0 .../Views/{App => User}/SettingsSecurity.html | 0 .../Views/{App => User}/SettingsSocial.html | 0 .../Views/{App => User}/SettingsThemes.html | 0 .../Views/{App => User}/SystemDropDown.html | 0 103 files changed, 664 insertions(+), 659 deletions(-) rename dev/App/{App.js => User.js} (92%) delete mode 100644 dev/Screen/App/About.js delete mode 100644 dev/Screen/App/Login.js create mode 100644 dev/Screen/User/About.js create mode 100644 dev/Screen/User/Login.js rename dev/Screen/{App => User}/MailBox.js (77%) rename dev/Screen/{App => User}/Settings.js (65%) rename dev/Settings/{App => User}/Accounts.js (83%) rename dev/Settings/{App => User}/ChangePassword.js (91%) rename dev/Settings/{App => User}/Contacts.js (83%) rename dev/Settings/{App => User}/Filters.js (74%) rename dev/Settings/{App => User}/Folders.js (84%) rename dev/Settings/{App => User}/General.js (91%) rename dev/Settings/{App => User}/Identities.js (88%) rename dev/Settings/{App => User}/Identity.js (88%) rename dev/Settings/{App/OpenPGP.js => User/OpenPgp.js} (78%) rename dev/Settings/{App => User}/Security.js (81%) rename dev/Settings/{App => User}/Social.js (80%) rename dev/Settings/{App => User}/Themes.js (93%) rename dev/Storage/{App => User}/Cache.js (71%) rename dev/Storage/{App => User}/Data.js (95%) rename dev/Storage/{App => User}/Remote.js (76%) delete mode 100644 dev/View/App/MailBox/SystemDropDown.js delete mode 100644 dev/View/App/Settings/SystemDropDown.js rename dev/View/{App => User}/About.js (65%) rename dev/View/{App => User}/AbstractSystemDropDown.js (72%) rename dev/View/{App => User}/Login.js (92%) rename dev/View/{App => User}/MailBox/FolderList.js (79%) rename dev/View/{App => User}/MailBox/MessageList.js (88%) rename dev/View/{App => User}/MailBox/MessageView.js (85%) create mode 100644 dev/View/User/MailBox/SystemDropDown.js rename dev/View/{App => User}/Settings/Menu.js (57%) rename dev/View/{App => User}/Settings/Pane.js (53%) create mode 100644 dev/View/User/Settings/SystemDropDown.js rename dev/{App/Boot.js => bootstrap.js} (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/About.html (98%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/ComposeAttachment.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/ComposeAttachmentInProcess.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/Login.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/MailFolderList.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/MailFolderListItem.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/MailFolderListSystemItem.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/MailMessageList.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/MailMessageListItem.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/MailMessageListItemNoPreviewPane.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/MailMessageView.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsAddAccount.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsAddOpenPgpKey.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsAdvancedSearch.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsCompose.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsComposeOpenPgp.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsContacts.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsFilter.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsFolderClear.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsFolderCreate.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsFolderSystem.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsIdentity.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsNewOpenPgpKey.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsTwoFactorTest.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsViewOpenPgpKey.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/PopupsWindowSimpleMessage.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsAccounts.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsChangePassword.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsContacts.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsCustom.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsFilters.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsFiltersActionNoValue.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsFiltersActionValueAsFolders.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsFiltersActionWithValue.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsFiltersConditionDefault.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsFolderItem.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsFolders.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsGeneral.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsIdentities.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsIdentity.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsMenu.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsOpenPGP.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsPane.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsSecurity.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsSocial.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SettingsThemes.html (100%) rename rainloop/v/0.0.0/app/templates/Views/{App => User}/SystemDropDown.html (100%) diff --git a/dev/App/App.js b/dev/App/User.js similarity index 92% rename from dev/App/App.js rename to dev/App/User.js index f6d7e7d34..7000b8b19 100644 --- a/dev/App/App.js +++ b/dev/App/User.js @@ -22,9 +22,9 @@ Local = require('Storage/Local'), Settings = require('Storage/Settings'), - Data = require('Storage/App/Data'), - Cache = require('Storage/App/Cache'), - Remote = require('Storage/App/Remote'), + Data = require('Storage/User/Data'), + Cache = require('Storage/User/Cache'), + Remote = require('Storage/User/Remote'), EmailModel = require('Model/Email'), FolderModel = require('Model/Folder'), @@ -40,7 +40,7 @@ * @constructor * @extends AbstractApp */ - function AppApp() + function AppUser() { AbstractApp.call(this, Remote); @@ -103,19 +103,19 @@ this.socialUsers = _.bind(this.socialUsers, this); } - _.extend(AppApp.prototype, AbstractApp.prototype); + _.extend(AppUser.prototype, AbstractApp.prototype); - AppApp.prototype.remote = function () + AppUser.prototype.remote = function () { return Remote; }; - AppApp.prototype.data = function () + AppUser.prototype.data = function () { return Data; }; - AppApp.prototype.reloadFlagsCurrentMessageListAndMessageFromCache = function () + AppUser.prototype.reloadFlagsCurrentMessageListAndMessageFromCache = function () { _.each(Data.messageList(), function (oMessage) { Cache.initMessageFlagsFromCache(oMessage); @@ -128,7 +128,7 @@ * @param {boolean=} bDropPagePosition = false * @param {boolean=} bDropCurrenFolderCache = false */ - AppApp.prototype.reloadMessageList = function (bDropPagePosition, bDropCurrenFolderCache) + AppUser.prototype.reloadMessageList = function (bDropPagePosition, bDropCurrenFolderCache) { var self = this, @@ -172,12 +172,12 @@ }, Data.currentFolderFullNameRaw(), iOffset, Data.messagesPerPage(), Data.messageListSearch()); }; - AppApp.prototype.recacheInboxMessageList = function () + AppUser.prototype.recacheInboxMessageList = function () { Remote.messageList(Utils.emptyFunction, Cache.getFolderInboxName(), 0, Data.messagesPerPage(), '', true); }; - AppApp.prototype.reloadMessageListHelper = function (bEmptyList) + AppUser.prototype.reloadMessageListHelper = function (bEmptyList) { this.reloadMessageList(bEmptyList); }; @@ -186,7 +186,7 @@ * @param {Function} fResultFunc * @returns {boolean} */ - AppApp.prototype.contactsSync = function (fResultFunc) + AppUser.prototype.contactsSync = function (fResultFunc) { var oContacts = Data.contacts; if (oContacts.importing() || oContacts.syncing() || !Data.enableContactsSync() || !Data.allowContactsSync()) @@ -209,7 +209,7 @@ return true; }; - AppApp.prototype.messagesMoveTrigger = function () + AppUser.prototype.messagesMoveTrigger = function () { var self = this, @@ -230,7 +230,7 @@ this.oMoveCache = {}; }; - AppApp.prototype.messagesMoveHelper = function (sFromFolderFullNameRaw, sToFolderFullNameRaw, aUidForMove) + AppUser.prototype.messagesMoveHelper = function (sFromFolderFullNameRaw, sToFolderFullNameRaw, aUidForMove) { var sH = '$$' + sFromFolderFullNameRaw + '$$' + sToFolderFullNameRaw + '$$'; if (!this.oMoveCache[sH]) @@ -246,7 +246,7 @@ this.messagesMoveTrigger(); }; - AppApp.prototype.messagesCopyHelper = function (sFromFolderFullNameRaw, sToFolderFullNameRaw, aUidForCopy) + AppUser.prototype.messagesCopyHelper = function (sFromFolderFullNameRaw, sToFolderFullNameRaw, aUidForCopy) { Remote.messagesCopy( this.moveOrDeleteResponseHelper, @@ -256,7 +256,7 @@ ); }; - AppApp.prototype.messagesDeleteHelper = function (sFromFolderFullNameRaw, aUidForRemove) + AppUser.prototype.messagesDeleteHelper = function (sFromFolderFullNameRaw, aUidForRemove) { Remote.messagesDelete( this.moveOrDeleteResponseHelper, @@ -265,7 +265,7 @@ ); }; - AppApp.prototype.moveOrDeleteResponseHelper = function (sResult, oData) + AppUser.prototype.moveOrDeleteResponseHelper = function (sResult, oData) { if (Enums.StorageResultType.Success === sResult && Data.currentFolder()) { @@ -293,7 +293,7 @@ * @param {string} sFromFolderFullNameRaw * @param {Array} aUidForRemove */ - AppApp.prototype.deleteMessagesFromFolderWithoutCheck = function (sFromFolderFullNameRaw, aUidForRemove) + AppUser.prototype.deleteMessagesFromFolderWithoutCheck = function (sFromFolderFullNameRaw, aUidForRemove) { this.messagesDeleteHelper(sFromFolderFullNameRaw, aUidForRemove); Data.removeMessagesFromList(sFromFolderFullNameRaw, aUidForRemove); @@ -305,7 +305,7 @@ * @param {Array} aUidForRemove * @param {boolean=} bUseFolder = true */ - AppApp.prototype.deleteMessagesFromFolder = function (iDeleteType, sFromFolderFullNameRaw, aUidForRemove, bUseFolder) + AppUser.prototype.deleteMessagesFromFolder = function (iDeleteType, sFromFolderFullNameRaw, aUidForRemove, bUseFolder) { var self = this, @@ -370,7 +370,7 @@ * @param {string} sToFolderFullNameRaw * @param {boolean=} bCopy = false */ - AppApp.prototype.moveMessagesToFolder = function (sFromFolderFullNameRaw, aUidForMove, sToFolderFullNameRaw, bCopy) + AppUser.prototype.moveMessagesToFolder = function (sFromFolderFullNameRaw, aUidForMove, sToFolderFullNameRaw, bCopy) { if (sFromFolderFullNameRaw !== sToFolderFullNameRaw && Utils.isArray(aUidForMove) && 0 < aUidForMove.length) { @@ -401,7 +401,7 @@ /** * @param {Function=} fCallback */ - AppApp.prototype.folders = function (fCallback) + AppUser.prototype.folders = function (fCallback) { Data.foldersLoading(true); @@ -424,7 +424,7 @@ }, this)); }; - AppApp.prototype.reloadOpenPgpKeys = function () + AppUser.prototype.reloadOpenPgpKeys = function () { if (Data.capaOpenPGP()) { @@ -468,7 +468,7 @@ } }; - AppApp.prototype.accountsAndIdentities = function () + AppUser.prototype.accountsAndIdentities = function () { Data.accountsLoading(true); Data.identitiesLoading(true); @@ -517,7 +517,7 @@ }); }; - AppApp.prototype.quota = function () + AppUser.prototype.quota = function () { Remote.quota(function (sResult, oData) { if (Enums.StorageResultType.Success === sResult && oData && oData.Result && @@ -534,7 +534,7 @@ * @param {string} sFolder * @param {Array=} aList = [] */ - AppApp.prototype.folderInformation = function (sFolder, aList) + AppUser.prototype.folderInformation = function (sFolder, aList) { if ('' !== Utils.trim(sFolder)) { @@ -638,7 +638,7 @@ /** * @param {boolean=} bBoot = false */ - AppApp.prototype.folderInformationMultiply = function (bBoot) + AppUser.prototype.folderInformationMultiply = function (bBoot) { bBoot = Utils.isUnd(bBoot) ? false : !!bBoot; @@ -724,7 +724,7 @@ } }; - AppApp.prototype.setMessageSeen = function (oMessage) + AppUser.prototype.setMessageSeen = function (oMessage) { if (oMessage.unseen()) { @@ -744,17 +744,17 @@ Remote.messageSetSeen(Utils.emptyFunction, oMessage.folderFullNameRaw, [oMessage.uid], true); }; - AppApp.prototype.googleConnect = function () + AppUser.prototype.googleConnect = function () { window.open(Links.socialGoogle(), 'Google', 'left=200,top=100,width=650,height=600,menubar=no,status=no,resizable=yes,scrollbars=yes'); }; - AppApp.prototype.twitterConnect = function () + AppUser.prototype.twitterConnect = function () { window.open(Links.socialTwitter(), 'Twitter', 'left=200,top=100,width=650,height=350,menubar=no,status=no,resizable=yes,scrollbars=yes'); }; - AppApp.prototype.facebookConnect = function () + AppUser.prototype.facebookConnect = function () { window.open(Links.socialFacebook(), 'Facebook', 'left=200,top=100,width=650,height=335,menubar=no,status=no,resizable=yes,scrollbars=yes'); }; @@ -762,7 +762,7 @@ /** * @param {boolean=} bFireAllActions */ - AppApp.prototype.socialUsers = function (bFireAllActions) + AppUser.prototype.socialUsers = function (bFireAllActions) { if (bFireAllActions) { @@ -796,19 +796,19 @@ }); }; - AppApp.prototype.googleDisconnect = function () + AppUser.prototype.googleDisconnect = function () { Data.googleActions(true); Remote.googleDisconnect(this.socialUsers); }; - AppApp.prototype.facebookDisconnect = function () + AppUser.prototype.facebookDisconnect = function () { Data.facebookActions(true); Remote.facebookDisconnect(this.socialUsers); }; - AppApp.prototype.twitterDisconnect = function () + AppUser.prototype.twitterDisconnect = function () { Data.twitterActions(true); Remote.twitterDisconnect(this.socialUsers); @@ -818,7 +818,7 @@ * @param {string} sQuery * @param {Function} fCallback */ - AppApp.prototype.getAutocomplete = function (sQuery, fCallback) + AppUser.prototype.getAutocomplete = function (sQuery, fCallback) { var aData = [] @@ -841,7 +841,7 @@ }, sQuery); }; - AppApp.prototype.setMessageList = function (oData, bCached) + AppUser.prototype.setMessageList = function (oData, bCached) { if (oData && oData.Result && 'Collection/MessageCollection' === oData.Result['@Object'] && oData.Result['@Collection'] && Utils.isArray(oData.Result['@Collection'])) @@ -976,7 +976,7 @@ * @param {Array} aFolders * @return {Array} */ - AppApp.prototype.folderResponseParseRec = function (sNamespace, aFolders) + AppUser.prototype.folderResponseParseRec = function (sNamespace, aFolders) { var self = this, @@ -1048,7 +1048,7 @@ /** * @param {*} oData */ - AppApp.prototype.setFolders = function (oData) + AppUser.prototype.setFolders = function (oData) { var aList = [], @@ -1113,7 +1113,7 @@ * @param {string} sFullNameHash * @return {boolean} */ - AppApp.prototype.isFolderExpanded = function (sFullNameHash) + AppUser.prototype.isFolderExpanded = function (sFullNameHash) { var aExpandedList = Local.get(Enums.ClientSideKeyName.ExpandedFolders); return Utils.isArray(aExpandedList) && -1 !== _.indexOf(aExpandedList, sFullNameHash); @@ -1123,7 +1123,7 @@ * @param {string} sFullNameHash * @param {boolean} bExpanded */ - AppApp.prototype.setExpandedFolder = function (sFullNameHash, bExpanded) + AppUser.prototype.setExpandedFolder = function (sFullNameHash, bExpanded) { var aExpandedList = Local.get(Enums.ClientSideKeyName.ExpandedFolders); if (!Utils.isArray(aExpandedList)) @@ -1144,7 +1144,7 @@ Local.set(Enums.ClientSideKeyName.ExpandedFolders, aExpandedList); }; - AppApp.prototype.initLayoutResizer = function (sLeft, sRight, sClientSideKeyName) + AppUser.prototype.initLayoutResizer = function (sLeft, sRight, sClientSideKeyName) { var iDisabledWidth = 60, @@ -1215,7 +1215,7 @@ }); }; - AppApp.prototype.bootstartLoginScreen = function () + AppUser.prototype.bootstartLoginScreen = function () { var sCustomLoginLink = Utils.pString(Settings.settingsGet('CustomLoginLink')); if (!sCustomLoginLink) @@ -1223,7 +1223,7 @@ kn.hideLoading(); kn.startScreens([ - require('Screen/App/Login') + require('Screen/User/Login') ]); Plugins.runHook('rl-start-login-screens'); @@ -1241,7 +1241,7 @@ } }; - AppApp.prototype.bootstart = function () + AppUser.prototype.bootstart = function () { AbstractApp.prototype.bootstart.call(this); @@ -1318,9 +1318,9 @@ } kn.startScreens([ - require('Screen/App/MailBox'), - require('Screen/App/Settings'), - require('Screen/App/About') + require('Screen/User/MailBox'), + require('Screen/User/Settings'), + require('Screen/User/About') ]); if (bGoogle || bFacebook || bTwitter) @@ -1447,6 +1447,6 @@ Events.pub('rl.bootstart-end'); }; - module.exports = new AppApp(); + module.exports = new AppUser(); }()); \ No newline at end of file diff --git a/dev/Model/Folder.js b/dev/Model/Folder.js index 7b5921f1c..1d6bdd7ea 100644 --- a/dev/Model/Folder.js +++ b/dev/Model/Folder.js @@ -12,7 +12,7 @@ Utils = require('Common/Utils'), Events = require('Common/Events'), - Cache = require('Storage/App/Cache'), + Cache = require('Storage/User/Cache'), AbstractModel = require('Knoin/AbstractModel') ; diff --git a/dev/Model/Message.js b/dev/Model/Message.js index 617f2dfa0..f9061c895 100644 --- a/dev/Model/Message.js +++ b/dev/Model/Message.js @@ -361,7 +361,7 @@ MessageModel.prototype.computeSenderEmail = function () { var - Data = require('Storage/App/Data'), + Data = require('Storage/User/Data'), sSent = Data.sentFolder(), sDraft = Data.draftFolder() ; @@ -440,7 +440,7 @@ { var bResult = false, - Data = require('Storage/App/Data'), + Data = require('Storage/User/Data'), iPriority = Enums.MessagePriority.Normal ; @@ -1096,7 +1096,7 @@ this.body.data('rl-plain-raw', this.plainRaw); - var Data = require('Storage/App/Data'); + var Data = require('Storage/User/Data'); if (Data.capaOpenPGP()) { this.body.data('rl-plain-pgp-signed', !!this.isPgpSigned()); @@ -1109,7 +1109,7 @@ MessageModel.prototype.storePgpVerifyDataToDom = function () { - var Data = require('Storage/App/Data'); + var Data = require('Storage/User/Data'); if (this.body && Data.capaOpenPGP()) { this.body.data('rl-pgp-verify-status', this.pgpSignedVerifyStatus()); @@ -1126,7 +1126,7 @@ this.plainRaw = Utils.pString(this.body.data('rl-plain-raw')); - var Data = require('Storage/App/Data'); + var Data = require('Storage/User/Data'); if (Data.capaOpenPGP()) { this.isPgpSigned(!!this.body.data('rl-plain-pgp-signed')); @@ -1151,7 +1151,7 @@ var aRes = [], mPgpMessage = null, - Data = require('Storage/App/Data'), + Data = require('Storage/User/Data'), sFrom = this.from && this.from[0] && this.from[0].email ? this.from[0].email : '', aPublicKeys = Data.findPublicKeysByEmail(sFrom), oValidKey = null, @@ -1215,7 +1215,7 @@ aRes = [], mPgpMessage = null, mPgpMessageDecrypted = null, - Data = require('Storage/App/Data'), + Data = require('Storage/User/Data'), sFrom = this.from && this.from[0] && this.from[0].email ? this.from[0].email : '', aPublicKey = Data.findPublicKeysByEmail(sFrom), oPrivateKey = Data.findSelfPrivateKey(sPassword), diff --git a/dev/Screen/App/About.js b/dev/Screen/App/About.js deleted file mode 100644 index 18accf34a..000000000 --- a/dev/Screen/App/About.js +++ /dev/null @@ -1,32 +0,0 @@ - -(function () { - - 'use strict'; - - var - _ = require('_'), - - AbstractScreen = require('Knoin/AbstractScreen') - ; - - /** - * @constructor - * @extends AbstractScreen - */ - function AboutAppScreen() - { - AbstractScreen.call(this, 'about', [ - require('View/App/About') - ]); - } - - _.extend(AboutAppScreen.prototype, AbstractScreen.prototype); - - AboutAppScreen.prototype.onShow = function () - { - require('App/App').setTitle('RainLoop'); - }; - - module.exports = AboutAppScreen; - -}()); \ No newline at end of file diff --git a/dev/Screen/App/Login.js b/dev/Screen/App/Login.js deleted file mode 100644 index b578e43a0..000000000 --- a/dev/Screen/App/Login.js +++ /dev/null @@ -1,32 +0,0 @@ - -(function () { - - 'use strict'; - - var - _ = require('_'), - - AbstractScreen = require('Knoin/AbstractScreen') - ; - - /** - * @constructor - * @extends AbstractScreen - */ - function LoginAppScreen() - { - AbstractScreen.call(this, 'login', [ - require('View/App/Login') - ]); - } - - _.extend(LoginAppScreen.prototype, AbstractScreen.prototype); - - LoginAppScreen.prototype.onShow = function () - { - require('App/App').setTitle(''); - }; - - module.exports = LoginAppScreen; - -}()); \ No newline at end of file diff --git a/dev/Screen/User/About.js b/dev/Screen/User/About.js new file mode 100644 index 000000000..d63c8a2b2 --- /dev/null +++ b/dev/Screen/User/About.js @@ -0,0 +1,32 @@ + +(function () { + + 'use strict'; + + var + _ = require('_'), + + AbstractScreen = require('Knoin/AbstractScreen') + ; + + /** + * @constructor + * @extends AbstractScreen + */ + function AboutUserScreen() + { + AbstractScreen.call(this, 'about', [ + require('View/User/About') + ]); + } + + _.extend(AboutUserScreen.prototype, AbstractScreen.prototype); + + AboutUserScreen.prototype.onShow = function () + { + require('App/User').setTitle('RainLoop'); + }; + + module.exports = AboutUserScreen; + +}()); \ No newline at end of file diff --git a/dev/Screen/User/Login.js b/dev/Screen/User/Login.js new file mode 100644 index 000000000..bc999a788 --- /dev/null +++ b/dev/Screen/User/Login.js @@ -0,0 +1,32 @@ + +(function () { + + 'use strict'; + + var + _ = require('_'), + + AbstractScreen = require('Knoin/AbstractScreen') + ; + + /** + * @constructor + * @extends AbstractScreen + */ + function LoginUserScreen() + { + AbstractScreen.call(this, 'login', [ + require('View/User/Login') + ]); + } + + _.extend(LoginUserScreen.prototype, AbstractScreen.prototype); + + LoginUserScreen.prototype.onShow = function () + { + require('App/User').setTitle(''); + }; + + module.exports = LoginUserScreen; + +}()); \ No newline at end of file diff --git a/dev/Screen/App/MailBox.js b/dev/Screen/User/MailBox.js similarity index 77% rename from dev/Screen/App/MailBox.js rename to dev/Screen/User/MailBox.js index d61593620..d9356d164 100644 --- a/dev/Screen/App/MailBox.js +++ b/dev/Screen/User/MailBox.js @@ -12,9 +12,9 @@ Events = require('Common/Events'), Settings = require('Storage/Settings'), - Data = require('Storage/App/Data'), - Cache = require('Storage/App/Cache'), - Remote = require('Storage/App/Remote'), + Data = require('Storage/User/Data'), + Cache = require('Storage/User/Cache'), + Remote = require('Storage/User/Remote'), AbstractScreen = require('Knoin/AbstractScreen') ; @@ -23,37 +23,37 @@ * @constructor * @extends AbstractScreen */ - function MailBoxAppScreen() + function MailBoxUserScreen() { AbstractScreen.call(this, 'mailbox', [ - require('View/App/MailBox/SystemDropDown'), - require('View/App/MailBox/FolderList'), - require('View/App/MailBox/MessageList'), - require('View/App/MailBox/MessageView') + require('View/User/MailBox/SystemDropDown'), + require('View/User/MailBox/FolderList'), + require('View/User/MailBox/MessageList'), + require('View/User/MailBox/MessageView') ]); this.oLastRoute = {}; } - _.extend(MailBoxAppScreen.prototype, AbstractScreen.prototype); + _.extend(MailBoxUserScreen.prototype, AbstractScreen.prototype); /** * @type {Object} */ - MailBoxAppScreen.prototype.oLastRoute = {}; + MailBoxUserScreen.prototype.oLastRoute = {}; - MailBoxAppScreen.prototype.setNewTitle = function () + MailBoxUserScreen.prototype.setNewTitle = function () { var sEmail = Data.accountEmail(), nFoldersInboxUnreadCount = Data.foldersInboxUnreadCount() ; - require('App/App').setTitle(('' === sEmail ? '' : + require('App/User').setTitle(('' === sEmail ? '' : (0 < nFoldersInboxUnreadCount ? '(' + nFoldersInboxUnreadCount + ') ' : ' ') + sEmail + ' - ') + Utils.i18n('TITLES/MAILBOX')); }; - MailBoxAppScreen.prototype.onShow = function () + MailBoxUserScreen.prototype.onShow = function () { this.setNewTitle(); Globals.keyScope(Enums.KeyState.MessageList); @@ -65,13 +65,13 @@ * @param {string} sSearch * @param {boolean=} bPreview = false */ - MailBoxAppScreen.prototype.onRoute = function (sFolderHash, iPage, sSearch, bPreview) + MailBoxUserScreen.prototype.onRoute = function (sFolderHash, iPage, sSearch, bPreview) { if (Utils.isUnd(bPreview) ? false : !!bPreview) { if (Enums.Layout.NoPreview === Data.layout() && !Data.message()) { - require('App/App').historyBack(); + require('App/User').historyBack(); } } else @@ -94,12 +94,12 @@ Data.message(null); } - require('App/App').reloadMessageList(); + require('App/User').reloadMessageList(); } } }; - MailBoxAppScreen.prototype.onStart = function () + MailBoxUserScreen.prototype.onStart = function () { var sInboxFolderName = Cache.getFolderInboxName(), @@ -110,18 +110,18 @@ if (Settings.capa(Enums.Capa.AdditionalAccounts) || Settings.capa(Enums.Capa.AdditionalIdentities)) { - require('App/App').accountsAndIdentities(); + require('App/User').accountsAndIdentities(); } _.delay(function () { if (sInboxFolderName !== Data.currentFolderFullNameRaw()) { - require('App/App').folderInformation(sInboxFolderName); + require('App/User').folderInformation(sInboxFolderName); } }, 1000); _.delay(function () { - require('App/App').quota(); + require('App/User').quota(); }, 5000); _.delay(function () { @@ -150,7 +150,7 @@ /** * @return {Array} */ - MailBoxAppScreen.prototype.routes = function () + MailBoxUserScreen.prototype.routes = function () { var sInboxFolderName = Cache.getFolderInboxName(), @@ -193,6 +193,6 @@ ]; }; - module.exports = MailBoxAppScreen; + module.exports = MailBoxUserScreen; }()); \ No newline at end of file diff --git a/dev/Screen/App/Settings.js b/dev/Screen/User/Settings.js similarity index 65% rename from dev/Screen/App/Settings.js rename to dev/Screen/User/Settings.js index 8392f0a60..e56dd47a0 100644 --- a/dev/Screen/App/Settings.js +++ b/dev/Screen/User/Settings.js @@ -21,12 +21,12 @@ * @constructor * @extends AbstractSettingsScreen */ - function SettingsAppScreen() + function SettingsUserScreen() { AbstractSettingsScreen.call(this, [ - require('View/App/Settings/SystemDropDown'), - require('View/App/Settings/Menu'), - require('View/App/Settings/Pane') + require('View/User/Settings/SystemDropDown'), + require('View/User/Settings/Menu'), + require('View/User/Settings/Pane') ]); Utils.initOnStartOrLangChange(function () { @@ -36,48 +36,48 @@ }); } - _.extend(SettingsAppScreen.prototype, AbstractSettingsScreen.prototype); + _.extend(SettingsUserScreen.prototype, AbstractSettingsScreen.prototype); /** * @param {Function=} fCallback */ - SettingsAppScreen.prototype.setupSettings = function (fCallback) + SettingsUserScreen.prototype.setupSettings = function (fCallback) { - kn.addSettingsViewModel(require('Settings/App/General'), + kn.addSettingsViewModel(require('Settings/User/General'), 'SettingsGeneral', 'SETTINGS_LABELS/LABEL_GENERAL_NAME', 'general', true); if (Settings.settingsGet('ContactsIsAllowed')) { - kn.addSettingsViewModel(require('Settings/App/Contacts'), + kn.addSettingsViewModel(require('Settings/User/Contacts'), 'SettingsContacts', 'SETTINGS_LABELS/LABEL_CONTACTS_NAME', 'contacts'); } if (Settings.capa(Enums.Capa.AdditionalAccounts)) { - kn.addSettingsViewModel(require('Settings/App/Accounts'), + kn.addSettingsViewModel(require('Settings/User/Accounts'), 'SettingsAccounts', 'SETTINGS_LABELS/LABEL_ACCOUNTS_NAME', 'accounts'); } if (Settings.capa(Enums.Capa.AdditionalIdentities)) { - kn.addSettingsViewModel(require('Settings/App/Identities'), + kn.addSettingsViewModel(require('Settings/User/Identities'), 'SettingsIdentities', 'SETTINGS_LABELS/LABEL_IDENTITIES_NAME', 'identities'); } else { - kn.addSettingsViewModel(require('Settings/App/Identity'), + kn.addSettingsViewModel(require('Settings/User/Identity'), 'SettingsIdentity', 'SETTINGS_LABELS/LABEL_IDENTITY_NAME', 'identity'); } if (Settings.capa(Enums.Capa.Filters)) { - kn.addSettingsViewModel(require('Settings/App/Filters'), + kn.addSettingsViewModel(require('Settings/User/Filters'), 'SettingsFilters', 'SETTINGS_LABELS/LABEL_FILTERS_NAME', 'filters'); } if (Settings.capa(Enums.Capa.TwoFactor)) { - kn.addSettingsViewModel(require('Settings/App/Security'), + kn.addSettingsViewModel(require('Settings/User/Security'), 'SettingsSecurity', 'SETTINGS_LABELS/LABEL_SECURITY_NAME', 'security'); } @@ -85,28 +85,28 @@ Settings.settingsGet('AllowFacebookSocial') || Settings.settingsGet('AllowTwitterSocial')) { - kn.addSettingsViewModel(require('Settings/App/Social'), + kn.addSettingsViewModel(require('Settings/User/Social'), 'SettingsSocial', 'SETTINGS_LABELS/LABEL_SOCIAL_NAME', 'social'); } if (Settings.settingsGet('ChangePasswordIsAllowed')) { - kn.addSettingsViewModel(require('Settings/App/ChangePassword'), + kn.addSettingsViewModel(require('Settings/User/ChangePassword'), 'SettingsChangePassword', 'SETTINGS_LABELS/LABEL_CHANGE_PASSWORD_NAME', 'change-password'); } - kn.addSettingsViewModel(require('Settings/App/Folders'), + kn.addSettingsViewModel(require('Settings/User/Folders'), 'SettingsFolders', 'SETTINGS_LABELS/LABEL_FOLDERS_NAME', 'folders'); if (Settings.capa(Enums.Capa.Themes)) { - kn.addSettingsViewModel(require('Settings/App/Themes'), + kn.addSettingsViewModel(require('Settings/User/Themes'), 'SettingsThemes', 'SETTINGS_LABELS/LABEL_THEMES_NAME', 'themes'); } if (Settings.capa(Enums.Capa.OpenPGP)) { - kn.addSettingsViewModel(require('Settings/App/OpenPGP'), + kn.addSettingsViewModel(require('Settings/User/OpenPgp'), 'SettingsOpenPGP', 'SETTINGS_LABELS/LABEL_OPEN_PGP_NAME', 'openpgp'); } @@ -116,17 +116,17 @@ } }; - SettingsAppScreen.prototype.onShow = function () + SettingsUserScreen.prototype.onShow = function () { this.setSettingsTitle(); Globals.keyScope(Enums.KeyState.Settings); }; - SettingsAppScreen.prototype.setSettingsTitle = function () + SettingsUserScreen.prototype.setSettingsTitle = function () { - require('App/App').setTitle(this.sSettingsTitle); + require('App/User').setTitle(this.sSettingsTitle); }; - module.exports = SettingsAppScreen; + module.exports = SettingsUserScreen; }()); \ No newline at end of file diff --git a/dev/Settings/App/Accounts.js b/dev/Settings/User/Accounts.js similarity index 83% rename from dev/Settings/App/Accounts.js rename to dev/Settings/User/Accounts.js index 64960418b..705a02ac1 100644 --- a/dev/Settings/App/Accounts.js +++ b/dev/Settings/User/Accounts.js @@ -12,14 +12,14 @@ Utils = require('Common/Utils'), Links = require('Common/Links'), - Data = require('Storage/App/Data'), - Remote = require('Storage/App/Remote') + Data = require('Storage/User/Data'), + Remote = require('Storage/User/Remote') ; /** * @constructor */ - function AccountsAppSetting() + function AccountsUserSetting() { this.accounts = Data.accounts; @@ -46,7 +46,7 @@ ]}); } - AccountsAppSetting.prototype.addNewAccount = function () + AccountsUserSetting.prototype.addNewAccount = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/AddAccount')); }; @@ -54,7 +54,7 @@ /** * @param {AccountModel} oAccountToRemove */ - AccountsAppSetting.prototype.deleteAccount = function (oAccountToRemove) + AccountsUserSetting.prototype.deleteAccount = function (oAccountToRemove) { if (oAccountToRemove && oAccountToRemove.deleteAccess()) { @@ -86,7 +86,7 @@ } else { - require('App/App').accountsAndIdentities(); + require('App/User').accountsAndIdentities(); } }, oAccountToRemove.email); @@ -94,6 +94,6 @@ } }; - module.exports = AccountsAppSetting; + module.exports = AccountsUserSetting; }()); \ No newline at end of file diff --git a/dev/Settings/App/ChangePassword.js b/dev/Settings/User/ChangePassword.js similarity index 91% rename from dev/Settings/App/ChangePassword.js rename to dev/Settings/User/ChangePassword.js index 1b77472af..76e60e4b6 100644 --- a/dev/Settings/App/ChangePassword.js +++ b/dev/Settings/User/ChangePassword.js @@ -10,13 +10,13 @@ Enums = require('Common/Enums'), Utils = require('Common/Utils'), - Remote = require('Storage/App/Remote') + Remote = require('Storage/User/Remote') ; /** * @constructor */ - function ChangePasswordAppSetting() + function ChangePasswordUserSetting() { this.changeProcess = ko.observable(false); @@ -76,7 +76,7 @@ this.onChangePasswordResponse = _.bind(this.onChangePasswordResponse, this); } - ChangePasswordAppSetting.prototype.onHide = function () + ChangePasswordUserSetting.prototype.onHide = function () { this.changeProcess(false); this.currentPassword(''); @@ -87,7 +87,7 @@ this.currentPassword.error(false); }; - ChangePasswordAppSetting.prototype.onChangePasswordResponse = function (sResult, oData) + ChangePasswordUserSetting.prototype.onChangePasswordResponse = function (sResult, oData) { this.changeProcess(false); this.passwordMismatch(false); @@ -116,6 +116,6 @@ } }; - module.exports = ChangePasswordAppSetting; + module.exports = ChangePasswordUserSetting; }()); \ No newline at end of file diff --git a/dev/Settings/App/Contacts.js b/dev/Settings/User/Contacts.js similarity index 83% rename from dev/Settings/App/Contacts.js rename to dev/Settings/User/Contacts.js index 46c3d3e3c..feb44ca4a 100644 --- a/dev/Settings/App/Contacts.js +++ b/dev/Settings/User/Contacts.js @@ -6,14 +6,14 @@ var ko = require('ko'), - Remote = require('Storage/App/Remote'), - Data = require('Storage/App/Data') + Remote = require('Storage/User/Remote'), + Data = require('Storage/User/Data') ; /** * @constructor */ - function ContactsAppSetting() + function ContactsUserSetting() { this.contactsAutosave = Data.contactsAutosave; @@ -42,7 +42,7 @@ }, this); } - ContactsAppSetting.prototype.onBuild = function () + ContactsUserSetting.prototype.onBuild = function () { Data.contactsAutosave.subscribe(function (bValue) { Remote.saveSettings(null, { @@ -51,6 +51,6 @@ }); }; - module.exports = ContactsAppSetting; + module.exports = ContactsUserSetting; }()); \ No newline at end of file diff --git a/dev/Settings/App/Filters.js b/dev/Settings/User/Filters.js similarity index 74% rename from dev/Settings/App/Filters.js rename to dev/Settings/User/Filters.js index 8847901d5..fc0289687 100644 --- a/dev/Settings/App/Filters.js +++ b/dev/Settings/User/Filters.js @@ -12,7 +12,7 @@ /** * @constructor */ - function FiltersAppSetting() + function FiltersUserSetting() { this.filters = ko.observableArray([]); this.filters.loading = ko.observable(false); @@ -22,13 +22,13 @@ }); } - FiltersAppSetting.prototype.deleteFilter = function (oFilter) + FiltersUserSetting.prototype.deleteFilter = function (oFilter) { this.filters.remove(oFilter); Utils.delegateRunOnDestroy(oFilter); }; - FiltersAppSetting.prototype.addFilter = function () + FiltersUserSetting.prototype.addFilter = function () { var FilterModel = require('Model/Filter') @@ -38,6 +38,6 @@ require('View/Popup/Filter'), [new FilterModel()]); }; - module.exports = FiltersAppSetting; + module.exports = FiltersUserSetting; }()); \ No newline at end of file diff --git a/dev/Settings/App/Folders.js b/dev/Settings/User/Folders.js similarity index 84% rename from dev/Settings/App/Folders.js rename to dev/Settings/User/Folders.js index a3a4262c0..3f9740d87 100644 --- a/dev/Settings/App/Folders.js +++ b/dev/Settings/User/Folders.js @@ -10,16 +10,16 @@ Utils = require('Common/Utils'), Settings = require('Storage/Settings'), - Data = require('Storage/App/Data'), - Cache = require('Storage/App/Cache'), - Remote = require('Storage/App/Remote'), + Data = require('Storage/User/Data'), + Cache = require('Storage/User/Cache'), + Remote = require('Storage/User/Remote'), Local = require('Storage/Local') ; /** * @constructor */ - function FoldersAppSetting() + function FoldersUserSetting() { this.foldersListError = Data.foldersListError; this.folderList = Data.folderList; @@ -89,7 +89,7 @@ this.useImapSubscribe = !!Settings.settingsGet('UseImapSubscribe'); } - FoldersAppSetting.prototype.folderEditOnEnter = function (oFolder) + FoldersUserSetting.prototype.folderEditOnEnter = function (oFolder) { var sEditName = oFolder ? Utils.trim(oFolder.nameForEdit()) : '' @@ -109,7 +109,7 @@ oData && oData.ErrorCode ? Utils.getNotification(oData.ErrorCode) : Utils.i18n('NOTIFICATIONS/CANT_RENAME_FOLDER')); } - require('App/App').folders(); + require('App/User').folders(); }, oFolder.fullNameRaw, sEditName); @@ -121,7 +121,7 @@ oFolder.edited(false); }; - FoldersAppSetting.prototype.folderEditOnEsc = function (oFolder) + FoldersUserSetting.prototype.folderEditOnEsc = function (oFolder) { if (oFolder) { @@ -129,22 +129,22 @@ } }; - FoldersAppSetting.prototype.onShow = function () + FoldersUserSetting.prototype.onShow = function () { Data.foldersListError(''); }; - FoldersAppSetting.prototype.createFolder = function () + FoldersUserSetting.prototype.createFolder = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/FolderCreate')); }; - FoldersAppSetting.prototype.systemFolder = function () + FoldersUserSetting.prototype.systemFolder = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/FolderSystem')); }; - FoldersAppSetting.prototype.deleteFolder = function (oFolderToRemove) + FoldersUserSetting.prototype.deleteFolder = function (oFolderToRemove) { if (oFolderToRemove && oFolderToRemove.canBeDeleted() && oFolderToRemove.deleteAccess() && 0 === oFolderToRemove.privateMessageCountAll()) @@ -180,7 +180,7 @@ oData && oData.ErrorCode ? Utils.getNotification(oData.ErrorCode) : Utils.i18n('NOTIFICATIONS/CANT_DELETE_FOLDER')); } - require('App/App').folders(); + require('App/User').folders(); }, oFolderToRemove.fullNameRaw); @@ -193,7 +193,7 @@ } }; - FoldersAppSetting.prototype.subscribeFolder = function (oFolder) + FoldersUserSetting.prototype.subscribeFolder = function (oFolder) { Local.set(Enums.ClientSideKeyName.FoldersLashHash, ''); Remote.folderSetSubscribe(Utils.emptyFunction, oFolder.fullNameRaw, true); @@ -201,7 +201,7 @@ oFolder.subScribed(true); }; - FoldersAppSetting.prototype.unSubscribeFolder = function (oFolder) + FoldersUserSetting.prototype.unSubscribeFolder = function (oFolder) { Local.set(Enums.ClientSideKeyName.FoldersLashHash, ''); Remote.folderSetSubscribe(Utils.emptyFunction, oFolder.fullNameRaw, false); @@ -209,6 +209,6 @@ oFolder.subScribed(false); }; - module.exports = FoldersAppSetting; + module.exports = FoldersUserSetting; }()); \ No newline at end of file diff --git a/dev/Settings/App/General.js b/dev/Settings/User/General.js similarity index 91% rename from dev/Settings/App/General.js rename to dev/Settings/User/General.js index 00db21280..43ae325d5 100644 --- a/dev/Settings/App/General.js +++ b/dev/Settings/User/General.js @@ -12,14 +12,14 @@ Globals = require('Common/Globals'), Utils = require('Common/Utils'), - Data = require('Storage/App/Data'), - Remote = require('Storage/App/Remote') + Data = require('Storage/User/Data'), + Remote = require('Storage/User/Remote') ; /** * @constructor */ - function GeneralAppSetting() + function GeneralUserSetting() { this.mainLanguage = Data.mainLanguage; this.mainMessagesPerPage = Data.mainMessagesPerPage; @@ -55,12 +55,12 @@ this.isAnimationSupported = Globals.bAnimationSupported; } - GeneralAppSetting.prototype.toggleLayout = function () + GeneralUserSetting.prototype.toggleLayout = function () { this.layout(Enums.Layout.NoPreview === this.layout() ? Enums.Layout.SidePreview : Enums.Layout.NoPreview); }; - GeneralAppSetting.prototype.onBuild = function () + GeneralUserSetting.prototype.onBuild = function () { var self = this; @@ -158,16 +158,16 @@ }, 50); }; - GeneralAppSetting.prototype.onShow = function () + GeneralUserSetting.prototype.onShow = function () { Data.desktopNotifications.valueHasMutated(); }; - GeneralAppSetting.prototype.selectLanguage = function () + GeneralUserSetting.prototype.selectLanguage = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages')); }; - module.exports = GeneralAppSetting; + module.exports = GeneralUserSetting; }()); \ No newline at end of file diff --git a/dev/Settings/App/Identities.js b/dev/Settings/User/Identities.js similarity index 88% rename from dev/Settings/App/Identities.js rename to dev/Settings/User/Identities.js index 7c681981e..3789bc48d 100644 --- a/dev/Settings/App/Identities.js +++ b/dev/Settings/User/Identities.js @@ -11,14 +11,14 @@ Utils = require('Common/Utils'), HtmlEditor = require('Common/HtmlEditor'), - Data = require('Storage/App/Data'), - Remote = require('Storage/App/Remote') + Data = require('Storage/User/Data'), + Remote = require('Storage/User/Remote') ; /** * @constructor */ - function IdentitiesAppSetting() + function IdentitiesUserSetting() { this.editor = null; this.defautOptionsAfterRender = Utils.defautOptionsAfterRender; @@ -100,7 +100,7 @@ * * @return {string} */ - IdentitiesAppSetting.prototype.formattedAccountIdentity = function () + IdentitiesUserSetting.prototype.formattedAccountIdentity = function () { var sDisplayName = this.displayName.peek(), @@ -110,12 +110,12 @@ return '' === sDisplayName ? sEmail : '"' + Utils.quoteName(sDisplayName) + '" <' + sEmail + '>'; }; - IdentitiesAppSetting.prototype.addNewIdentity = function () + IdentitiesUserSetting.prototype.addNewIdentity = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/Identity')); }; - IdentitiesAppSetting.prototype.editIdentity = function (oIdentity) + IdentitiesUserSetting.prototype.editIdentity = function (oIdentity) { require('Knoin/Knoin').showScreenPopup(require('View/Popup/Identity'), [oIdentity]); }; @@ -123,7 +123,7 @@ /** * @param {IdentityModel} oIdentityToRemove */ - IdentitiesAppSetting.prototype.deleteIdentity = function (oIdentityToRemove) + IdentitiesUserSetting.prototype.deleteIdentity = function (oIdentityToRemove) { if (oIdentityToRemove && oIdentityToRemove.deleteAccess()) { @@ -140,13 +140,13 @@ this.identities.remove(fRemoveFolder); Remote.identityDelete(function () { - require('App/App').accountsAndIdentities(); + require('App/User').accountsAndIdentities(); }, oIdentityToRemove.id); } } }; - IdentitiesAppSetting.prototype.onFocus = function () + IdentitiesUserSetting.prototype.onFocus = function () { if (!this.editor && this.signatureDom()) { @@ -172,7 +172,7 @@ } }; - IdentitiesAppSetting.prototype.onBuild = function (oDom) + IdentitiesUserSetting.prototype.onBuild = function (oDom) { var self = this; @@ -228,6 +228,6 @@ }, 50); }; - module.exports = IdentitiesAppSetting; + module.exports = IdentitiesUserSetting; }()); \ No newline at end of file diff --git a/dev/Settings/App/Identity.js b/dev/Settings/User/Identity.js similarity index 88% rename from dev/Settings/App/Identity.js rename to dev/Settings/User/Identity.js index a72c9f8aa..4ae9d97fc 100644 --- a/dev/Settings/App/Identity.js +++ b/dev/Settings/User/Identity.js @@ -11,14 +11,14 @@ Utils = require('Common/Utils'), HtmlEditor = require('Common/HtmlEditor'), - Data = require('Storage/App/Data'), - Remote = require('Storage/App/Remote') + Data = require('Storage/User/Data'), + Remote = require('Storage/User/Remote') ; /** * @constructor */ - function IdentityAppSetting() + function IdentityUserSetting() { this.editor = null; @@ -34,7 +34,7 @@ this.signatureTrigger = ko.observable(Enums.SaveSettingsStep.Idle); } - IdentityAppSetting.prototype.onFocus = function () + IdentityUserSetting.prototype.onFocus = function () { if (!this.editor && this.signatureDom()) { @@ -60,7 +60,7 @@ } }; - IdentityAppSetting.prototype.onBuild = function () + IdentityUserSetting.prototype.onBuild = function () { var self = this; _.delay(function () { @@ -98,6 +98,6 @@ }, 50); }; - module.exports = IdentityAppSetting; + module.exports = IdentityUserSetting; }()); \ No newline at end of file diff --git a/dev/Settings/App/OpenPGP.js b/dev/Settings/User/OpenPgp.js similarity index 78% rename from dev/Settings/App/OpenPGP.js rename to dev/Settings/User/OpenPgp.js index 5ad3f5b63..19852e93f 100644 --- a/dev/Settings/App/OpenPGP.js +++ b/dev/Settings/User/OpenPgp.js @@ -11,13 +11,13 @@ kn = require('Knoin/Knoin'), - Data = require('Storage/App/Data') + Data = require('Storage/User/Data') ; /** * @constructor */ - function OpenPGPAppSetting() + function OpenPgpUserSetting() { this.openpgpkeys = Data.openpgpkeys; this.openpgpkeysPublic = Data.openpgpkeysPublic; @@ -38,17 +38,17 @@ ]}); } - OpenPGPAppSetting.prototype.addOpenPgpKey = function () + OpenPgpUserSetting.prototype.addOpenPgpKey = function () { kn.showScreenPopup(require('View/Popup/AddOpenPgpKey')); }; - OpenPGPAppSetting.prototype.generateOpenPgpKey = function () + OpenPgpUserSetting.prototype.generateOpenPgpKey = function () { kn.showScreenPopup(require('View/Popup/NewOpenPgpKey')); }; - OpenPGPAppSetting.prototype.viewOpenPgpKey = function (oOpenPgpKey) + OpenPgpUserSetting.prototype.viewOpenPgpKey = function (oOpenPgpKey) { if (oOpenPgpKey) { @@ -59,7 +59,7 @@ /** * @param {OpenPgpKeyModel} oOpenPgpKeyToRemove */ - OpenPGPAppSetting.prototype.deleteOpenPgpKey = function (oOpenPgpKeyToRemove) + OpenPgpUserSetting.prototype.deleteOpenPgpKey = function (oOpenPgpKeyToRemove) { if (oOpenPgpKeyToRemove && oOpenPgpKeyToRemove.deleteAccess()) { @@ -82,11 +82,11 @@ Data.openpgpKeyring.store(); } - require('App/App').reloadOpenPgpKeys(); + require('App/User').reloadOpenPgpKeys(); } } }; - module.exports = OpenPGPAppSetting; + module.exports = OpenPgpUserSetting; }()); \ No newline at end of file diff --git a/dev/Settings/App/Security.js b/dev/Settings/User/Security.js similarity index 81% rename from dev/Settings/App/Security.js rename to dev/Settings/User/Security.js index c5d284e3a..e59e07ad9 100644 --- a/dev/Settings/App/Security.js +++ b/dev/Settings/User/Security.js @@ -10,13 +10,13 @@ Globals = require('Common/Globals'), Utils = require('Common/Utils'), - Remote = require('Storage/App/Remote') + Remote = require('Storage/User/Remote') ; /** * @constructor */ - function SecurityAppSetting() + function SecurityUserSetting() { this.processing = ko.observable(false); this.clearing = ko.observable(false); @@ -46,37 +46,37 @@ this.onSecretResult = _.bind(this.onSecretResult, this); } - SecurityAppSetting.prototype.showSecret = function () + SecurityUserSetting.prototype.showSecret = function () { this.secreting(true); Remote.showTwoFactorSecret(this.onSecretResult); }; - SecurityAppSetting.prototype.hideSecret = function () + SecurityUserSetting.prototype.hideSecret = function () { this.viewSecret(''); this.viewBackupCodes(''); this.viewUrl(''); }; - SecurityAppSetting.prototype.createTwoFactor = function () + SecurityUserSetting.prototype.createTwoFactor = function () { this.processing(true); Remote.createTwoFactor(this.onResult); }; - SecurityAppSetting.prototype.enableTwoFactor = function () + SecurityUserSetting.prototype.enableTwoFactor = function () { this.processing(true); Remote.enableTwoFactor(this.onResult, this.viewEnable()); }; - SecurityAppSetting.prototype.testTwoFactor = function () + SecurityUserSetting.prototype.testTwoFactor = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/TwoFactorTest')); }; - SecurityAppSetting.prototype.clearTwoFactor = function () + SecurityUserSetting.prototype.clearTwoFactor = function () { this.viewSecret(''); this.viewBackupCodes(''); @@ -86,14 +86,14 @@ Remote.clearTwoFactor(this.onResult); }; - SecurityAppSetting.prototype.onShow = function () + SecurityUserSetting.prototype.onShow = function () { this.viewSecret(''); this.viewBackupCodes(''); this.viewUrl(''); }; - SecurityAppSetting.prototype.onResult = function (sResult, oData) + SecurityUserSetting.prototype.onResult = function (sResult, oData) { this.processing(false); this.clearing(false); @@ -139,7 +139,7 @@ } }; - SecurityAppSetting.prototype.onSecretResult = function (sResult, oData) + SecurityUserSetting.prototype.onSecretResult = function (sResult, oData) { this.secreting(false); @@ -155,12 +155,12 @@ } }; - SecurityAppSetting.prototype.onBuild = function () + SecurityUserSetting.prototype.onBuild = function () { this.processing(true); Remote.getTwoFactor(this.onResult); }; - module.exports = SecurityAppSetting; + module.exports = SecurityUserSetting; }()); \ No newline at end of file diff --git a/dev/Settings/App/Social.js b/dev/Settings/User/Social.js similarity index 80% rename from dev/Settings/App/Social.js rename to dev/Settings/User/Social.js index b2236088c..fef7218a4 100644 --- a/dev/Settings/App/Social.js +++ b/dev/Settings/User/Social.js @@ -6,11 +6,11 @@ /** * @constructor */ - function SocialAppSetting() + function SocialUserSetting() { var Utils = require('Common/Utils'), - Data = require('Storage/App/Data') + Data = require('Storage/User/Data') ; this.googleEnable = Data.googleEnable; @@ -34,43 +34,43 @@ this.connectGoogle = Utils.createCommand(this, function () { if (!this.googleLoggined()) { - require('App/App').googleConnect(); + require('App/User').googleConnect(); } }, function () { return !this.googleLoggined() && !this.googleActions(); }); this.disconnectGoogle = Utils.createCommand(this, function () { - require('App/App').googleDisconnect(); + require('App/User').googleDisconnect(); }); this.connectFacebook = Utils.createCommand(this, function () { if (!this.facebookLoggined()) { - require('App/App').facebookConnect(); + require('App/User').facebookConnect(); } }, function () { return !this.facebookLoggined() && !this.facebookActions(); }); this.disconnectFacebook = Utils.createCommand(this, function () { - require('App/App').facebookDisconnect(); + require('App/User').facebookDisconnect(); }); this.connectTwitter = Utils.createCommand(this, function () { if (!this.twitterLoggined()) { - require('App/App').twitterConnect(); + require('App/User').twitterConnect(); } }, function () { return !this.twitterLoggined() && !this.twitterActions(); }); this.disconnectTwitter = Utils.createCommand(this, function () { - require('App/App').twitterDisconnect(); + require('App/User').twitterDisconnect(); }); } - module.exports = SocialAppSetting; + module.exports = SocialUserSetting; }()); \ No newline at end of file diff --git a/dev/Settings/App/Themes.js b/dev/Settings/User/Themes.js similarity index 93% rename from dev/Settings/App/Themes.js rename to dev/Settings/User/Themes.js index 1ba7bb851..3918c2577 100644 --- a/dev/Settings/App/Themes.js +++ b/dev/Settings/User/Themes.js @@ -13,14 +13,14 @@ Utils = require('Common/Utils'), Links = require('Common/Links'), - Data = require('Storage/App/Data'), - Remote = require('Storage/App/Remote') + Data = require('Storage/User/Data'), + Remote = require('Storage/User/Remote') ; /** * @constructor */ - function ThemesAppSetting() + function ThemesUserSetting() { var self = this; @@ -114,7 +114,7 @@ }, this); } - ThemesAppSetting.prototype.onBuild = function () + ThemesUserSetting.prototype.onBuild = function () { var sCurrentTheme = Data.theme(); this.themesObjects(_.map(Data.themes(), function (sTheme) { @@ -127,6 +127,6 @@ })); }; - module.exports = ThemesAppSetting; + module.exports = ThemesUserSetting; }()); \ No newline at end of file diff --git a/dev/Storage/App/Cache.js b/dev/Storage/User/Cache.js similarity index 71% rename from dev/Storage/App/Cache.js rename to dev/Storage/User/Cache.js index f4d8c32bc..175f450bc 100644 --- a/dev/Storage/App/Cache.js +++ b/dev/Storage/User/Cache.js @@ -17,7 +17,7 @@ /** * @constructor */ - function CacheAppStorage() + function CacheUserStorage() { this.oFoldersCache = {}; this.oFoldersNamesCache = {}; @@ -34,54 +34,54 @@ /** * @type {boolean} */ - CacheAppStorage.prototype.bCapaGravatar = false; + CacheUserStorage.prototype.bCapaGravatar = false; /** * @type {Object} */ - CacheAppStorage.prototype.oFoldersCache = {}; + CacheUserStorage.prototype.oFoldersCache = {}; /** * @type {Object} */ - CacheAppStorage.prototype.oFoldersNamesCache = {}; + CacheUserStorage.prototype.oFoldersNamesCache = {}; /** * @type {Object} */ - CacheAppStorage.prototype.oFolderHashCache = {}; + CacheUserStorage.prototype.oFolderHashCache = {}; /** * @type {Object} */ - CacheAppStorage.prototype.oFolderUidNextCache = {}; + CacheUserStorage.prototype.oFolderUidNextCache = {}; /** * @type {Object} */ - CacheAppStorage.prototype.oMessageListHashCache = {}; + CacheUserStorage.prototype.oMessageListHashCache = {}; /** * @type {Object} */ - CacheAppStorage.prototype.oMessageFlagsCache = {}; + CacheUserStorage.prototype.oMessageFlagsCache = {}; /** * @type {Object} */ - CacheAppStorage.prototype.oBodies = {}; + CacheUserStorage.prototype.oBodies = {}; /** * @type {Object} */ - CacheAppStorage.prototype.oNewMessage = {}; + CacheUserStorage.prototype.oNewMessage = {}; /** * @type {Object} */ - CacheAppStorage.prototype.oRequestedMessage = {}; + CacheUserStorage.prototype.oRequestedMessage = {}; - CacheAppStorage.prototype.clear = function () + CacheUserStorage.prototype.clear = function () { this.oFoldersCache = {}; this.oFoldersNamesCache = {}; @@ -98,7 +98,7 @@ * @param {Function} fCallback * @return {string} */ - CacheAppStorage.prototype.getUserPic = function (sEmail, fCallback) + CacheUserStorage.prototype.getUserPic = function (sEmail, fCallback) { sEmail = Utils.trim(sEmail); fCallback(this.bCapaGravatar && '' !== sEmail ? Links.avatarLink(sEmail) : '', sEmail); @@ -109,7 +109,7 @@ * @param {string} sUid * @return {string} */ - CacheAppStorage.prototype.getMessageKey = function (sFolderFullNameRaw, sUid) + CacheUserStorage.prototype.getMessageKey = function (sFolderFullNameRaw, sUid) { return sFolderFullNameRaw + '#' + sUid; }; @@ -118,7 +118,7 @@ * @param {string} sFolder * @param {string} sUid */ - CacheAppStorage.prototype.addRequestedMessage = function (sFolder, sUid) + CacheUserStorage.prototype.addRequestedMessage = function (sFolder, sUid) { this.oRequestedMessage[this.getMessageKey(sFolder, sUid)] = true; }; @@ -128,7 +128,7 @@ * @param {string} sUid * @return {boolean} */ - CacheAppStorage.prototype.hasRequestedMessage = function (sFolder, sUid) + CacheUserStorage.prototype.hasRequestedMessage = function (sFolder, sUid) { return true === this.oRequestedMessage[this.getMessageKey(sFolder, sUid)]; }; @@ -137,7 +137,7 @@ * @param {string} sFolderFullNameRaw * @param {string} sUid */ - CacheAppStorage.prototype.addNewMessageCache = function (sFolderFullNameRaw, sUid) + CacheUserStorage.prototype.addNewMessageCache = function (sFolderFullNameRaw, sUid) { this.oNewMessage[this.getMessageKey(sFolderFullNameRaw, sUid)] = true; }; @@ -146,7 +146,7 @@ * @param {string} sFolderFullNameRaw * @param {string} sUid */ - CacheAppStorage.prototype.hasNewMessageAndRemoveFromCache = function (sFolderFullNameRaw, sUid) + CacheUserStorage.prototype.hasNewMessageAndRemoveFromCache = function (sFolderFullNameRaw, sUid) { if (this.oNewMessage[this.getMessageKey(sFolderFullNameRaw, sUid)]) { @@ -157,7 +157,7 @@ return false; }; - CacheAppStorage.prototype.clearNewMessageCache = function () + CacheUserStorage.prototype.clearNewMessageCache = function () { this.oNewMessage = {}; }; @@ -165,12 +165,12 @@ /** * @type {string} */ - CacheAppStorage.prototype.sInboxFolderName = ''; + CacheUserStorage.prototype.sInboxFolderName = ''; /** * @return {string} */ - CacheAppStorage.prototype.getFolderInboxName = function () + CacheUserStorage.prototype.getFolderInboxName = function () { return '' === this.sInboxFolderName ? 'INBOX' : this.sInboxFolderName; }; @@ -179,7 +179,7 @@ * @param {string} sFolderHash * @return {string} */ - CacheAppStorage.prototype.getFolderFullNameRaw = function (sFolderHash) + CacheUserStorage.prototype.getFolderFullNameRaw = function (sFolderHash) { return '' !== sFolderHash && this.oFoldersNamesCache[sFolderHash] ? this.oFoldersNamesCache[sFolderHash] : ''; }; @@ -188,7 +188,7 @@ * @param {string} sFolderHash * @param {string} sFolderFullNameRaw */ - CacheAppStorage.prototype.setFolderFullNameRaw = function (sFolderHash, sFolderFullNameRaw) + CacheUserStorage.prototype.setFolderFullNameRaw = function (sFolderHash, sFolderFullNameRaw) { this.oFoldersNamesCache[sFolderHash] = sFolderFullNameRaw; if ('INBOX' === sFolderFullNameRaw || '' === this.sInboxFolderName) @@ -201,7 +201,7 @@ * @param {string} sFolderFullNameRaw * @return {string} */ - CacheAppStorage.prototype.getFolderHash = function (sFolderFullNameRaw) + CacheUserStorage.prototype.getFolderHash = function (sFolderFullNameRaw) { return '' !== sFolderFullNameRaw && this.oFolderHashCache[sFolderFullNameRaw] ? this.oFolderHashCache[sFolderFullNameRaw] : ''; }; @@ -210,7 +210,7 @@ * @param {string} sFolderFullNameRaw * @param {string} sFolderHash */ - CacheAppStorage.prototype.setFolderHash = function (sFolderFullNameRaw, sFolderHash) + CacheUserStorage.prototype.setFolderHash = function (sFolderFullNameRaw, sFolderHash) { this.oFolderHashCache[sFolderFullNameRaw] = sFolderHash; }; @@ -219,7 +219,7 @@ * @param {string} sFolderFullNameRaw * @return {string} */ - CacheAppStorage.prototype.getFolderUidNext = function (sFolderFullNameRaw) + CacheUserStorage.prototype.getFolderUidNext = function (sFolderFullNameRaw) { return '' !== sFolderFullNameRaw && this.oFolderUidNextCache[sFolderFullNameRaw] ? this.oFolderUidNextCache[sFolderFullNameRaw] : ''; }; @@ -228,7 +228,7 @@ * @param {string} sFolderFullNameRaw * @param {string} sUidNext */ - CacheAppStorage.prototype.setFolderUidNext = function (sFolderFullNameRaw, sUidNext) + CacheUserStorage.prototype.setFolderUidNext = function (sFolderFullNameRaw, sUidNext) { this.oFolderUidNextCache[sFolderFullNameRaw] = sUidNext; }; @@ -237,7 +237,7 @@ * @param {string} sFolderFullNameRaw * @return {?FolderModel} */ - CacheAppStorage.prototype.getFolderFromCacheList = function (sFolderFullNameRaw) + CacheUserStorage.prototype.getFolderFromCacheList = function (sFolderFullNameRaw) { return '' !== sFolderFullNameRaw && this.oFoldersCache[sFolderFullNameRaw] ? this.oFoldersCache[sFolderFullNameRaw] : null; }; @@ -246,7 +246,7 @@ * @param {string} sFolderFullNameRaw * @param {?FolderModel} oFolder */ - CacheAppStorage.prototype.setFolderToCacheList = function (sFolderFullNameRaw, oFolder) + CacheUserStorage.prototype.setFolderToCacheList = function (sFolderFullNameRaw, oFolder) { this.oFoldersCache[sFolderFullNameRaw] = oFolder; }; @@ -254,7 +254,7 @@ /** * @param {string} sFolderFullNameRaw */ - CacheAppStorage.prototype.removeFolderFromCacheList = function (sFolderFullNameRaw) + CacheUserStorage.prototype.removeFolderFromCacheList = function (sFolderFullNameRaw) { this.setFolderToCacheList(sFolderFullNameRaw, null); }; @@ -264,7 +264,7 @@ * @param {string} sUid * @return {?Array} */ - CacheAppStorage.prototype.getMessageFlagsFromCache = function (sFolderFullName, sUid) + CacheUserStorage.prototype.getMessageFlagsFromCache = function (sFolderFullName, sUid) { return this.oMessageFlagsCache[sFolderFullName] && this.oMessageFlagsCache[sFolderFullName][sUid] ? this.oMessageFlagsCache[sFolderFullName][sUid] : null; @@ -275,7 +275,7 @@ * @param {string} sUid * @param {Array} aFlagsCache */ - CacheAppStorage.prototype.setMessageFlagsToCache = function (sFolderFullName, sUid, aFlagsCache) + CacheUserStorage.prototype.setMessageFlagsToCache = function (sFolderFullName, sUid, aFlagsCache) { if (!this.oMessageFlagsCache[sFolderFullName]) { @@ -288,7 +288,7 @@ /** * @param {string} sFolderFullName */ - CacheAppStorage.prototype.clearMessageFlagsFromCacheByFolder = function (sFolderFullName) + CacheUserStorage.prototype.clearMessageFlagsFromCacheByFolder = function (sFolderFullName) { this.oMessageFlagsCache[sFolderFullName] = {}; }; @@ -296,7 +296,7 @@ /** * @param {(MessageModel|null)} oMessage */ - CacheAppStorage.prototype.initMessageFlagsFromCache = function (oMessage) + CacheUserStorage.prototype.initMessageFlagsFromCache = function (oMessage) { if (oMessage) { @@ -337,7 +337,7 @@ /** * @param {(MessageModel|null)} oMessage */ - CacheAppStorage.prototype.storeMessageFlagsToCache = function (oMessage) + CacheUserStorage.prototype.storeMessageFlagsToCache = function (oMessage) { if (oMessage) { @@ -353,7 +353,7 @@ * @param {string} sUid * @param {Array} aFlags */ - CacheAppStorage.prototype.storeMessageFlagsToCacheByFolderAndUid = function (sFolder, sUid, aFlags) + CacheUserStorage.prototype.storeMessageFlagsToCacheByFolderAndUid = function (sFolder, sUid, aFlags) { if (Utils.isArray(aFlags) && 0 < aFlags.length) { @@ -361,6 +361,6 @@ } }; - module.exports = new CacheAppStorage(); + module.exports = new CacheUserStorage(); }()); \ No newline at end of file diff --git a/dev/Storage/App/Data.js b/dev/Storage/User/Data.js similarity index 95% rename from dev/Storage/App/Data.js rename to dev/Storage/User/Data.js index 1c0d9ec80..6f68f74a9 100644 --- a/dev/Storage/App/Data.js +++ b/dev/Storage/User/Data.js @@ -18,7 +18,7 @@ Links = require('Common/Links'), Settings = require('Storage/Settings'), - Cache = require('Storage/App/Cache'), + Cache = require('Storage/User/Cache'), kn = require('Knoin/Knoin'), @@ -32,7 +32,7 @@ * @constructor * @extends AbstractData */ - function DataAppStorage() + function DataUserStorage() { AbstractData.call(this); @@ -322,7 +322,7 @@ if (Enums.Layout.NoPreview === this.layout() && -1 < window.location.hash.indexOf('message-preview')) { - require('App/App').historyBack(); + require('App/User').historyBack(); } } else if (Enums.Layout.NoPreview === this.layout()) @@ -470,9 +470,9 @@ this.purgeMessageBodyCacheThrottle = _.throttle(this.purgeMessageBodyCache, 1000 * 30); } - _.extend(DataAppStorage.prototype, AbstractData.prototype); + _.extend(DataUserStorage.prototype, AbstractData.prototype); - DataAppStorage.prototype.purgeMessageBodyCache = function() + DataUserStorage.prototype.purgeMessageBodyCache = function() { var iCount = 0, @@ -504,7 +504,7 @@ } }; - DataAppStorage.prototype.populateDataOnStart = function() + DataUserStorage.prototype.populateDataOnStart = function() { AbstractData.prototype.populateDataOnStart.call(this); @@ -529,7 +529,7 @@ this.devPassword = Settings.settingsGet('DevPassword'); }; - DataAppStorage.prototype.initUidNextAndNewMessages = function (sFolder, sUidNext, aNewMessages) + DataUserStorage.prototype.initUidNextAndNewMessages = function (sFolder, sUidNext, aNewMessages) { if (Cache.getFolderInboxName() === sFolder && Utils.isNormal(sUidNext) && sUidNext !== '') { @@ -608,7 +608,7 @@ } }; - DataAppStorage.prototype.hideMessageBodies = function () + DataUserStorage.prototype.hideMessageBodies = function () { var oMessagesBodiesDom = this.messagesBodiesDom(); if (oMessagesBodiesDom) @@ -621,7 +621,7 @@ * @param {boolean=} bBoot = false * @returns {Array} */ - DataAppStorage.prototype.getNextFolderNames = function (bBoot) + DataUserStorage.prototype.getNextFolderNames = function (bBoot) { bBoot = Utils.isUnd(bBoot) ? false : !!bBoot; @@ -685,7 +685,7 @@ * @param {string=} sToFolderFullNameRaw = '' * @param {bCopy=} bCopy = false */ - DataAppStorage.prototype.removeMessagesFromList = function ( + DataUserStorage.prototype.removeMessagesFromList = function ( sFromFolderFullNameRaw, aUidForRemove, sToFolderFullNameRaw, bCopy) { sToFolderFullNameRaw = Utils.isNormal(sToFolderFullNameRaw) ? sToFolderFullNameRaw : ''; @@ -782,7 +782,7 @@ /** * @param {Object} oMessageTextBody */ - DataAppStorage.prototype.initBlockquoteSwitcher = function (oMessageTextBody) + DataUserStorage.prototype.initBlockquoteSwitcher = function (oMessageTextBody) { if (oMessageTextBody) { @@ -814,7 +814,7 @@ } }; - DataAppStorage.prototype.setMessage = function (oData, bCached) + DataUserStorage.prototype.setMessage = function (oData, bCached) { var bIsHtml = false, @@ -960,7 +960,7 @@ Cache.initMessageFlagsFromCache(oMessage); if (oMessage.unseen()) { - require('App/App').setMessageSeen(oMessage); + require('App/User').setMessageSeen(oMessage); } Utils.windowResize(); @@ -971,21 +971,21 @@ * @param {Array} aList * @returns {string} */ - DataAppStorage.prototype.calculateMessageListHash = function (aList) + DataUserStorage.prototype.calculateMessageListHash = function (aList) { return _.map(aList, function (oMessage) { return '' + oMessage.hash + '_' + oMessage.threadsLen() + '_' + oMessage.flagHash(); }).join('|'); }; - DataAppStorage.prototype.findPublicKeyByHex = function (sHash) + DataUserStorage.prototype.findPublicKeyByHex = function (sHash) { return _.find(this.openpgpkeysPublic(), function (oItem) { return oItem && sHash === oItem.id; }); }; - DataAppStorage.prototype.findPublicKeysByEmail = function (sEmail) + DataUserStorage.prototype.findPublicKeysByEmail = function (sEmail) { var self = this; return _.compact(_.map(this.openpgpkeysPublic(), function (oItem) { @@ -1014,7 +1014,7 @@ * @param {string=} sPassword * @returns {?} */ - DataAppStorage.prototype.findPrivateKeyByEmail = function (sEmail, sPassword) + DataUserStorage.prototype.findPrivateKeyByEmail = function (sEmail, sPassword) { var self = this, @@ -1052,11 +1052,11 @@ * @param {string=} sPassword * @returns {?} */ - DataAppStorage.prototype.findSelfPrivateKey = function (sPassword) + DataUserStorage.prototype.findSelfPrivateKey = function (sPassword) { return this.findPrivateKeyByEmail(this.accountEmail(), sPassword); }; - module.exports = new DataAppStorage(); + module.exports = new DataUserStorage(); }()); diff --git a/dev/Storage/App/Remote.js b/dev/Storage/User/Remote.js similarity index 76% rename from dev/Storage/App/Remote.js rename to dev/Storage/User/Remote.js index 9f097138e..823f99a01 100644 --- a/dev/Storage/App/Remote.js +++ b/dev/Storage/User/Remote.js @@ -12,8 +12,8 @@ Base64 = require('Common/Base64'), Settings = require('Storage/Settings'), - Cache = require('Storage/App/Cache'), - Data = require('Storage/App/Data'), + Cache = require('Storage/User/Cache'), + Data = require('Storage/User/Data'), AbstractRemoteStorage = require('Storage/AbstractRemote') ; @@ -22,19 +22,19 @@ * @constructor * @extends AbstractRemoteStorage */ - function RemoteAppStorage() + function RemoteUserStorage() { AbstractRemoteStorage.call(this); this.oRequests = {}; } - _.extend(RemoteAppStorage.prototype, AbstractRemoteStorage.prototype); + _.extend(RemoteUserStorage.prototype, AbstractRemoteStorage.prototype); /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.folders = function (fCallback) + RemoteUserStorage.prototype.folders = function (fCallback) { this.defaultRequest(fCallback, 'Folders', { 'SentFolder': Settings.settingsGet('SentFolder'), @@ -55,7 +55,7 @@ * @param {string=} sAdditionalCode * @param {boolean=} bAdditionalCodeSignMe */ - RemoteAppStorage.prototype.login = function (fCallback, sEmail, sLogin, sPassword, bSignMe, sLanguage, sAdditionalCode, bAdditionalCodeSignMe) + RemoteUserStorage.prototype.login = function (fCallback, sEmail, sLogin, sPassword, bSignMe, sLanguage, sAdditionalCode, bAdditionalCodeSignMe) { this.defaultRequest(fCallback, 'Login', { 'Email': sEmail, @@ -71,7 +71,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.getTwoFactor = function (fCallback) + RemoteUserStorage.prototype.getTwoFactor = function (fCallback) { this.defaultRequest(fCallback, 'GetTwoFactorInfo'); }; @@ -79,7 +79,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.createTwoFactor = function (fCallback) + RemoteUserStorage.prototype.createTwoFactor = function (fCallback) { this.defaultRequest(fCallback, 'CreateTwoFactorSecret'); }; @@ -87,7 +87,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.clearTwoFactor = function (fCallback) + RemoteUserStorage.prototype.clearTwoFactor = function (fCallback) { this.defaultRequest(fCallback, 'ClearTwoFactorInfo'); }; @@ -95,7 +95,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.showTwoFactorSecret = function (fCallback) + RemoteUserStorage.prototype.showTwoFactorSecret = function (fCallback) { this.defaultRequest(fCallback, 'ShowTwoFactorSecret'); }; @@ -104,7 +104,7 @@ * @param {?Function} fCallback * @param {string} sCode */ - RemoteAppStorage.prototype.testTwoFactor = function (fCallback, sCode) + RemoteUserStorage.prototype.testTwoFactor = function (fCallback, sCode) { this.defaultRequest(fCallback, 'TestTwoFactorInfo', { 'Code': sCode @@ -115,7 +115,7 @@ * @param {?Function} fCallback * @param {boolean} bEnable */ - RemoteAppStorage.prototype.enableTwoFactor = function (fCallback, bEnable) + RemoteUserStorage.prototype.enableTwoFactor = function (fCallback, bEnable) { this.defaultRequest(fCallback, 'EnableTwoFactor', { 'Enable': bEnable ? '1' : '0' @@ -125,7 +125,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.clearTwoFactorInfo = function (fCallback) + RemoteUserStorage.prototype.clearTwoFactorInfo = function (fCallback) { this.defaultRequest(fCallback, 'ClearTwoFactorInfo'); }; @@ -133,7 +133,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.contactsSync = function (fCallback) + RemoteUserStorage.prototype.contactsSync = function (fCallback) { this.defaultRequest(fCallback, 'ContactsSync', null, Consts.Defaults.ContactsSyncAjaxTimeout); }; @@ -145,7 +145,7 @@ * @param {string} sUser * @param {string} sPassword */ - RemoteAppStorage.prototype.saveContactsSyncData = function (fCallback, bEnable, sUrl, sUser, sPassword) + RemoteUserStorage.prototype.saveContactsSyncData = function (fCallback, bEnable, sUrl, sUser, sPassword) { this.defaultRequest(fCallback, 'SaveContactsSyncData', { 'Enable': bEnable ? '1' : '0', @@ -161,7 +161,7 @@ * @param {string} sLogin * @param {string} sPassword */ - RemoteAppStorage.prototype.accountAdd = function (fCallback, sEmail, sLogin, sPassword) + RemoteUserStorage.prototype.accountAdd = function (fCallback, sEmail, sLogin, sPassword) { this.defaultRequest(fCallback, 'AccountAdd', { 'Email': sEmail, @@ -174,7 +174,7 @@ * @param {?Function} fCallback * @param {string} sEmailToDelete */ - RemoteAppStorage.prototype.accountDelete = function (fCallback, sEmailToDelete) + RemoteUserStorage.prototype.accountDelete = function (fCallback, sEmailToDelete) { this.defaultRequest(fCallback, 'AccountDelete', { 'EmailToDelete': sEmailToDelete @@ -189,7 +189,7 @@ * @param {string} sReplyTo * @param {string} sBcc */ - RemoteAppStorage.prototype.identityUpdate = function (fCallback, sId, sEmail, sName, sReplyTo, sBcc) + RemoteUserStorage.prototype.identityUpdate = function (fCallback, sId, sEmail, sName, sReplyTo, sBcc) { this.defaultRequest(fCallback, 'IdentityUpdate', { 'Id': sId, @@ -204,7 +204,7 @@ * @param {?Function} fCallback * @param {string} sIdToDelete */ - RemoteAppStorage.prototype.identityDelete = function (fCallback, sIdToDelete) + RemoteUserStorage.prototype.identityDelete = function (fCallback, sIdToDelete) { this.defaultRequest(fCallback, 'IdentityDelete', { 'IdToDelete': sIdToDelete @@ -214,7 +214,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.accountsAndIdentities = function (fCallback) + RemoteUserStorage.prototype.accountsAndIdentities = function (fCallback) { this.defaultRequest(fCallback, 'AccountsAndIdentities'); }; @@ -227,7 +227,7 @@ * @param {string=} sSearch = '' * @param {boolean=} bSilent = false */ - RemoteAppStorage.prototype.messageList = function (fCallback, sFolderFullNameRaw, iOffset, iLimit, sSearch, bSilent) + RemoteUserStorage.prototype.messageList = function (fCallback, sFolderFullNameRaw, iOffset, iLimit, sSearch, bSilent) { sFolderFullNameRaw = Utils.pString(sFolderFullNameRaw); @@ -274,7 +274,7 @@ * @param {?Function} fCallback * @param {Array} aDownloads */ - RemoteAppStorage.prototype.messageUploadAttachments = function (fCallback, aDownloads) + RemoteUserStorage.prototype.messageUploadAttachments = function (fCallback, aDownloads) { this.defaultRequest(fCallback, 'MessageUploadAttachments', { 'Attachments': aDownloads @@ -287,7 +287,7 @@ * @param {number} iUid * @return {boolean} */ - RemoteAppStorage.prototype.message = function (fCallback, sFolderFullNameRaw, iUid) + RemoteUserStorage.prototype.message = function (fCallback, sFolderFullNameRaw, iUid) { sFolderFullNameRaw = Utils.pString(sFolderFullNameRaw); iUid = Utils.pInt(iUid); @@ -312,7 +312,7 @@ * @param {?Function} fCallback * @param {Array} aExternals */ - RemoteAppStorage.prototype.composeUploadExternals = function (fCallback, aExternals) + RemoteUserStorage.prototype.composeUploadExternals = function (fCallback, aExternals) { this.defaultRequest(fCallback, 'ComposeUploadExternals', { 'Externals': aExternals @@ -324,7 +324,7 @@ * @param {string} sUrl * @param {string} sAccessToken */ - RemoteAppStorage.prototype.composeUploadDrive = function (fCallback, sUrl, sAccessToken) + RemoteUserStorage.prototype.composeUploadDrive = function (fCallback, sUrl, sAccessToken) { this.defaultRequest(fCallback, 'ComposeUploadDrive', { 'AccessToken': sAccessToken, @@ -337,7 +337,7 @@ * @param {string} sFolder * @param {Array=} aList = [] */ - RemoteAppStorage.prototype.folderInformation = function (fCallback, sFolder, aList) + RemoteUserStorage.prototype.folderInformation = function (fCallback, sFolder, aList) { var bRequest = true, @@ -380,7 +380,7 @@ } else if (Data.useThreads()) { - require('App/App').reloadFlagsCurrentMessageListAndMessageFromCache(); + require('App/User').reloadFlagsCurrentMessageListAndMessageFromCache(); } }; @@ -388,7 +388,7 @@ * @param {?Function} fCallback * @param {Array} aFolders */ - RemoteAppStorage.prototype.folderInformationMultiply = function (fCallback, aFolders) + RemoteUserStorage.prototype.folderInformationMultiply = function (fCallback, aFolders) { this.defaultRequest(fCallback, 'FolderInformationMultiply', { 'Folders': aFolders @@ -398,7 +398,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.logout = function (fCallback) + RemoteUserStorage.prototype.logout = function (fCallback) { this.defaultRequest(fCallback, 'Logout'); }; @@ -409,7 +409,7 @@ * @param {Array} aUids * @param {boolean} bSetFlagged */ - RemoteAppStorage.prototype.messageSetFlagged = function (fCallback, sFolderFullNameRaw, aUids, bSetFlagged) + RemoteUserStorage.prototype.messageSetFlagged = function (fCallback, sFolderFullNameRaw, aUids, bSetFlagged) { this.defaultRequest(fCallback, 'MessageSetFlagged', { 'Folder': sFolderFullNameRaw, @@ -424,7 +424,7 @@ * @param {Array} aUids * @param {boolean} bSetSeen */ - RemoteAppStorage.prototype.messageSetSeen = function (fCallback, sFolderFullNameRaw, aUids, bSetSeen) + RemoteUserStorage.prototype.messageSetSeen = function (fCallback, sFolderFullNameRaw, aUids, bSetSeen) { this.defaultRequest(fCallback, 'MessageSetSeen', { 'Folder': sFolderFullNameRaw, @@ -438,7 +438,7 @@ * @param {string} sFolderFullNameRaw * @param {boolean} bSetSeen */ - RemoteAppStorage.prototype.messageSetSeenToAll = function (fCallback, sFolderFullNameRaw, bSetSeen) + RemoteUserStorage.prototype.messageSetSeenToAll = function (fCallback, sFolderFullNameRaw, bSetSeen) { this.defaultRequest(fCallback, 'MessageSetSeenToAll', { 'Folder': sFolderFullNameRaw, @@ -463,7 +463,7 @@ * @param {string} sInReplyTo * @param {string} sReferences */ - RemoteAppStorage.prototype.saveMessage = function (fCallback, sMessageFolder, sMessageUid, sDraftFolder, + RemoteUserStorage.prototype.saveMessage = function (fCallback, sMessageFolder, sMessageUid, sDraftFolder, sFrom, sTo, sCc, sBcc, sSubject, bTextIsHtml, sText, aAttachments, aDraftInfo, sInReplyTo, sReferences) { this.defaultRequest(fCallback, 'SaveMessage', { @@ -493,7 +493,7 @@ * @param {string} sSubject * @param {string} sText */ - RemoteAppStorage.prototype.sendReadReceiptMessage = function (fCallback, sMessageFolder, sMessageUid, sReadReceipt, sSubject, sText) + RemoteUserStorage.prototype.sendReadReceiptMessage = function (fCallback, sMessageFolder, sMessageUid, sReadReceipt, sSubject, sText) { this.defaultRequest(fCallback, 'SendReadReceiptMessage', { 'MessageFolder': sMessageFolder, @@ -522,7 +522,7 @@ * @param {string} sReferences * @param {boolean} bRequestReadReceipt */ - RemoteAppStorage.prototype.sendMessage = function (fCallback, sMessageFolder, sMessageUid, sSentFolder, + RemoteUserStorage.prototype.sendMessage = function (fCallback, sMessageFolder, sMessageUid, sSentFolder, sFrom, sTo, sCc, sBcc, sSubject, bTextIsHtml, sText, aAttachments, aDraftInfo, sInReplyTo, sReferences, bRequestReadReceipt) { this.defaultRequest(fCallback, 'SendMessage', { @@ -548,7 +548,7 @@ * @param {?Function} fCallback * @param {Object} oData */ - RemoteAppStorage.prototype.saveSystemFolders = function (fCallback, oData) + RemoteUserStorage.prototype.saveSystemFolders = function (fCallback, oData) { this.defaultRequest(fCallback, 'SystemFoldersUpdate', oData); }; @@ -557,7 +557,7 @@ * @param {?Function} fCallback * @param {Object} oData */ - RemoteAppStorage.prototype.saveSettings = function (fCallback, oData) + RemoteUserStorage.prototype.saveSettings = function (fCallback, oData) { this.defaultRequest(fCallback, 'SettingsUpdate', oData); }; @@ -567,7 +567,7 @@ * @param {string} sPrevPassword * @param {string} sNewPassword */ - RemoteAppStorage.prototype.changePassword = function (fCallback, sPrevPassword, sNewPassword) + RemoteUserStorage.prototype.changePassword = function (fCallback, sPrevPassword, sNewPassword) { this.defaultRequest(fCallback, 'ChangePassword', { 'PrevPassword': sPrevPassword, @@ -580,7 +580,7 @@ * @param {string} sNewFolderName * @param {string} sParentName */ - RemoteAppStorage.prototype.folderCreate = function (fCallback, sNewFolderName, sParentName) + RemoteUserStorage.prototype.folderCreate = function (fCallback, sNewFolderName, sParentName) { this.defaultRequest(fCallback, 'FolderCreate', { 'Folder': sNewFolderName, @@ -592,7 +592,7 @@ * @param {?Function} fCallback * @param {string} sFolderFullNameRaw */ - RemoteAppStorage.prototype.folderDelete = function (fCallback, sFolderFullNameRaw) + RemoteUserStorage.prototype.folderDelete = function (fCallback, sFolderFullNameRaw) { this.defaultRequest(fCallback, 'FolderDelete', { 'Folder': sFolderFullNameRaw @@ -604,7 +604,7 @@ * @param {string} sPrevFolderFullNameRaw * @param {string} sNewFolderName */ - RemoteAppStorage.prototype.folderRename = function (fCallback, sPrevFolderFullNameRaw, sNewFolderName) + RemoteUserStorage.prototype.folderRename = function (fCallback, sPrevFolderFullNameRaw, sNewFolderName) { this.defaultRequest(fCallback, 'FolderRename', { 'Folder': sPrevFolderFullNameRaw, @@ -616,7 +616,7 @@ * @param {?Function} fCallback * @param {string} sFolderFullNameRaw */ - RemoteAppStorage.prototype.folderClear = function (fCallback, sFolderFullNameRaw) + RemoteUserStorage.prototype.folderClear = function (fCallback, sFolderFullNameRaw) { this.defaultRequest(fCallback, 'FolderClear', { 'Folder': sFolderFullNameRaw @@ -628,7 +628,7 @@ * @param {string} sFolderFullNameRaw * @param {boolean} bSubscribe */ - RemoteAppStorage.prototype.folderSetSubscribe = function (fCallback, sFolderFullNameRaw, bSubscribe) + RemoteUserStorage.prototype.folderSetSubscribe = function (fCallback, sFolderFullNameRaw, bSubscribe) { this.defaultRequest(fCallback, 'FolderSubscribe', { 'Folder': sFolderFullNameRaw, @@ -643,7 +643,7 @@ * @param {Array} aUids * @param {string=} sLearning */ - RemoteAppStorage.prototype.messagesMove = function (fCallback, sFolder, sToFolder, aUids, sLearning) + RemoteUserStorage.prototype.messagesMove = function (fCallback, sFolder, sToFolder, aUids, sLearning) { this.defaultRequest(fCallback, 'MessageMove', { 'FromFolder': sFolder, @@ -659,7 +659,7 @@ * @param {string} sToFolder * @param {Array} aUids */ - RemoteAppStorage.prototype.messagesCopy = function (fCallback, sFolder, sToFolder, aUids) + RemoteUserStorage.prototype.messagesCopy = function (fCallback, sFolder, sToFolder, aUids) { this.defaultRequest(fCallback, 'MessageCopy', { 'FromFolder': sFolder, @@ -673,7 +673,7 @@ * @param {string} sFolder * @param {Array} aUids */ - RemoteAppStorage.prototype.messagesDelete = function (fCallback, sFolder, aUids) + RemoteUserStorage.prototype.messagesDelete = function (fCallback, sFolder, aUids) { this.defaultRequest(fCallback, 'MessageDelete', { 'Folder': sFolder, @@ -684,7 +684,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.appDelayStart = function (fCallback) + RemoteUserStorage.prototype.appDelayStart = function (fCallback) { this.defaultRequest(fCallback, 'AppDelayStart'); }; @@ -692,7 +692,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.quota = function (fCallback) + RemoteUserStorage.prototype.quota = function (fCallback) { this.defaultRequest(fCallback, 'Quota'); }; @@ -703,7 +703,7 @@ * @param {number} iLimit * @param {string} sSearch */ - RemoteAppStorage.prototype.contacts = function (fCallback, iOffset, iLimit, sSearch) + RemoteUserStorage.prototype.contacts = function (fCallback, iOffset, iLimit, sSearch) { this.defaultRequest(fCallback, 'Contacts', { 'Offset': iOffset, @@ -715,7 +715,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.contactSave = function (fCallback, sRequestUid, sUid, aProperties) + RemoteUserStorage.prototype.contactSave = function (fCallback, sRequestUid, sUid, aProperties) { this.defaultRequest(fCallback, 'ContactSave', { 'RequestUid': sRequestUid, @@ -728,7 +728,7 @@ * @param {?Function} fCallback * @param {Array} aUids */ - RemoteAppStorage.prototype.contactsDelete = function (fCallback, aUids) + RemoteUserStorage.prototype.contactsDelete = function (fCallback, aUids) { this.defaultRequest(fCallback, 'ContactsDelete', { 'Uids': aUids.join(',') @@ -740,7 +740,7 @@ * @param {string} sQuery * @param {number} iPage */ - RemoteAppStorage.prototype.suggestions = function (fCallback, sQuery, iPage) + RemoteUserStorage.prototype.suggestions = function (fCallback, sQuery, iPage) { this.defaultRequest(fCallback, 'Suggestions', { 'Query': sQuery, @@ -751,7 +751,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.facebookUser = function (fCallback) + RemoteUserStorage.prototype.facebookUser = function (fCallback) { this.defaultRequest(fCallback, 'SocialFacebookUserInformation'); }; @@ -759,7 +759,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.facebookDisconnect = function (fCallback) + RemoteUserStorage.prototype.facebookDisconnect = function (fCallback) { this.defaultRequest(fCallback, 'SocialFacebookDisconnect'); }; @@ -767,7 +767,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.twitterUser = function (fCallback) + RemoteUserStorage.prototype.twitterUser = function (fCallback) { this.defaultRequest(fCallback, 'SocialTwitterUserInformation'); }; @@ -775,7 +775,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.twitterDisconnect = function (fCallback) + RemoteUserStorage.prototype.twitterDisconnect = function (fCallback) { this.defaultRequest(fCallback, 'SocialTwitterDisconnect'); }; @@ -783,7 +783,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.googleUser = function (fCallback) + RemoteUserStorage.prototype.googleUser = function (fCallback) { this.defaultRequest(fCallback, 'SocialGoogleUserInformation'); }; @@ -791,7 +791,7 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.googleDisconnect = function (fCallback) + RemoteUserStorage.prototype.googleDisconnect = function (fCallback) { this.defaultRequest(fCallback, 'SocialGoogleDisconnect'); }; @@ -799,11 +799,11 @@ /** * @param {?Function} fCallback */ - RemoteAppStorage.prototype.socialUsers = function (fCallback) + RemoteUserStorage.prototype.socialUsers = function (fCallback) { this.defaultRequest(fCallback, 'SocialUsers'); }; - module.exports = new RemoteAppStorage(); + module.exports = new RemoteUserStorage(); }()); \ No newline at end of file diff --git a/dev/View/App/MailBox/SystemDropDown.js b/dev/View/App/MailBox/SystemDropDown.js deleted file mode 100644 index c8d6e92c4..000000000 --- a/dev/View/App/MailBox/SystemDropDown.js +++ /dev/null @@ -1,28 +0,0 @@ - -(function () { - - 'use strict'; - - var - _ = require('_'), - - kn = require('Knoin/Knoin'), - AbstractSystemDropDownViewModel = require('View/App/AbstractSystemDropDown') - ; - - /** - * @constructor - * @extends AbstractSystemDropDownViewModel - */ - function SystemDropDownMailBoxAppView() - { - AbstractSystemDropDownViewModel.call(this); - kn.constructorEnd(this); - } - - kn.extendAsViewModel(['View/App/MailBox/SystemDropDown', 'MailBoxSystemDropDownViewModel'], SystemDropDownMailBoxAppView); - _.extend(SystemDropDownMailBoxAppView.prototype, AbstractSystemDropDownViewModel.prototype); - - module.exports = SystemDropDownMailBoxAppView; - -}()); diff --git a/dev/View/App/Settings/SystemDropDown.js b/dev/View/App/Settings/SystemDropDown.js deleted file mode 100644 index 025f9fbe7..000000000 --- a/dev/View/App/Settings/SystemDropDown.js +++ /dev/null @@ -1,28 +0,0 @@ - -(function () { - - 'use strict'; - - var - _ = require('_'), - - kn = require('Knoin/Knoin'), - AbstractSystemDropDownAppView = require('View/App/AbstractSystemDropDown') - ; - - /** - * @constructor - * @extends AbstractSystemDropDownAppView - */ - function SystemDropDownSettingsAppView() - { - AbstractSystemDropDownAppView.call(this); - kn.constructorEnd(this); - } - - kn.extendAsViewModel(['View/App/Settings/SystemDropDown', 'SettingsSystemDropDownViewModel'], SystemDropDownSettingsAppView); - _.extend(SystemDropDownSettingsAppView.prototype, AbstractSystemDropDownAppView.prototype); - - module.exports = SystemDropDownSettingsAppView; - -}()); \ No newline at end of file diff --git a/dev/View/Popup/AddAccount.js b/dev/View/Popup/AddAccount.js index fb4ef136b..980d6cb2c 100644 --- a/dev/View/Popup/AddAccount.js +++ b/dev/View/Popup/AddAccount.js @@ -10,7 +10,7 @@ Enums = require('Common/Enums'), Utils = require('Common/Utils'), - Remote = require('Storage/App/Remote'), + Remote = require('Storage/User/Remote'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') @@ -62,7 +62,7 @@ { if (oData.Result) { - require('App/App').accountsAndIdentities(); + require('App/User').accountsAndIdentities(); this.cancelCommand(); } else if (oData.ErrorCode) diff --git a/dev/View/Popup/AddOpenPgpKey.js b/dev/View/Popup/AddOpenPgpKey.js index 7ab73a0da..69116ef20 100644 --- a/dev/View/Popup/AddOpenPgpKey.js +++ b/dev/View/Popup/AddOpenPgpKey.js @@ -9,7 +9,7 @@ Utils = require('Common/Utils'), - Data = require('Storage/App/Data'), + Data = require('Storage/User/Data'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') @@ -77,7 +77,7 @@ oOpenpgpKeyring.store(); - require('App/App').reloadOpenPgpKeys(); + require('App/User').reloadOpenPgpKeys(); Utils.delegateRun(this, 'cancelCommand'); return true; diff --git a/dev/View/Popup/AdvancedSearch.js b/dev/View/Popup/AdvancedSearch.js index 70e65cc0e..62d036538 100644 --- a/dev/View/Popup/AdvancedSearch.js +++ b/dev/View/Popup/AdvancedSearch.js @@ -10,7 +10,7 @@ Utils = require('Common/Utils'), - Data = require('Storage/App/Data'), + Data = require('Storage/User/Data'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') diff --git a/dev/View/Popup/Compose.js b/dev/View/Popup/Compose.js index 717b4d2de..c37741c81 100644 --- a/dev/View/Popup/Compose.js +++ b/dev/View/Popup/Compose.js @@ -21,9 +21,9 @@ HtmlEditor = require('Common/HtmlEditor'), Settings = require('Storage/Settings'), - Data = require('Storage/App/Data'), - Cache = require('Storage/App/Cache'), - Remote = require('Storage/App/Remote'), + Data = require('Storage/User/Data'), + Cache = require('Storage/User/Cache'), + Remote = require('Storage/User/Remote'), ComposeAttachmentModel = require('Model/ComposeAttachment'), @@ -211,7 +211,7 @@ this.deleteCommand = Utils.createCommand(this, function () { - require('App/App').deleteMessagesFromFolderWithoutCheck(this.draftFolder(), [this.draftUid()]); + require('App/User').deleteMessagesFromFolderWithoutCheck(this.draftFolder(), [this.draftUid()]); kn.hideScreenPopup(ComposePopupView); }, function () { @@ -270,7 +270,7 @@ } Cache.setMessageFlagsToCache(this.aDraftInfo[2], this.aDraftInfo[1], aFlagsCache); - require('App/App').reloadFlagsCurrentMessageListAndMessageFromCache(); + require('App/User').reloadFlagsCurrentMessageListAndMessageFromCache(); Cache.setFolderHash(this.aDraftInfo[2], ''); } } @@ -408,7 +408,7 @@ ComposePopupView.prototype.emailsSource = function (oData, fResponse) { - require('App/App').getAutocomplete(oData.term, function (aData) { + require('App/User').getAutocomplete(oData.term, function (aData) { fResponse(_.map(aData, function (oEmailItem) { return oEmailItem.toLine(false); })); @@ -446,11 +446,11 @@ Cache.setFolderHash(sDraftFolder, ''); if (Data.currentFolderFullNameRaw() === sDraftFolder) { - require('App/App').reloadMessageList(true); + require('App/User').reloadMessageList(true); } else { - require('App/App').folderInformation(sDraftFolder); + require('App/User').folderInformation(sDraftFolder); } } }; diff --git a/dev/View/Popup/ComposeOpenPgp.js b/dev/View/Popup/ComposeOpenPgp.js index 2fbadc588..fd8d9ece7 100644 --- a/dev/View/Popup/ComposeOpenPgp.js +++ b/dev/View/Popup/ComposeOpenPgp.js @@ -11,7 +11,7 @@ Utils = require('Common/Utils'), Enums = require('Common/Enums'), - Data = require('Storage/App/Data'), + Data = require('Storage/User/Data'), EmailModel = require('Model/Email'), diff --git a/dev/View/Popup/Contacts.js b/dev/View/Popup/Contacts.js index 21914f8e0..b587d12ea 100644 --- a/dev/View/Popup/Contacts.js +++ b/dev/View/Popup/Contacts.js @@ -17,8 +17,8 @@ Selector = require('Common/Selector'), Links = require('Common/Links'), - Data = require('Storage/App/Data'), - Remote = require('Storage/App/Remote'), + Data = require('Storage/User/Data'), + Remote = require('Storage/User/Remote'), EmailModel = require('Model/Email'), ContactModel = require('Model/Contact'), @@ -333,7 +333,7 @@ this.syncCommand = Utils.createCommand(this, function () { var self = this; - require('App/App').contactsSync(function (sResult, oData) { + require('App/User').contactsSync(function (sResult, oData) { if (Enums.StorageResultType.Success !== sResult || !oData || !oData.Result) { window.alert(Utils.getNotification( @@ -447,12 +447,12 @@ ContactsPopupView.prototype.exportVcf = function () { - require('App/App').download(Links.exportContactsVcf()); + require('App/User').download(Links.exportContactsVcf()); }; ContactsPopupView.prototype.exportCsv = function () { - require('App/App').download(Links.exportContactsCsv()); + require('App/User').download(Links.exportContactsCsv()); }; ContactsPopupView.prototype.initUploader = function () diff --git a/dev/View/Popup/Filter.js b/dev/View/Popup/Filter.js index 444c94ad3..ede447e58 100644 --- a/dev/View/Popup/Filter.js +++ b/dev/View/Popup/Filter.js @@ -10,7 +10,7 @@ Consts = require('Common/Consts'), Utils = require('Common/Utils'), - Data = require('Storage/App/Data'), + Data = require('Storage/User/Data'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') diff --git a/dev/View/Popup/FolderClear.js b/dev/View/Popup/FolderClear.js index 57d716984..25ccccc45 100644 --- a/dev/View/Popup/FolderClear.js +++ b/dev/View/Popup/FolderClear.js @@ -10,9 +10,9 @@ Enums = require('Common/Enums'), Utils = require('Common/Utils'), - Data = require('Storage/App/Data'), - Cache = require('Storage/App/Cache'), - Remote = require('Storage/App/Remote'), + Data = require('Storage/User/Data'), + Cache = require('Storage/User/Cache'), + Remote = require('Storage/User/Remote'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') @@ -70,7 +70,7 @@ self.clearingProcess(false); if (Enums.StorageResultType.Success === sResult && oData && oData.Result) { - require('App/App').reloadMessageList(true); + require('App/User').reloadMessageList(true); self.cancelCommand(); } else diff --git a/dev/View/Popup/FolderCreate.js b/dev/View/Popup/FolderCreate.js index 255026366..4eb7dd3a8 100644 --- a/dev/View/Popup/FolderCreate.js +++ b/dev/View/Popup/FolderCreate.js @@ -11,8 +11,8 @@ Consts = require('Common/Consts'), Utils = require('Common/Utils'), - Data = require('Storage/App/Data'), - Remote = require('Storage/App/Remote'), + Data = require('Storage/User/Data'), + Remote = require('Storage/User/Remote'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') @@ -79,7 +79,7 @@ Data.foldersCreating(false); if (Enums.StorageResultType.Success === sResult && oData && oData.Result) { - require('App/App').folders(); + require('App/User').folders(); } else { diff --git a/dev/View/Popup/FolderSystem.js b/dev/View/Popup/FolderSystem.js index 9cd095ca7..2f5e5d956 100644 --- a/dev/View/Popup/FolderSystem.js +++ b/dev/View/Popup/FolderSystem.js @@ -12,8 +12,8 @@ Utils = require('Common/Utils'), Settings = require('Storage/Settings'), - Data = require('Storage/App/Data'), - Remote = require('Storage/App/Remote'), + Data = require('Storage/User/Data'), + Remote = require('Storage/User/Remote'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') diff --git a/dev/View/Popup/Identity.js b/dev/View/Popup/Identity.js index 406fbb079..bc5ca1fd0 100644 --- a/dev/View/Popup/Identity.js +++ b/dev/View/Popup/Identity.js @@ -10,8 +10,8 @@ Enums = require('Common/Enums'), Utils = require('Common/Utils'), - Remote = require('Storage/App/Remote'), - Data = require('Storage/App/Data'), + Remote = require('Storage/User/Remote'), + Data = require('Storage/User/Data'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') @@ -83,7 +83,7 @@ { if (oData.Result) { - require('App/App').accountsAndIdentities(); + require('App/User').accountsAndIdentities(); this.cancelCommand(); } else if (oData.ErrorCode) diff --git a/dev/View/Popup/NewOpenPgpKey.js b/dev/View/Popup/NewOpenPgpKey.js index d8f2e4831..fdcafe16a 100644 --- a/dev/View/Popup/NewOpenPgpKey.js +++ b/dev/View/Popup/NewOpenPgpKey.js @@ -9,7 +9,7 @@ Utils = require('Common/Utils'), - Data = require('Storage/App/Data'), + Data = require('Storage/User/Data'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') @@ -74,7 +74,7 @@ oOpenpgpKeyring.publicKeys.importKey(mKeyPair.publicKeyArmored); oOpenpgpKeyring.store(); - require('App/App').reloadOpenPgpKeys(); + require('App/User').reloadOpenPgpKeys(); Utils.delegateRun(self, 'cancelCommand'); } diff --git a/dev/View/Popup/TwoFactorTest.js b/dev/View/Popup/TwoFactorTest.js index 235f008f4..a672911f2 100644 --- a/dev/View/Popup/TwoFactorTest.js +++ b/dev/View/Popup/TwoFactorTest.js @@ -10,7 +10,7 @@ Enums = require('Common/Enums'), Utils = require('Common/Utils'), - Remote = require('Storage/App/Remote'), + Remote = require('Storage/User/Remote'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') diff --git a/dev/View/App/About.js b/dev/View/User/About.js similarity index 65% rename from dev/View/App/About.js rename to dev/View/User/About.js index 09754b2af..bec47516f 100644 --- a/dev/View/App/About.js +++ b/dev/View/User/About.js @@ -17,7 +17,7 @@ * @constructor * @extends AbstractView */ - function AboutAppView() + function AboutUserView() { AbstractView.call(this, 'Center', 'About'); @@ -26,9 +26,9 @@ kn.constructorEnd(this); } - kn.extendAsViewModel(['View/App/About', 'AboutViewModel'], AboutAppView); - _.extend(AboutAppView.prototype, AbstractView.prototype); + kn.extendAsViewModel(['View/User/About', 'View/App/About', 'AboutViewModel'], AboutUserView); + _.extend(AboutUserView.prototype, AbstractView.prototype); - module.exports = AboutAppView; + module.exports = AboutUserView; }()); \ No newline at end of file diff --git a/dev/View/App/AbstractSystemDropDown.js b/dev/View/User/AbstractSystemDropDown.js similarity index 72% rename from dev/View/App/AbstractSystemDropDown.js rename to dev/View/User/AbstractSystemDropDown.js index f6f7256b8..4d1a09258 100644 --- a/dev/View/App/AbstractSystemDropDown.js +++ b/dev/View/User/AbstractSystemDropDown.js @@ -13,8 +13,8 @@ Links = require('Common/Links'), Settings = require('Storage/Settings'), - Data = require('Storage/App/Data'), - Remote = require('Storage/App/Remote'), + Data = require('Storage/User/Data'), + Remote = require('Storage/User/Remote'), AbstractView = require('Knoin/AbstractView') ; @@ -23,7 +23,7 @@ * @constructor * @extends AbstractView */ - function AbstractSystemDropDownAppView() + function AbstractSystemDropDownUserView() { AbstractView.call(this, 'Right', 'SystemDropDown'); @@ -42,9 +42,9 @@ this.accountClick = _.bind(this.accountClick, this); } - _.extend(AbstractSystemDropDownAppView.prototype, AbstractView.prototype); + _.extend(AbstractSystemDropDownUserView.prototype, AbstractView.prototype); - AbstractSystemDropDownAppView.prototype.accountClick = function (oAccount, oEvent) + AbstractSystemDropDownUserView.prototype.accountClick = function (oAccount, oEvent) { if (oAccount && oEvent && !Utils.isUnd(oEvent.which) && 1 === oEvent.which) { @@ -58,22 +58,22 @@ return true; }; - AbstractSystemDropDownAppView.prototype.emailTitle = function () + AbstractSystemDropDownUserView.prototype.emailTitle = function () { return Data.accountEmail(); }; - AbstractSystemDropDownAppView.prototype.settingsClick = function () + AbstractSystemDropDownUserView.prototype.settingsClick = function () { require('Knoin/Knoin').setHash(Links.settings()); }; - AbstractSystemDropDownAppView.prototype.settingsHelp = function () + AbstractSystemDropDownUserView.prototype.settingsHelp = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/KeyboardShortcutsHelp')); }; - AbstractSystemDropDownAppView.prototype.addAccountClick = function () + AbstractSystemDropDownUserView.prototype.addAccountClick = function () { if (this.capaAdditionalAccounts()) { @@ -81,15 +81,15 @@ } }; - AbstractSystemDropDownAppView.prototype.logoutClick = function () + AbstractSystemDropDownUserView.prototype.logoutClick = function () { Remote.logout(function () { - require('App/App').loginAndLogoutReload(true, + require('App/User').loginAndLogoutReload(true, Settings.settingsGet('ParentEmail') && 0 < Settings.settingsGet('ParentEmail').length); }); }; - AbstractSystemDropDownAppView.prototype.onBuild = function () + AbstractSystemDropDownUserView.prototype.onBuild = function () { var self = this; key('`', [Enums.KeyState.MessageList, Enums.KeyState.MessageView, Enums.KeyState.Settings], function () { @@ -109,6 +109,6 @@ }); }; - module.exports = AbstractSystemDropDownAppView; + module.exports = AbstractSystemDropDownUserView; }()); \ No newline at end of file diff --git a/dev/View/App/Login.js b/dev/View/User/Login.js similarity index 92% rename from dev/View/App/Login.js rename to dev/View/User/Login.js index 61bd76f68..0420568cb 100644 --- a/dev/View/App/Login.js +++ b/dev/View/User/Login.js @@ -14,8 +14,8 @@ Links = require('Common/Links'), Settings = require('Storage/Settings'), - Data = require('Storage/App/Data'), - Remote = require('Storage/App/Remote'), + Data = require('Storage/User/Data'), + Remote = require('Storage/User/Remote'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') @@ -25,7 +25,7 @@ * @constructor * @extends AbstractView */ - function LoginAppView() + function LoginUserView() { AbstractView.call(this, 'Center', 'Login'); @@ -130,11 +130,11 @@ } else if (oData.Admin) { - require('App/App').redirectToAdminPanel(); + require('App/User').redirectToAdminPanel(); } else { - require('App/App').loginAndLogoutReload(); + require('App/User').loginAndLogoutReload(); } } else if (oData.ErrorCode) @@ -234,10 +234,10 @@ kn.constructorEnd(this); } - kn.extendAsViewModel(['View/App/Login', 'LoginViewModel'], LoginAppView); - _.extend(LoginAppView.prototype, AbstractView.prototype); + kn.extendAsViewModel(['View/User/Login', 'View/App/Login', 'LoginViewModel'], LoginUserView); + _.extend(LoginUserView.prototype, AbstractView.prototype); - LoginAppView.prototype.onShow = function () + LoginUserView.prototype.onShow = function () { kn.routeOff(); @@ -259,13 +259,13 @@ }, this), 100); }; - LoginAppView.prototype.onHide = function () + LoginUserView.prototype.onHide = function () { this.submitFocus(false); this.emailFocus(false); }; - LoginAppView.prototype.onBuild = function () + LoginUserView.prototype.onBuild = function () { var self = this, @@ -275,7 +275,7 @@ if (0 === iErrorCode) { self.submitRequest(true); - require('App/App').loginAndLogoutReload(); + require('App/User').loginAndLogoutReload(); } else { @@ -338,16 +338,16 @@ Utils.triggerAutocompleteInputChange(true); }; - LoginAppView.prototype.submitForm = function () + LoginUserView.prototype.submitForm = function () { this.submitCommand(); }; - LoginAppView.prototype.selectLanguage = function () + LoginUserView.prototype.selectLanguage = function () { kn.showScreenPopup(require('View/Popup/Languages')); }; - module.exports = LoginAppView; + module.exports = LoginUserView; }()); \ No newline at end of file diff --git a/dev/View/App/MailBox/FolderList.js b/dev/View/User/MailBox/FolderList.js similarity index 79% rename from dev/View/App/MailBox/FolderList.js rename to dev/View/User/MailBox/FolderList.js index b8dd8db33..a7d7348ae 100644 --- a/dev/View/App/MailBox/FolderList.js +++ b/dev/View/User/MailBox/FolderList.js @@ -16,8 +16,8 @@ Links = require('Common/Links'), Settings = require('Storage/Settings'), - Cache = require('Storage/App/Cache'), - Data = require('Storage/App/Data'), + Cache = require('Storage/User/Cache'), + Data = require('Storage/User/Data'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') @@ -27,7 +27,7 @@ * @constructor * @extends AbstractView */ - function FolderListMailBoxAppView() + function FolderListMailBoxUserView() { AbstractView.call(this, 'Left', 'MailFolderList'); @@ -48,10 +48,10 @@ kn.constructorEnd(this); } - kn.extendAsViewModel(['View/App/MailBox/FolderList', 'MailBoxFolderListViewModel'], FolderListMailBoxAppView); - _.extend(FolderListMailBoxAppView.prototype, AbstractView.prototype); + kn.extendAsViewModel(['View/User/MailBox/FolderList', 'View/App/MailBox/FolderList', 'MailBoxFolderListViewModel'], FolderListMailBoxUserView); + _.extend(FolderListMailBoxUserView.prototype, AbstractView.prototype); - FolderListMailBoxAppView.prototype.onBuild = function (oDom) + FolderListMailBoxUserView.prototype.onBuild = function (oDom) { this.oContentVisible = $('.b-content', oDom); this.oContentScrollable = $('.content', this.oContentVisible); @@ -69,7 +69,7 @@ if (oFolder && oEvent) { bCollapsed = oFolder.collapsed(); - require('App/App').setExpandedFolder(oFolder.fullNameHash, bCollapsed); + require('App/User').setExpandedFolder(oFolder.fullNameHash, bCollapsed); oFolder.collapsed(!bCollapsed); oEvent.preventDefault(); @@ -152,7 +152,7 @@ if (oFolder) { bCollapsed = oFolder.collapsed(); - require('App/App').setExpandedFolder(oFolder.fullNameHash, bCollapsed); + require('App/User').setExpandedFolder(oFolder.fullNameHash, bCollapsed); oFolder.collapsed(!bCollapsed); } } @@ -174,25 +174,25 @@ }); }; - FolderListMailBoxAppView.prototype.messagesDropOver = function (oFolder) + FolderListMailBoxUserView.prototype.messagesDropOver = function (oFolder) { window.clearTimeout(this.iDropOverTimer); if (oFolder && oFolder.collapsed()) { this.iDropOverTimer = window.setTimeout(function () { oFolder.collapsed(false); - require('App/App').setExpandedFolder(oFolder.fullNameHash, true); + require('App/User').setExpandedFolder(oFolder.fullNameHash, true); Utils.windowResize(); }, 500); } }; - FolderListMailBoxAppView.prototype.messagesDropOut = function () + FolderListMailBoxUserView.prototype.messagesDropOut = function () { window.clearTimeout(this.iDropOverTimer); }; - FolderListMailBoxAppView.prototype.scrollToFocused = function () + FolderListMailBoxUserView.prototype.scrollToFocused = function () { if (!this.oContentVisible || !this.oContentScrollable) { @@ -229,7 +229,7 @@ * @param {FolderModel} oToFolder * @param {{helper:jQuery}} oUi */ - FolderListMailBoxAppView.prototype.messagesDrop = function (oToFolder, oUi) + FolderListMailBoxUserView.prototype.messagesDrop = function (oToFolder, oUi) { if (oToFolder && oUi && oUi.helper) { @@ -241,27 +241,27 @@ if (Utils.isNormal(sFromFolderFullNameRaw) && '' !== sFromFolderFullNameRaw && Utils.isArray(aUids)) { - require('App/App').moveMessagesToFolder(sFromFolderFullNameRaw, aUids, oToFolder.fullNameRaw, bCopy); + require('App/User').moveMessagesToFolder(sFromFolderFullNameRaw, aUids, oToFolder.fullNameRaw, bCopy); } } }; - FolderListMailBoxAppView.prototype.composeClick = function () + FolderListMailBoxUserView.prototype.composeClick = function () { kn.showScreenPopup(require('View/Popup/Compose')); }; - FolderListMailBoxAppView.prototype.createFolder = function () + FolderListMailBoxUserView.prototype.createFolder = function () { kn.showScreenPopup(require('View/Popup/FolderCreate')); }; - FolderListMailBoxAppView.prototype.configureFolders = function () + FolderListMailBoxUserView.prototype.configureFolders = function () { kn.setHash(Links.settings('folders')); }; - FolderListMailBoxAppView.prototype.contactsClick = function () + FolderListMailBoxUserView.prototype.contactsClick = function () { if (this.allowContacts) { @@ -269,6 +269,6 @@ } }; - module.exports = FolderListMailBoxAppView; + module.exports = FolderListMailBoxUserView; }()); diff --git a/dev/View/App/MailBox/MessageList.js b/dev/View/User/MailBox/MessageList.js similarity index 88% rename from dev/View/App/MailBox/MessageList.js rename to dev/View/User/MailBox/MessageList.js index e43e9cb80..fb92be532 100644 --- a/dev/View/App/MailBox/MessageList.js +++ b/dev/View/User/MailBox/MessageList.js @@ -20,9 +20,9 @@ Selector = require('Common/Selector'), Settings = require('Storage/Settings'), - Cache = require('Storage/App/Cache'), - Data = require('Storage/App/Data'), - Remote = require('Storage/App/Remote'), + Cache = require('Storage/User/Cache'), + Data = require('Storage/User/Data'), + Remote = require('Storage/User/Remote'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') @@ -32,7 +32,7 @@ * @constructor * @extends AbstractView */ - function MessageListMailBoxAppView() + function MessageListMailBoxUserView() { AbstractView.call(this, 'Right', 'MailMessageList'); @@ -177,31 +177,31 @@ }, this.canBeMoved); this.deleteWithoutMoveCommand = Utils.createCommand(this, function () { - require('App/App').deleteMessagesFromFolder(Enums.FolderType.Trash, + require('App/User').deleteMessagesFromFolder(Enums.FolderType.Trash, Data.currentFolderFullNameRaw(), Data.messageListCheckedOrSelectedUidsWithSubMails(), false); }, this.canBeMoved); this.deleteCommand = Utils.createCommand(this, function () { - require('App/App').deleteMessagesFromFolder(Enums.FolderType.Trash, + require('App/User').deleteMessagesFromFolder(Enums.FolderType.Trash, Data.currentFolderFullNameRaw(), Data.messageListCheckedOrSelectedUidsWithSubMails(), true); }, this.canBeMoved); this.archiveCommand = Utils.createCommand(this, function () { - require('App/App').deleteMessagesFromFolder(Enums.FolderType.Archive, + require('App/User').deleteMessagesFromFolder(Enums.FolderType.Archive, Data.currentFolderFullNameRaw(), Data.messageListCheckedOrSelectedUidsWithSubMails(), true); }, this.canBeMoved); this.spamCommand = Utils.createCommand(this, function () { - require('App/App').deleteMessagesFromFolder(Enums.FolderType.Spam, + require('App/User').deleteMessagesFromFolder(Enums.FolderType.Spam, Data.currentFolderFullNameRaw(), Data.messageListCheckedOrSelectedUidsWithSubMails(), true); }, this.canBeMoved); this.notSpamCommand = Utils.createCommand(this, function () { - require('App/App').deleteMessagesFromFolder(Enums.FolderType.NotSpam, + require('App/User').deleteMessagesFromFolder(Enums.FolderType.NotSpam, Data.currentFolderFullNameRaw(), Data.messageListCheckedOrSelectedUidsWithSubMails(), true); }, this.canBeMoved); @@ -211,7 +211,7 @@ this.reloadCommand = Utils.createCommand(this, function () { if (!Data.messageListCompleteLoadingThrottle()) { - require('App/App').reloadMessageList(false, true); + require('App/User').reloadMessageList(false, true); } }); @@ -265,15 +265,15 @@ kn.constructorEnd(this); } - kn.extendAsViewModel(['View/App/MailBox/MessageList', 'MailBoxMessageListViewModel'], MessageListMailBoxAppView); - _.extend(MessageListMailBoxAppView.prototype, AbstractView.prototype); + kn.extendAsViewModel(['View/User/MailBox/MessageList', 'View/App/MailBox/MessageList', 'MailBoxMessageListViewModel'], MessageListMailBoxUserView); + _.extend(MessageListMailBoxUserView.prototype, AbstractView.prototype); /** * @type {string} */ - MessageListMailBoxAppView.prototype.emptySubjectValue = ''; + MessageListMailBoxUserView.prototype.emptySubjectValue = ''; - MessageListMailBoxAppView.prototype.searchEnterAction = function () + MessageListMailBoxUserView.prototype.searchEnterAction = function () { this.mainMessageListSearch(this.sLastSearchValue); this.inputMessageListSearchFocus(false); @@ -282,13 +282,13 @@ /** * @returns {string} */ - MessageListMailBoxAppView.prototype.printableMessageCountForDeletion = function () + MessageListMailBoxUserView.prototype.printableMessageCountForDeletion = function () { var iCnt = this.messageListCheckedOrSelectedUidsWithSubMails().length; return 1 < iCnt ? ' (' + (100 > iCnt ? iCnt : '99+') + ')' : ''; }; - MessageListMailBoxAppView.prototype.cancelSearch = function () + MessageListMailBoxUserView.prototype.cancelSearch = function () { this.mainMessageListSearch(''); this.inputMessageListSearchFocus(false); @@ -299,11 +299,11 @@ * @param {boolean} bCopy * @return {boolean} */ - MessageListMailBoxAppView.prototype.moveSelectedMessagesToFolder = function (sToFolderFullNameRaw, bCopy) + MessageListMailBoxUserView.prototype.moveSelectedMessagesToFolder = function (sToFolderFullNameRaw, bCopy) { if (this.canBeMoved()) { - require('App/App').moveMessagesToFolder( + require('App/User').moveMessagesToFolder( Data.currentFolderFullNameRaw(), Data.messageListCheckedOrSelectedUidsWithSubMails(), sToFolderFullNameRaw, bCopy); } @@ -311,7 +311,7 @@ return false; }; - MessageListMailBoxAppView.prototype.dragAndDronHelper = function (oMessageListItem) + MessageListMailBoxUserView.prototype.dragAndDronHelper = function (oMessageListItem) { if (oMessageListItem) { @@ -342,7 +342,7 @@ * @param {AjaxJsonDefaultResponse} oData * @param {boolean} bCached */ - MessageListMailBoxAppView.prototype.onMessageResponse = function (sResult, oData, bCached) + MessageListMailBoxUserView.prototype.onMessageResponse = function (sResult, oData, bCached) { Data.hideMessageBodies(); Data.messageLoading(false); @@ -365,7 +365,7 @@ } }; - MessageListMailBoxAppView.prototype.populateMessageBody = function (oMessage) + MessageListMailBoxUserView.prototype.populateMessageBody = function (oMessage) { if (oMessage) { @@ -385,7 +385,7 @@ * @param {number} iSetAction * @param {Array=} aMessages = null */ - MessageListMailBoxAppView.prototype.setAction = function (sFolderFullNameRaw, iSetAction, aMessages) + MessageListMailBoxUserView.prototype.setAction = function (sFolderFullNameRaw, iSetAction, aMessages) { var aUids = [], @@ -458,7 +458,7 @@ break; } - require('App/App').reloadFlagsCurrentMessageListAndMessageFromCache(); + require('App/User').reloadFlagsCurrentMessageListAndMessageFromCache(); } }; @@ -466,7 +466,7 @@ * @param {string} sFolderFullNameRaw * @param {number} iSetAction */ - MessageListMailBoxAppView.prototype.setActionForAll = function (sFolderFullNameRaw, iSetAction) + MessageListMailBoxUserView.prototype.setActionForAll = function (sFolderFullNameRaw, iSetAction) { var oFolder = null, @@ -509,37 +509,37 @@ break; } - require('App/App').reloadFlagsCurrentMessageListAndMessageFromCache(); + require('App/User').reloadFlagsCurrentMessageListAndMessageFromCache(); } } }; - MessageListMailBoxAppView.prototype.listSetSeen = function () + MessageListMailBoxUserView.prototype.listSetSeen = function () { this.setAction(Data.currentFolderFullNameRaw(), Enums.MessageSetAction.SetSeen, Data.messageListCheckedOrSelected()); }; - MessageListMailBoxAppView.prototype.listSetAllSeen = function () + MessageListMailBoxUserView.prototype.listSetAllSeen = function () { this.setActionForAll(Data.currentFolderFullNameRaw(), Enums.MessageSetAction.SetSeen); }; - MessageListMailBoxAppView.prototype.listUnsetSeen = function () + MessageListMailBoxUserView.prototype.listUnsetSeen = function () { this.setAction(Data.currentFolderFullNameRaw(), Enums.MessageSetAction.UnsetSeen, Data.messageListCheckedOrSelected()); }; - MessageListMailBoxAppView.prototype.listSetFlags = function () + MessageListMailBoxUserView.prototype.listSetFlags = function () { this.setAction(Data.currentFolderFullNameRaw(), Enums.MessageSetAction.SetFlag, Data.messageListCheckedOrSelected()); }; - MessageListMailBoxAppView.prototype.listUnsetFlags = function () + MessageListMailBoxUserView.prototype.listUnsetFlags = function () { this.setAction(Data.currentFolderFullNameRaw(), Enums.MessageSetAction.UnsetFlag, Data.messageListCheckedOrSelected()); }; - MessageListMailBoxAppView.prototype.flagMessages = function (oCurrentMessage) + MessageListMailBoxUserView.prototype.flagMessages = function (oCurrentMessage) { var aChecked = this.messageListCheckedOrSelected(), @@ -568,7 +568,7 @@ } }; - MessageListMailBoxAppView.prototype.flagMessagesFast = function (bFlag) + MessageListMailBoxUserView.prototype.flagMessagesFast = function (bFlag) { var aChecked = this.messageListCheckedOrSelected(), @@ -594,7 +594,7 @@ } }; - MessageListMailBoxAppView.prototype.seenMessagesFast = function (bSeen) + MessageListMailBoxUserView.prototype.seenMessagesFast = function (bSeen) { var aChecked = this.messageListCheckedOrSelected(), @@ -620,7 +620,7 @@ } }; - MessageListMailBoxAppView.prototype.onBuild = function (oDom) + MessageListMailBoxUserView.prototype.onBuild = function (oDom) { var self = this; @@ -653,7 +653,7 @@ oMessage.lastInCollapsedThreadLoading(true); oMessage.lastInCollapsedThread(!oMessage.lastInCollapsedThread()); - require('App/App').reloadMessageList(); + require('App/User').reloadMessageList(); } return false; @@ -700,7 +700,7 @@ } }; - MessageListMailBoxAppView.prototype.initShortcuts = function () + MessageListMailBoxUserView.prototype.initShortcuts = function () { var self = this; @@ -822,7 +822,7 @@ }); }; - MessageListMailBoxAppView.prototype.prefetchNextTick = function () + MessageListMailBoxUserView.prototype.prefetchNextTick = function () { if (ifvisible && !this.bPrefetch && !ifvisible.now() && this.viewModelVisibility()) { @@ -857,17 +857,17 @@ } }; - MessageListMailBoxAppView.prototype.composeClick = function () + MessageListMailBoxUserView.prototype.composeClick = function () { kn.showScreenPopup(require('View/Popup/Compose')); }; - MessageListMailBoxAppView.prototype.advancedSearchClick = function () + MessageListMailBoxUserView.prototype.advancedSearchClick = function () { kn.showScreenPopup(require('View/Popup/AdvancedSearch')); }; - MessageListMailBoxAppView.prototype.quotaTooltip = function () + MessageListMailBoxUserView.prototype.quotaTooltip = function () { return Utils.i18n('MESSAGE_LIST/QUOTA_SIZE', { 'SIZE': Utils.friendlySize(this.userUsageSize()), @@ -876,7 +876,7 @@ }); }; - MessageListMailBoxAppView.prototype.initUploaderForAppend = function () + MessageListMailBoxUserView.prototype.initUploaderForAppend = function () { if (!Settings.settingsGet('AllowAppendMessage') || !this.dragOverArea()) { @@ -923,13 +923,13 @@ return false; }, this)) .on('onComplete', _.bind(function () { - require('App/App').reloadMessageList(true, true); + require('App/User').reloadMessageList(true, true); }, this)) ; return !!oJua; }; - module.exports = MessageListMailBoxAppView; + module.exports = MessageListMailBoxUserView; }()); diff --git a/dev/View/App/MailBox/MessageView.js b/dev/View/User/MailBox/MessageView.js similarity index 85% rename from dev/View/App/MailBox/MessageView.js rename to dev/View/User/MailBox/MessageView.js index 4330ca888..009fbf9a4 100644 --- a/dev/View/App/MailBox/MessageView.js +++ b/dev/View/User/MailBox/MessageView.js @@ -15,9 +15,9 @@ Utils = require('Common/Utils'), Events = require('Common/Events'), - Cache = require('Storage/App/Cache'), - Data = require('Storage/App/Data'), - Remote = require('Storage/App/Remote'), + Cache = require('Storage/User/Cache'), + Data = require('Storage/User/Data'), + Remote = require('Storage/User/Remote'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') @@ -27,7 +27,7 @@ * @constructor * @extends AbstractView */ - function MessageViewMailBoxAppView() + function MessageViewMailBoxUserView() { AbstractView.call(this, 'Right', 'MailMessageView'); @@ -98,7 +98,7 @@ this.deleteCommand = Utils.createCommand(this, function () { if (this.message()) { - require('App/App').deleteMessagesFromFolder(Enums.FolderType.Trash, + require('App/User').deleteMessagesFromFolder(Enums.FolderType.Trash, this.message().folderFullNameRaw, [this.message().uid], true); } @@ -107,7 +107,7 @@ this.deleteWithoutMoveCommand = Utils.createCommand(this, function () { if (this.message()) { - require('App/App').deleteMessagesFromFolder(Enums.FolderType.Trash, + require('App/User').deleteMessagesFromFolder(Enums.FolderType.Trash, Data.currentFolderFullNameRaw(), [this.message().uid], false); } @@ -116,7 +116,7 @@ this.archiveCommand = Utils.createCommand(this, function () { if (this.message()) { - require('App/App').deleteMessagesFromFolder(Enums.FolderType.Archive, + require('App/User').deleteMessagesFromFolder(Enums.FolderType.Archive, this.message().folderFullNameRaw, [this.message().uid], true); } @@ -125,7 +125,7 @@ this.spamCommand = Utils.createCommand(this, function () { if (this.message()) { - require('App/App').deleteMessagesFromFolder(Enums.FolderType.Spam, + require('App/User').deleteMessagesFromFolder(Enums.FolderType.Spam, this.message().folderFullNameRaw, [this.message().uid], true); } @@ -134,7 +134,7 @@ this.notSpamCommand = Utils.createCommand(this, function () { if (this.message()) { - require('App/App').deleteMessagesFromFolder(Enums.FolderType.NotSpam, + require('App/User').deleteMessagesFromFolder(Enums.FolderType.NotSpam, this.message().folderFullNameRaw, [this.message().uid], true); } @@ -248,25 +248,25 @@ kn.constructorEnd(this); } - kn.extendAsViewModel(['View/App/MailBox/MessageView', 'MailBoxMessageViewViewModel'], MessageViewMailBoxAppView); - _.extend(MessageViewMailBoxAppView.prototype, AbstractView.prototype); + kn.extendAsViewModel(['View/User/MailBox/MessageView', 'View/App/MailBox/MessageView', 'MailBoxMessageViewViewModel'], MessageViewMailBoxUserView); + _.extend(MessageViewMailBoxUserView.prototype, AbstractView.prototype); - MessageViewMailBoxAppView.prototype.isPgpActionVisible = function () + MessageViewMailBoxUserView.prototype.isPgpActionVisible = function () { return Enums.SignedVerifyStatus.Success !== this.viewPgpSignedVerifyStatus(); }; - MessageViewMailBoxAppView.prototype.isPgpStatusVerifyVisible = function () + MessageViewMailBoxUserView.prototype.isPgpStatusVerifyVisible = function () { return Enums.SignedVerifyStatus.None !== this.viewPgpSignedVerifyStatus(); }; - MessageViewMailBoxAppView.prototype.isPgpStatusVerifySuccess = function () + MessageViewMailBoxUserView.prototype.isPgpStatusVerifySuccess = function () { return Enums.SignedVerifyStatus.Success === this.viewPgpSignedVerifyStatus(); }; - MessageViewMailBoxAppView.prototype.pgpStatusVerifyMessage = function () + MessageViewMailBoxUserView.prototype.pgpStatusVerifyMessage = function () { var sResult = ''; switch (this.viewPgpSignedVerifyStatus()) @@ -293,19 +293,19 @@ return sResult; }; - MessageViewMailBoxAppView.prototype.fullScreen = function () + MessageViewMailBoxUserView.prototype.fullScreen = function () { this.fullScreenMode(true); Utils.windowResize(); }; - MessageViewMailBoxAppView.prototype.unFullScreen = function () + MessageViewMailBoxUserView.prototype.unFullScreen = function () { this.fullScreenMode(false); Utils.windowResize(); }; - MessageViewMailBoxAppView.prototype.toggleFullScreen = function () + MessageViewMailBoxUserView.prototype.toggleFullScreen = function () { Utils.removeSelection(); @@ -316,12 +316,12 @@ /** * @param {string} sType */ - MessageViewMailBoxAppView.prototype.replyOrforward = function (sType) + MessageViewMailBoxUserView.prototype.replyOrforward = function (sType) { kn.showScreenPopup(require('View/Popup/Compose'), [sType, Data.message()]); }; - MessageViewMailBoxAppView.prototype.onBuild = function (oDom) + MessageViewMailBoxUserView.prototype.onBuild = function (oDom) { var self = this; this.fullScreenMode.subscribe(function (bValue) { @@ -370,7 +370,7 @@ if (oAttachment && oAttachment.download) { - require('App/App').download(oAttachment.linkDownload()); + require('App/User').download(oAttachment.linkDownload()); } }) ; @@ -408,7 +408,7 @@ /** * @return {boolean} */ - MessageViewMailBoxAppView.prototype.escShortcuts = function () + MessageViewMailBoxUserView.prototype.escShortcuts = function () { if (this.viewModelVisibility() && this.message()) { @@ -429,7 +429,7 @@ } }; - MessageViewMailBoxAppView.prototype.initShortcuts = function () + MessageViewMailBoxUserView.prototype.initShortcuts = function () { var self = this @@ -570,7 +570,7 @@ /** * @return {boolean} */ - MessageViewMailBoxAppView.prototype.isDraftFolder = function () + MessageViewMailBoxUserView.prototype.isDraftFolder = function () { return Data.message() && Data.draftFolder() === Data.message().folderFullNameRaw; }; @@ -578,7 +578,7 @@ /** * @return {boolean} */ - MessageViewMailBoxAppView.prototype.isSentFolder = function () + MessageViewMailBoxUserView.prototype.isSentFolder = function () { return Data.message() && Data.sentFolder() === Data.message().folderFullNameRaw; }; @@ -586,7 +586,7 @@ /** * @return {boolean} */ - MessageViewMailBoxAppView.prototype.isSpamFolder = function () + MessageViewMailBoxUserView.prototype.isSpamFolder = function () { return Data.message() && Data.spamFolder() === Data.message().folderFullNameRaw; }; @@ -594,7 +594,7 @@ /** * @return {boolean} */ - MessageViewMailBoxAppView.prototype.isSpamDisabled = function () + MessageViewMailBoxUserView.prototype.isSpamDisabled = function () { return Data.message() && Data.spamFolder() === Consts.Values.UnuseOptionValue; }; @@ -602,7 +602,7 @@ /** * @return {boolean} */ - MessageViewMailBoxAppView.prototype.isArchiveFolder = function () + MessageViewMailBoxUserView.prototype.isArchiveFolder = function () { return Data.message() && Data.archiveFolder() === Data.message().folderFullNameRaw; }; @@ -610,7 +610,7 @@ /** * @return {boolean} */ - MessageViewMailBoxAppView.prototype.isArchiveDisabled = function () + MessageViewMailBoxUserView.prototype.isArchiveDisabled = function () { return Data.message() && Data.archiveFolder() === Consts.Values.UnuseOptionValue; }; @@ -618,17 +618,17 @@ /** * @return {boolean} */ - MessageViewMailBoxAppView.prototype.isDraftOrSentFolder = function () + MessageViewMailBoxUserView.prototype.isDraftOrSentFolder = function () { return this.isDraftFolder() || this.isSentFolder(); }; - MessageViewMailBoxAppView.prototype.composeClick = function () + MessageViewMailBoxUserView.prototype.composeClick = function () { kn.showScreenPopup(require('View/Popup/Compose')); }; - MessageViewMailBoxAppView.prototype.editMessage = function () + MessageViewMailBoxUserView.prototype.editMessage = function () { if (Data.message()) { @@ -636,7 +636,7 @@ } }; - MessageViewMailBoxAppView.prototype.scrollMessageToTop = function () + MessageViewMailBoxUserView.prototype.scrollMessageToTop = function () { if (this.oMessageScrollerDom) { @@ -645,7 +645,7 @@ } }; - MessageViewMailBoxAppView.prototype.scrollMessageToLeft = function () + MessageViewMailBoxUserView.prototype.scrollMessageToLeft = function () { if (this.oMessageScrollerDom) { @@ -657,7 +657,7 @@ /** * @param {MessageModel} oMessage */ - MessageViewMailBoxAppView.prototype.showImages = function (oMessage) + MessageViewMailBoxUserView.prototype.showImages = function (oMessage) { if (oMessage && oMessage.showExternalImages) { @@ -668,7 +668,7 @@ /** * @returns {string} */ - MessageViewMailBoxAppView.prototype.printableCheckedMessageCount = function () + MessageViewMailBoxUserView.prototype.printableCheckedMessageCount = function () { var iCnt = this.messageListCheckedOrSelectedUidsWithSubMails().length; return 0 < iCnt ? (100 > iCnt ? iCnt : '99+') : ''; @@ -678,7 +678,7 @@ /** * @param {MessageModel} oMessage */ - MessageViewMailBoxAppView.prototype.verifyPgpSignedClearMessage = function (oMessage) + MessageViewMailBoxUserView.prototype.verifyPgpSignedClearMessage = function (oMessage) { if (oMessage) { @@ -689,7 +689,7 @@ /** * @param {MessageModel} oMessage */ - MessageViewMailBoxAppView.prototype.decryptPgpEncryptedMessage = function (oMessage) + MessageViewMailBoxUserView.prototype.decryptPgpEncryptedMessage = function (oMessage) { if (oMessage) { @@ -700,7 +700,7 @@ /** * @param {MessageModel} oMessage */ - MessageViewMailBoxAppView.prototype.readReceipt = function (oMessage) + MessageViewMailBoxUserView.prototype.readReceipt = function (oMessage) { if (oMessage && '' !== oMessage.readReceipt()) { @@ -713,10 +713,10 @@ Cache.storeMessageFlagsToCache(oMessage); - require('App/App').reloadFlagsCurrentMessageListAndMessageFromCache(); + require('App/User').reloadFlagsCurrentMessageListAndMessageFromCache(); } }; - module.exports = MessageViewMailBoxAppView; + module.exports = MessageViewMailBoxUserView; }()); \ No newline at end of file diff --git a/dev/View/User/MailBox/SystemDropDown.js b/dev/View/User/MailBox/SystemDropDown.js new file mode 100644 index 000000000..bf0811c93 --- /dev/null +++ b/dev/View/User/MailBox/SystemDropDown.js @@ -0,0 +1,28 @@ + +(function () { + + 'use strict'; + + var + _ = require('_'), + + kn = require('Knoin/Knoin'), + AbstractSystemDropDownViewModel = require('View/User/AbstractSystemDropDown') + ; + + /** + * @constructor + * @extends AbstractSystemDropDownViewModel + */ + function SystemDropDownMailBoxUserView() + { + AbstractSystemDropDownViewModel.call(this); + kn.constructorEnd(this); + } + + kn.extendAsViewModel(['View/User/MailBox/SystemDropDown', 'View/App/MailBox/SystemDropDown', 'MailBoxSystemDropDownViewModel'], SystemDropDownMailBoxUserView); + _.extend(SystemDropDownMailBoxUserView.prototype, AbstractSystemDropDownViewModel.prototype); + + module.exports = SystemDropDownMailBoxUserView; + +}()); diff --git a/dev/View/App/Settings/Menu.js b/dev/View/User/Settings/Menu.js similarity index 57% rename from dev/View/App/Settings/Menu.js rename to dev/View/User/Settings/Menu.js index f480615f2..dbcf213a3 100644 --- a/dev/View/App/Settings/Menu.js +++ b/dev/View/User/Settings/Menu.js @@ -9,7 +9,7 @@ Globals = require('Common/Globals'), Links = require('Common/Links'), - Cache = require('Storage/App/Cache'), + Cache = require('Storage/User/Cache'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') @@ -21,7 +21,7 @@ * @constructor * @extends AbstractView */ - function MenuSettingsAppView(oScreen) + function MenuSettingsUserView(oScreen) { AbstractView.call(this, 'Left', 'SettingsMenu'); @@ -32,19 +32,19 @@ kn.constructorEnd(this); } - kn.extendAsViewModel(['View/App/Settings/Menu', 'SettingsMenuViewModel'], MenuSettingsAppView); - _.extend(MenuSettingsAppView.prototype, AbstractView.prototype); + kn.extendAsViewModel(['View/User/Settings/Menu', 'View/App/Settings/Menu', 'SettingsMenuViewModel'], MenuSettingsUserView); + _.extend(MenuSettingsUserView.prototype, AbstractView.prototype); - MenuSettingsAppView.prototype.link = function (sRoute) + MenuSettingsUserView.prototype.link = function (sRoute) { return Links.settings(sRoute); }; - MenuSettingsAppView.prototype.backToMailBoxClick = function () + MenuSettingsUserView.prototype.backToMailBoxClick = function () { kn.setHash(Links.inbox(Cache.getFolderInboxName())); }; - module.exports = MenuSettingsAppView; + module.exports = MenuSettingsUserView; }()); \ No newline at end of file diff --git a/dev/View/App/Settings/Pane.js b/dev/View/User/Settings/Pane.js similarity index 53% rename from dev/View/App/Settings/Pane.js rename to dev/View/User/Settings/Pane.js index 7034a006c..6fd8eaf91 100644 --- a/dev/View/App/Settings/Pane.js +++ b/dev/View/User/Settings/Pane.js @@ -10,8 +10,8 @@ Enums = require('Common/Enums'), Links = require('Common/Links'), - Data = require('Storage/App/Data'), - Cache = require('Storage/App/Cache'), + Data = require('Storage/User/Data'), + Cache = require('Storage/User/Cache'), kn = require('Knoin/Knoin'), AbstractView = require('Knoin/AbstractView') @@ -21,17 +21,17 @@ * @constructor * @extends AbstractView */ - function PaneSettingsAppView() + function PaneSettingsUserView() { AbstractView.call(this, 'Right', 'SettingsPane'); kn.constructorEnd(this); } - kn.extendAsViewModel(['View/App/Settings/Pane', 'SettingsPaneViewModel'], PaneSettingsAppView); - _.extend(PaneSettingsAppView.prototype, AbstractView.prototype); + kn.extendAsViewModel(['View/User/Settings/Pane', 'View/App/Settings/Pane', 'SettingsPaneViewModel'], PaneSettingsUserView); + _.extend(PaneSettingsUserView.prototype, AbstractView.prototype); - PaneSettingsAppView.prototype.onBuild = function () + PaneSettingsUserView.prototype.onBuild = function () { var self = this; key('esc', Enums.KeyState.Settings, function () { @@ -39,16 +39,16 @@ }); }; - PaneSettingsAppView.prototype.onShow = function () + PaneSettingsUserView.prototype.onShow = function () { Data.message(null); }; - PaneSettingsAppView.prototype.backToMailBoxClick = function () + PaneSettingsUserView.prototype.backToMailBoxClick = function () { kn.setHash(Links.inbox(Cache.getFolderInboxName())); }; - module.exports = PaneSettingsAppView; + module.exports = PaneSettingsUserView; }()); \ No newline at end of file diff --git a/dev/View/User/Settings/SystemDropDown.js b/dev/View/User/Settings/SystemDropDown.js new file mode 100644 index 000000000..d612c2688 --- /dev/null +++ b/dev/View/User/Settings/SystemDropDown.js @@ -0,0 +1,28 @@ + +(function () { + + 'use strict'; + + var + _ = require('_'), + + kn = require('Knoin/Knoin'), + AbstractSystemDropDownUserView = require('View/User/AbstractSystemDropDown') + ; + + /** + * @constructor + * @extends AbstractSystemDropDownUserView + */ + function SystemDropDownSettingsUserView() + { + AbstractSystemDropDownUserView.call(this); + kn.constructorEnd(this); + } + + kn.extendAsViewModel(['View/User/Settings/SystemDropDown', 'View/App/Settings/SystemDropDown', 'SettingsSystemDropDownViewModel'], SystemDropDownSettingsUserView); + _.extend(SystemDropDownSettingsUserView.prototype, AbstractSystemDropDownUserView.prototype); + + module.exports = SystemDropDownSettingsUserView; + +}()); \ No newline at end of file diff --git a/dev/admin.js b/dev/admin.js index 41533dd74..a2b208559 100644 --- a/dev/admin.js +++ b/dev/admin.js @@ -1 +1 @@ -require('App/Boot')(require('App/Admin')); \ No newline at end of file +require('bootstrap')(require('App/Admin')); \ No newline at end of file diff --git a/dev/app.js b/dev/app.js index 10451577b..a02273f58 100644 --- a/dev/app.js +++ b/dev/app.js @@ -1 +1 @@ -require('App/Boot')(require('App/App')); \ No newline at end of file +require('bootstrap')(require('App/User')); \ No newline at end of file diff --git a/dev/App/Boot.js b/dev/bootstrap.js similarity index 100% rename from dev/App/Boot.js rename to dev/bootstrap.js diff --git a/rainloop/v/0.0.0/app/libraries/MailSo/Base/Utils.php b/rainloop/v/0.0.0/app/libraries/MailSo/Base/Utils.php index 5c713108d..45b5c3162 100644 --- a/rainloop/v/0.0.0/app/libraries/MailSo/Base/Utils.php +++ b/rainloop/v/0.0.0/app/libraries/MailSo/Base/Utils.php @@ -2251,4 +2251,21 @@ class Utils return ('' === $sUser ? '' : $sUser.'@').$sDomain; } + + /** + * @param string $sPassword + * + * @return bool + */ + public static function PasswordWeaknessCheck($sPassword) + { + $sPassword = \trim($sPassword); + if (6 > \strlen($sPassword)) + { + return false; + } + + $sLine = 'password 123.456 12345678 abc123 qwerty monkey letmein dragon 111.111 baseball iloveyou trustno1 1234567 sunshine master 123.123 welcome shadow ashley football jesus michael ninja mustang password1 123456 123456789 qwerty 111111 1234567 666666 12345678 7777777 123321 654321 1234567890 123123 555555 vkontakte gfhjkm 159753 777777 temppassword qazwsx 1q2w3e 1234 112233 121212 qwertyuiop qq18ww899 987654321 12345 zxcvbn zxcvbnm 999999 samsung ghbdtn 1q2w3e4r 1111111 123654 159357 131313 qazwsxedc 123qwe 222222 asdfgh 333333 9379992 asdfghjkl 4815162342 12344321 88888888 11111111 knopka 789456 qwertyu 1q2w3e4r5t iloveyou vfhbyf marina password qweasdzxc 10203 987654 yfnfif cjkysirj nikita 888888 vfrcbv k.,jdm qwertyuiop[] qwe123 qweasd natasha 123123123 fylhtq q1w2e3 stalker 1111111111 q1w2e3r4 nastya 147258369 147258 fyfcnfcbz 1234554321 1qaz2wsx andrey 111222 147852 genius sergey 7654321 232323 123789 fktrcfylh spartak admin test 123 azerty abc123 lol123 easytocrack1 hello saravn holysh!t test123 tundra_cool2 456 dragon thomas killer root 1111 pass master aaaaaa a monkey daniel asdasd e10adc3949ba59abbe56e057f20f883e changeme computer jessica letmein mirage loulou lol superman shadow admin123 secret administrator sophie kikugalanetroot doudou liverpool hallo sunshine charlie parola 100827092 michael andrew password1 fuckyou matrix cjmasterinf internet hallo123 eminem demo gewinner pokemon abcd1234 guest ngockhoa martin sandra asdf hejsan george qweqwe lollipop lovers q1q1q1 tecktonik naruto 12 password12 password123 password1234 password12345 password123456 password1234567 password12345678 password123456789 000000 maximius 123abc baseball1 football1 soccer princess slipknot 11111 nokia super star 666999 12341234 1234321 135790 159951 212121 zzzzzz 121314 134679 142536 19921992 753951 7007 1111114 124578 19951995 258456 qwaszx zaqwsx 55555 77777 54321 qwert 22222 33333 99999 88888 66666'; + return false === \strpos($sLine, \strtolower($sPassword)); + } } diff --git a/rainloop/v/0.0.0/app/src/RainLoop/Providers/ChangePassword.php b/rainloop/v/0.0.0/app/src/RainLoop/Providers/ChangePassword.php index 6a8b04f8b..b344b227c 100644 --- a/rainloop/v/0.0.0/app/src/RainLoop/Providers/ChangePassword.php +++ b/rainloop/v/0.0.0/app/src/RainLoop/Providers/ChangePassword.php @@ -61,7 +61,16 @@ class ChangePassword extends \RainLoop\Providers\AbstractProvider throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::CurrentPasswordIncorrect); } - $this->weaknessCheck($sNewPassword); + $sPasswordForCheck = \trim($sNewPassword); + if (6 > \strlen($sPasswordForCheck)) + { + throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::NewPasswordShort); + } + + if (!\MailSo\Base\Utils::PasswordWeaknessCheck($sPasswordForCheck)) + { + throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::NewPasswordWeak); + } if (!$this->oDriver->ChangePassword($oAccount, $sPrevPassword, $sNewPassword)) { @@ -84,25 +93,4 @@ class ChangePassword extends \RainLoop\Providers\AbstractProvider { return $this->oDriver instanceof \RainLoop\Providers\ChangePassword\ChangePasswordInterface; } - - /** - * @param string $sPassword - */ - public function weaknessCheck($sPassword) - { - $sPassword = \trim($sPassword); - if (4 > \strlen($sPassword)) - { - throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::NewPasswordShort); - } - - if ($this->bCheckWeak) - { - $sLine = ' password 123.456 12345678 abc123 qwerty monkey letmein dragon 111.111 baseball iloveyou trustno1 1234567 sunshine master 123.123 welcome shadow ashley football jesus michael ninja mustang password1 123456 123456789 qwerty 111111 1234567 666666 12345678 7777777 123321 654321 1234567890 123123 555555 vkontakte gfhjkm 159753 777777 temppassword qazwsx 1q2w3e 1234 112233 121212 qwertyuiop qq18ww899 987654321 12345 zxcvbn zxcvbnm 999999 samsung ghbdtn 1q2w3e4r 1111111 123654 159357 131313 qazwsxedc 123qwe 222222 asdfgh 333333 9379992 asdfghjkl 4815162342 12344321 88888888 11111111 knopka 789456 qwertyu 1q2w3e4r5t iloveyou vfhbyf marina password qweasdzxc 10203 987654 yfnfif cjkysirj nikita 888888 vfrcbv k.,jdm qwertyuiop[] qwe123 qweasd natasha 123123123 fylhtq q1w2e3 stalker 1111111111 q1w2e3r4 nastya 147258369 147258 fyfcnfcbz 1234554321 1qaz2wsx andrey 111222 147852 genius sergey 7654321 232323 123789 fktrcfylh spartak admin test 123 azerty abc123 lol123 easytocrack1 hello saravn holysh!t test123 tundra_cool2 456 dragon thomas killer root 1111 pass master aaaaaa a monkey daniel asdasd e10adc3949ba59abbe56e057f20f883e changeme computer jessica letmein mirage loulou lol superman shadow admin123 secret administrator sophie kikugalanetroot doudou liverpool hallo sunshine charlie parola 100827092 michael andrew password1 fuckyou matrix cjmasterinf internet hallo123 eminem demo gewinner pokemon abcd1234 guest ngockhoa martin sandra asdf hejsan george qweqwe lollipop lovers q1q1q1 tecktonik naruto 12 password12 password123 password1234 password12345 password123456 password1234567 password12345678 password123456789 000000 maximius 123abc baseball1 football1 soccer princess slipknot 11111 nokia super star 666999 12341234 1234321 135790 159951 212121 zzzzzz 121314 134679 142536 19921992 753951 7007 1111114 124578 19951995 258456 qwaszx zaqwsx 55555 77777 54321 qwert 22222 33333 99999 88888 66666 '; - if (false !== \strpos($sLine, \strtolower($sPassword))) - { - throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::NewPasswordWeak); - } - } - } } diff --git a/rainloop/v/0.0.0/app/src/RainLoop/ServiceActions.php b/rainloop/v/0.0.0/app/src/RainLoop/ServiceActions.php index 0c9e6c0f5..35d872612 100644 --- a/rainloop/v/0.0.0/app/src/RainLoop/ServiceActions.php +++ b/rainloop/v/0.0.0/app/src/RainLoop/ServiceActions.php @@ -1070,7 +1070,7 @@ class ServiceActions */ private function compileTemplates($bAdmin = false) { - $sHtml = \RainLoop\Utils::CompileTemplates(APP_VERSION_ROOT_PATH.'app/templates/Views/'.($bAdmin ? 'Admin' : 'App'), $this->oActions). + $sHtml = \RainLoop\Utils::CompileTemplates(APP_VERSION_ROOT_PATH.'app/templates/Views/'.($bAdmin ? 'Admin' : 'User'), $this->oActions). \RainLoop\Utils::CompileTemplates(APP_VERSION_ROOT_PATH.'app/templates/Views/Common', $this->oActions). $this->oActions->Plugins()->CompileTemplate($bAdmin); diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html index f5259e4a0..67e5485d6 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html @@ -3,6 +3,15 @@
Security
+
+
+ +
+
-
-
- -
-
-

RainLoop Webmail

-   -   -   -

()

-

http://rainloop.net

+
+

RainLoop Webmail

+   +   +   +

()

+

http://rainloop.net

\ No newline at end of file diff --git a/rainloop/v/0.0.0/app/templates/Views/App/ComposeAttachment.html b/rainloop/v/0.0.0/app/templates/Views/User/ComposeAttachment.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/ComposeAttachment.html rename to rainloop/v/0.0.0/app/templates/Views/User/ComposeAttachment.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/ComposeAttachmentInProcess.html b/rainloop/v/0.0.0/app/templates/Views/User/ComposeAttachmentInProcess.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/ComposeAttachmentInProcess.html rename to rainloop/v/0.0.0/app/templates/Views/User/ComposeAttachmentInProcess.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/Login.html b/rainloop/v/0.0.0/app/templates/Views/User/Login.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/Login.html rename to rainloop/v/0.0.0/app/templates/Views/User/Login.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/MailFolderList.html b/rainloop/v/0.0.0/app/templates/Views/User/MailFolderList.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/MailFolderList.html rename to rainloop/v/0.0.0/app/templates/Views/User/MailFolderList.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/MailFolderListItem.html b/rainloop/v/0.0.0/app/templates/Views/User/MailFolderListItem.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/MailFolderListItem.html rename to rainloop/v/0.0.0/app/templates/Views/User/MailFolderListItem.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/MailFolderListSystemItem.html b/rainloop/v/0.0.0/app/templates/Views/User/MailFolderListSystemItem.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/MailFolderListSystemItem.html rename to rainloop/v/0.0.0/app/templates/Views/User/MailFolderListSystemItem.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/MailMessageList.html b/rainloop/v/0.0.0/app/templates/Views/User/MailMessageList.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/MailMessageList.html rename to rainloop/v/0.0.0/app/templates/Views/User/MailMessageList.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/MailMessageListItem.html b/rainloop/v/0.0.0/app/templates/Views/User/MailMessageListItem.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/MailMessageListItem.html rename to rainloop/v/0.0.0/app/templates/Views/User/MailMessageListItem.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/MailMessageListItemNoPreviewPane.html b/rainloop/v/0.0.0/app/templates/Views/User/MailMessageListItemNoPreviewPane.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/MailMessageListItemNoPreviewPane.html rename to rainloop/v/0.0.0/app/templates/Views/User/MailMessageListItemNoPreviewPane.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/MailMessageView.html b/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/MailMessageView.html rename to rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsAddAccount.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsAddAccount.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsAddAccount.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsAddAccount.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsAddOpenPgpKey.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsAddOpenPgpKey.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsAddOpenPgpKey.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsAddOpenPgpKey.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsAdvancedSearch.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsAdvancedSearch.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsAdvancedSearch.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsAdvancedSearch.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsCompose.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsCompose.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsCompose.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsCompose.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsComposeOpenPgp.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsComposeOpenPgp.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsComposeOpenPgp.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsComposeOpenPgp.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsContacts.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsContacts.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsContacts.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsContacts.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsFilter.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsFilter.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsFilter.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsFilter.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsFolderClear.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsFolderClear.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsFolderClear.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsFolderClear.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsFolderCreate.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsFolderCreate.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsFolderCreate.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsFolderCreate.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsFolderSystem.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsFolderSystem.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsFolderSystem.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsFolderSystem.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsIdentity.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsIdentity.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsIdentity.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsIdentity.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsNewOpenPgpKey.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsNewOpenPgpKey.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsNewOpenPgpKey.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsNewOpenPgpKey.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsTwoFactorTest.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsTwoFactorTest.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsTwoFactorTest.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsTwoFactorTest.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsViewOpenPgpKey.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsViewOpenPgpKey.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsViewOpenPgpKey.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsViewOpenPgpKey.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/PopupsWindowSimpleMessage.html b/rainloop/v/0.0.0/app/templates/Views/User/PopupsWindowSimpleMessage.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/PopupsWindowSimpleMessage.html rename to rainloop/v/0.0.0/app/templates/Views/User/PopupsWindowSimpleMessage.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsAccounts.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsAccounts.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsAccounts.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsAccounts.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsChangePassword.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsChangePassword.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsChangePassword.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsChangePassword.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsContacts.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsContacts.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsContacts.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsContacts.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsCustom.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsCustom.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsCustom.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsCustom.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsFilters.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsFilters.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsFilters.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsFilters.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsFiltersActionNoValue.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsFiltersActionNoValue.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsFiltersActionNoValue.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsFiltersActionNoValue.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsFiltersActionValueAsFolders.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsFiltersActionValueAsFolders.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsFiltersActionValueAsFolders.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsFiltersActionValueAsFolders.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsFiltersActionWithValue.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsFiltersActionWithValue.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsFiltersActionWithValue.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsFiltersActionWithValue.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsFiltersConditionDefault.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsFiltersConditionDefault.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsFiltersConditionDefault.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsFiltersConditionDefault.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsFolderItem.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsFolderItem.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsFolderItem.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsFolderItem.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsFolders.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsFolders.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsFolders.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsFolders.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsGeneral.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsGeneral.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsGeneral.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsGeneral.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsIdentities.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsIdentities.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsIdentities.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsIdentities.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsIdentity.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsIdentity.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsIdentity.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsIdentity.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsMenu.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsMenu.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsMenu.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsMenu.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsOpenPGP.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsOpenPGP.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsOpenPGP.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsOpenPGP.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsPane.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsPane.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsPane.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsPane.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsSecurity.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsSecurity.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsSecurity.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsSecurity.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsSocial.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsSocial.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsSocial.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsSocial.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SettingsThemes.html b/rainloop/v/0.0.0/app/templates/Views/User/SettingsThemes.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SettingsThemes.html rename to rainloop/v/0.0.0/app/templates/Views/User/SettingsThemes.html diff --git a/rainloop/v/0.0.0/app/templates/Views/App/SystemDropDown.html b/rainloop/v/0.0.0/app/templates/Views/User/SystemDropDown.html similarity index 100% rename from rainloop/v/0.0.0/app/templates/Views/App/SystemDropDown.html rename to rainloop/v/0.0.0/app/templates/Views/User/SystemDropDown.html