AppUser.prototype.bootstartLoginScreen = function () { Globals.$html.removeClass('rl-user-auth').addClass('rl-user-no-auth'); var sCustomLoginLink = Utils.pString(Settings.settingsGet('CustomLoginLink')); if (!sCustomLoginLink) { kn.startScreens([ require('Screen/User/Login') ]); Plugins.runHook('rl-start-login-screens'); Events.pub('rl.bootstart-login-screens'); } else { kn.routeOff(); kn.setHash(Links.root(), true); kn.routeOff(); _.defer(function () { window.location.href = sCustomLoginLink; }); } };
AdminApp.prototype.bootstart = function () { AbstractApp.prototype.bootstart.call(this); require('Stores/Admin/App').populate(); require('Stores/Admin/Capa').populate(); kn.hideLoading(); if (!Settings.settingsGet('AllowAdminPanel')) { kn.routeOff(); kn.setHash(Links.root(), true); kn.routeOff(); _.defer(function () { window.location.href = '/'; }); } else { if (!!Settings.settingsGet('Auth')) { kn.startScreens([ require('Screen/Admin/Settings') ]); } else { kn.startScreens([ require('Screen/Admin/Login') ]); } } if (SimplePace) { SimplePace.set(100); } };
self.foldersReload(_.bind(function (bValue) { this.bootend(); if (bValue) { if ('' !== sStartupUrl) { kn.routeOff(); kn.setHash(Links.root(sStartupUrl), true); kn.routeOn(); } if ($LAB && window.crypto && window.crypto.getRandomValues && Settings.capa(Enums.Capa.OpenPGP)) { var fOpenpgpCallback = function (openpgp) { PgpStore.openpgp = openpgp; if (window.Worker) { PgpStore.openpgp.initWorker(Links.openPgpWorkerJs()); } // PgpStore.openpgp.config.useWebCrypto = false; PgpStore.openpgpKeyring = new openpgp.Keyring(); PgpStore.capaOpenPGP(true); Events.pub('openpgp.init'); self.reloadOpenPgpKeys(); }; if (window.openpgp) { fOpenpgpCallback(window.openpgp); } else { $LAB.script(Links.openPgpJs()).wait(function () { if (window.openpgp) { fOpenpgpCallback(window.openpgp); } }); } } else { PgpStore.capaOpenPGP(false); } kn.startScreens([ require('Screen/User/MailBox'), Settings.capa(Enums.Capa.Settings) ? require('Screen/User/Settings') : null, false ? require('Screen/User/About') : null ]); if (bGoogle || bFacebook || bTwitter) { self.socialUsers(true); } Events.sub('interval.2m', function () { self.folderInformation(Cache.getFolderInboxName()); }); Events.sub('interval.3m', function () { var sF = FolderStore.currentFolderFullNameRaw(); if (Cache.getFolderInboxName() !== sF) { self.folderInformation(sF); } }); Events.sub('interval.2m-after5m', function () { self.folderInformationMultiply(); }); Events.sub('interval.15m', function () { self.quota(); }); Events.sub('interval.20m', function () { self.foldersReload(); }); iContactsSyncInterval = 5 <= iContactsSyncInterval ? iContactsSyncInterval : 20; iContactsSyncInterval = 320 >= iContactsSyncInterval ? iContactsSyncInterval : 320; _.delay(function () { self.contactsSync(); }, 10000); _.delay(function () { self.folderInformationMultiply(true); }, 2000); window.setInterval(function () { self.contactsSync(); }, iContactsSyncInterval * 60000 + 5000); self.accountsAndIdentities(true); _.delay(function () { var sF = FolderStore.currentFolderFullNameRaw(); if (Cache.getFolderInboxName() !== sF) { self.folderInformation(sF); } }, 1000); _.delay(function () { self.quota(); }, 5000); _.delay(function () { Remote.appDelayStart(Utils.emptyFunction); }, 35000); Events.sub('rl.auto-logout', function () { self.logout(); }); Plugins.runHook('rl-start-user-screens'); Events.pub('rl.bootstart-user-screens'); if (Settings.settingsGet('WelcomePageUrl')) { _.delay(function () { self.bootstartWelcomePopup(Settings.settingsGet('WelcomePageUrl')); }, 1000); } if (!!Settings.settingsGet('AccountSignMe') && window.navigator.registerProtocolHandler && Settings.capa(Enums.Capa.Composer)) { _.delay(function () { try { window.navigator.registerProtocolHandler('mailto', window.location.protocol + '//' + window.location.host + window.location.pathname + '?mailto&to=%s', '' + (Settings.settingsGet('Title') || 'RainLoop')); } catch(e) {} if (Settings.settingsGet('MailToEmail')) { Utils.mailToHelper(Settings.settingsGet('MailToEmail'), require('View/Popup/Compose')); } }, 500); } if (!Globals.bMobileDevice) { _.defer(function () { self.initVerticalLayoutResizer(Enums.ClientSideKeyName.FolderListSize); }); if (Tinycon && Settings.settingsGet('FaviconStatus') && !Settings.settingsGet('Filtered') ) { Tinycon.setOptions({ fallback: false }); Events.sub('mailbox.inbox-unread-count', function (iCount) { Tinycon.setBubble(0 < iCount ? (99 < iCount ? 99 : iCount) : 0); }); } } } else { this.logout(); } }, self));