- ID de l'analyse :
- 7a0dfe89-8065-45b0-aa94-3ce46c409a95Terminée
- URL soumise :
- https://hikari.sgx.fredriclesomar.my.id/
- Fin du rapport :
Liens : 1 trouvé(s)
Liens sortants identifiés à partir de la page
Lien | texte |
---|---|
https://mailvelope.com/en/help |
Variables JavaScript : 13 trouvée(s)
Les variables JavaScript globales chargées dans l'objet fenêtre d'une page sont des variables déclarées en dehors des fonctions et accessibles depuis n'importe quel endroit du code au sein du champ d'application actuel
Nom | Type |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
rl | object |
shortcuts | object |
hasher | object |
Crossroads | function |
Jua | function |
BSN | object |
ko | object |
Messages de journal de console : 0 trouvé(s)
Messages consignés dans la console web
HTML
Le corps HTML de la page en données brutes
<!DOCTYPE html><html class="rl-started-trigger" lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="google" content="notranslate"> <meta name="robots" content="noindex,nofollow,noodp"> <meta name="theme-color" content="black"> <title></title> <style id="app-boot-css">:root{--fontSans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--fontSerif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--fontMono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}#rl-app.fontArial{--fontSans:"Nimbus Sans L","Liberation sans","Arial Unicode MS",Arial,Helvetica,Garuda,Utkal,FreeSans,sans-serif}#rl-app.fontTahoma{--fontSans:"Luxi Sans",Tahoma,Loma,Geneva,Meera,sans-serif}#rl-app.fontTrebuchet{--fontSans:"DejaVu Sans Condensed",Trebuchet,"Trebuchet MS",sans-serif}#rl-app.fontLucida{--fontSans:"Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","DejaVu LGC Sans",sans-serif}#rl-app.fontVerdana{--fontSans:"DejaVu Sans",Verdana,Geneva,"Bitstream Vera Sans","DejaVu LGC Sans",sans-serif}#rl-app.fontMonoCourier{--fontMono:"Liberation Mono","Courier New",FreeMono,Courier,monospace}#rl-app.fontMonoLucida{--fontMono:"DejaVu Sans Mono","DejaVu LGC Sans Mono","Bitstream Vera Sans Mono","Lucida Console",Monaco,monospace}#rl-app.fontSerifTimes{--fontSerif:"Nimbus Roman No9 L","Times New Roman",Times,FreeSerif,serif}#rl-app.fontSerifPalatino{--fontSerif:"Bitstream Charter","Palatino Linotype",Palatino,Palladio,"URW Palladio L","Book Antiqua",Times,serif}#rl-app.fontSerifGeorgia{--fontSerif:"URW Palladio L",Georgia,Times,serif}body,html{margin:0;padding:0;-webkit-text-size-adjust:100%}#rl-app *,#rl-app ::after,#rl-app ::before{box-sizing:border-box}#rl-app{background-color:var(--main-bg-color,#aaa);color:var(--main-color,#333);font-family:var(--fontSans);-webkit-touch-callout:none;font-size:var(--main-font-size,14px);line-height:1.25;position:relative}body#rl-app{height:100vh;height:100dvh;width:100vw}#rl-BadBrowser,#rl-NoCookie,#rl-loading,#rl-loading-error{color:var(--loading-color,#000);text-shadow:var(--loading-text-shadow);font-size:214%;line-height:130%;position:fixed;text-align:center;top:50%;transform:translateY(-50%);width:100%}#rl-loading .icon-spinner{height:1em;width:1em}
</style> <link type="text/css" rel="stylesheet" href="/snappymail/snappymail/v/2.38.2/static/css/app.min.css"> <link rel="manifest" href="/snappymail/snappymail/v/2.38.2/static/manifest.json"> <link rel="icon" href="/snappymail/snappymail/v/2.38.2/static/favicon.svg" type="image/svg+xml"> <style id="app-theme-style" data-name="Default">:root{color-scheme:light;/* MAIN */
--main-color:#333;--main-bg-color:#48525C;--main-bg-image:url("/snappymail/snappymail/v/2.38.2/themes/Default/images/background.jpg");/* LOADING */
--loading-color:#ddd;--loading-text-shadow:0px 1px 0px rgba(0,0,0,0.5);/* LOGIN */
--login-color:#eee;--login-bg-color:rgba(0,0,0,0.5);--login-box-shadow:0px 2px 10px rgba(0,0,0,0.5);--login-border:none;--login-border-radius:7px;/* MENU */
--dropdown-menu-color:#333;--dropdown-menu-bg-color:#fff;--dropdown-menu-hover-bg-color:#48525C;--dropdown-menu-hover-color:#eee;--dropdown-menu-disable-color:#999;/* FOLDERS */
--folders-color:#fff;--folders-disabled-color:#aaa;--folders-selected-color:#fff;--folders-selected-bg-color:rgba(0,0,0,0.5);--folders-focused-color:#fff;--folders-focused-bg-color:rgba(0,0,0,0.7);--folders-hover-color:#fff;--folders-hover-bg-color:rgba(0,0,0,0.5);--folders-drop-color:#fff;--folders-drop-bg-color:rgba(0,0,0,0.5);/* SETTINGS */
--settings-menu-color:#fff;--settings-menu-selected-color:#fff;--settings-menu-selected-bg-color:rgba(0,0,0,0.5);--settings-menu-hover-color:#fff;--settings-menu-hover-bg-color:rgba(0,0,0,0.5);/* MESSAGE LIST */
--message-list-toolbar-bg-color:#eee;}.thm-message-list-top-toolbar,.thm-message-list-bottom-toolbar{background-image:linear-gradient(to bottom,#f4f4f4,#dfdfdf) !important;background-repeat:repeat-x !important;}</style> <link type="image/png" rel="shortcut icon" href="/snappymail/snappymail/v/2.38.2/static/apple-touch-icon.png"> <link type="image/png" rel="apple-touch-icon" href="/snappymail/snappymail/v/2.38.2/static/apple-touch-icon.png"> <script src="/snappymail/snappymail/v/2.38.2/static/js/min/libs.min.js"></script><script src="/snappymail/snappymail/v/2.38.2/static/js/min/app.min.js"></script></head> <body id="rl-app" data-admin="0" spellcheck="false"> <div id="rl-loading"> <div id="rl-loading-desc">SnappyMail</div> <i class="icon-spinner"></i> <noscript><div class="error-desc">JavaScript is required for this application.<br />
JavaScript support is not available in your browser.<br />
Please enable JavaScript support in your browser settings and retry.</div></noscript> </div> <div id="rl-loading-error" hidden="">An error occurred.<br>Please refresh the page and try again.<br></div> <div id="rl-BadBrowser" hidden=""> <h1>Your browser is outdated.</h1> <div class="error-desc">To use all the features of the application,<br>
download and install one of the latest browsers.</div> </div> <div id="rl-NoCookie" hidden=""> <h1>Cookies support is required for this application.</h1> <div class="error-desc">Cookies support is not available in your browser.
Please enable Cookie support in your browser settings and retry.</div> </div> <div id="rl-content" hidden=""> <div id="rl-left"></div> <div id="rl-right"></div> </div> <div id="rl-popups"></div> <template id="CheckboxComponent"><label class="e-component e-checkbox material-design" data-bind="css: { 'disabled': !enable() }"> <div> <input type="checkbox" value="1" data-bind="checked: value, enable: enable, attr: {name: name}"> <div role="checkbox"></div> </div> <!-- ko if: label --> <span data-bind="attr: {'data-i18n': label}"></span> <!-- /ko --> </label> </template><template id="SelectComponent"><div class="e-component"> <select data-bind="options: options, value: value, optionsText: optionsText, optionsValue: optionsValue, css: className, optionsAfterRender: defaultOptionsAfterRender"></select> <!-- ko if: label --> <span data-bind="attr: {'data-i18n': label}"></span> <!-- /ko --> <!-- ko if: trigger --> <span data-bind="saveTrigger: trigger"></span> <!-- /ko --> </div> </template><template id="Login"><div class="descWrapper" data-bind="visible: '' !== loadingDesc, text: loadingDesc"></div> <div class="alert" data-bind="hidden: !submitError()" hidden=""> <a href="#" class="close" data-bind="click: hideError">×</a> <span data-bind="text: submitError"></span> <p data-bind="visible: '' !== submitErrorAdditional()"> <span data-i18n="GLOBAL/SERVER_MESSAGE"></span>: <!-- ko text: submitErrorAdditional --><!-- /ko --> </p> </div> <form action="#/" spellcheck="false" method="POST" data-bind="submit: submitForm, css: {'errorAnimated': formError, 'submitting': submitRequest()}"> <div class="controls" data-bind="css: {'error': emailError}"> <span class="fontastic">✉</span> <input name="Email" required="" type="text" class="input-block-level" pattern="[^@\s]+(@[^\s]+)?" inputmode="email" autofocus="" autocomplete="email" autocorrect="off" autocapitalize="off" data-bind="textInput: email, disable: submitRequest" data-i18n="[placeholder]GLOBAL/EMAIL"> </div> <div class="controls" data-bind="css: {'error': passwordError}"> <span class="fontastic">🔑</span> <input name="Password" required="" type="password" class="input-block-level" autocomplete="current-password" autocorrect="off" autocapitalize="off" data-bind="textInput: password, disable: submitRequest" data-i18n="[placeholder]GLOBAL/PASSWORD"> </div> <div id="plugin-Login-BottomControlGroup"></div> <div class="controls" style="display: flex"> <div class="e-checkbox" tabindex="0" data-bind="toggle: signMe"> <i role="checkbox" class="fontastic" data-bind="text: signMe() ? '☑' : '☐'"></i> <span data-i18n="LOGIN/LABEL_SIGN_ME"></span> </div> <div class="language-buttons"> <a href="#" class="language-button fontastic" data-bind="visible: allowLanguagesOnLogin, click: selectLanguage, css: { 'icon-spinner' : langRequest }" data-i18n="[title]POPUPS_LANGUAGES/TITLE_LANGUAGES"> 🌍 </a> </div> </div> <div> <button class="btn btn-large buttonLogin" data-bind="command: submitCommand" data-i18n="LOGIN/BUTTON_SIGN_IN"></button> </div> </form> </template><template id="MailFolderList"><div class="b-folders g-ui-user-select-none"> <div class="b-toolbar btn-toolbar"> <a class="btn buttonCompose" data-bind="click: composeClick, css: {'btn-warning': composeInEdit, 'btn-success': !composeInEdit()}" data-i18n="[title]FOLDER_LIST/BUTTON_NEW_MESSAGE"> <i class="icon-paper-plane"></i> <span class="buttonComposeText" data-i18n="FOLDER_LIST/BUTTON_NEW_MESSAGE"></span> </a> <a class="btn buttonContacts fontastic" data-bind="visible: allowContacts, click: contactsClick" data-i18n="[title]GLOBAL/CONTACTS">📇</a> </div> <div class="b-content"> <ul class="b-folders-system" data-bind="foreach: systemFolders"> <li> <a data-bind="dropmessages: $data, css: { 'selected': selected, 'selectable': selectable, 'anim-action-class': actionBlink, 'is-flagged': isFlagged }, attr: { 'data-icon': icon, 'data-unread': unreadCount }"> <!-- ko text: localName --><!-- /ko --> <!-- ko if: isInbox --> <span class="flag-icon fontastic"></span> <!-- /ko --> </a> </li> </ul> <hr> <div class="search-input-wrp" data-bind="visible: foldersFilterVisible"> <input type="search" id="folderSearchInput" data-bind="textInput: foldersFilter" data-i18n="[placeholder]GLOBAL/SEARCH"> <a data-bind="click: clearFolderSearch, visible: foldersFilter">✕</a> </div> <div class="e-checkbox" tabindex="0" data-bind="toggle: filterUnseen"> <i role="checkbox" class="fontastic" data-bind="text: filterUnseen() ? '☑' : '☐'"></i> <span data-i18n="SEARCH/UNSEEN"></span> </div> <ul class="b-folders-user" data-bind="css: {unreadOnly: filterUnseen}, template: { name: 'MailFolderListItem', foreach: folderListVisible }"></ul> <div class="move-action-content-wrapper" data-bind="visible: moveAction"></div> </div> <div class="b-footer btn-toolbar"> <div class="btn-group"> <a class="btn fontastic toggleLeft" data-bind="click: toggleLeftPanel"></a> </div> <div class="btn-group hide-on-panel-disabled"> <a class="btn icon-folder-add" data-bind="click: createFolder" data-i18n="[title]POPUPS_CREATE_FOLDER/TITLE_CREATE_FOLDER"></a> <a class="btn fontastic" data-bind="click: configureFolders" data-i18n="[title]SETTINGS_LABELS/FOLDERS">⚙</a> </div> </div> </div> </template><template id="MailFolderListItem"><li> <a data-bind="dropmessages: $data, css: { 'selected': selected() && !isSystemFolder(), 'system': isSystemFolder, 'selectable': canBeSelected, 'unread-sub': hasUnreadInSub, 'anim-action-class': actionBlink }, attr: { 'data-unread': unreadCount, href: href }"> <i data-bind="css: collapsedCss()"></i> <!-- ko text: name --><!-- /ko --> </a> <!-- ko if: hasVisibleSubfolders --> <ul data-bind="template: { name: 'MailFolderListItem', foreach: visibleSubfolders }, css: { 'collapsed': collapsed() }"></ul> <!-- /ko --> </li> </template><template id="MailMessageList"><div class="btn-toolbar" data-bind="css: {'hasChecked':checkAll}"> <a class="btn btn-thin fontastic toggleLeft"></a> <a class="btn buttonCompose onCheckedHide" data-bind="click: composeClick, css: {'btn-warning': composeInEdit, 'btn-success': !composeInEdit()}" data-i18n="[title]FOLDER_LIST/BUTTON_NEW_MESSAGE"> <i class="icon-paper-plane"></i> </a> <a class="btn onCheckedHide" data-bind="click: reload" data-i18n="[title]MESSAGE_LIST/BUTTON_RELOAD"> <i class="icon-spinner not-animated"></i> </a> <a href="#" tabindex="-1" class="btn onCheckedShow" data-bind="command: moveCommand" data-i18n="[title]GLOBAL/MOVE_TO"> <i class="icon-copy visible-on-ctrl-btn"></i> <i class="fontastic hidden-on-ctrl-btn">📁</i> </a> <div class="btn-group onCheckedShow"> <a class="btn fontastic" data-bind="visible: archiveAllowed, command: archiveCommand" data-i18n="[title]GLOBAL/TO_ARCHIVE">🗄</a> <a class="btn fontastic" data-bind="visible: canMarkAsSpam, command: spamCommand" data-i18n="[title]GLOBAL/TO_SPAM">⚠</a> <a class="btn" data-bind="visible: isSpamFolder, command: notSpamCommand" data-i18n="[title]GLOBAL/NOT_SPAM"> <i class="icon-check-mark-circle-two"></i> </a> <a class="btn fontastic" data-bind="command: deleteCommand" data-i18n="[title]GLOBAL/DELETE">🗑</a> <!-- <a class="btn fontastic" data-bind="command: undeleteCommand, hidden: hideDeleted" data-i18n="[title]GLOBAL/UNDELETE" style="transform:rotate(-180deg)">🗑</a> --> </div> <div class="btn-group dropdown" data-bind="registerBootstrapDropdown: true"> <a id="more-list-dropdown-id" class="btn dropdown-toggle fontastic" href="#" tabindex="-1" data-i18n="[title]GLOBAL/MORE">☰</a> <menu class="dropdown-menu" role="menu" aria-labelledby="more-list-dropdown-id"> <li role="presentation" data-bind="click: listUnsetSeen, css: {'disabled': !messageList.hasCheckedOrSelected()}"> <a href="#" tabindex="-1" data-icon="" data-i18n="MESSAGE_LIST/MENU_UNSET_SEEN"></a> </li> <li role="presentation" data-bind="click: listSetSeen, css: {'disabled': !messageList.hasCheckedOrSelected()}"> <a href="#" tabindex="-1" data-icon="" data-i18n="MESSAGE_LIST/MENU_SET_SEEN"></a> </li> <li role="presentation" data-bind="click: listSetFlags, css: {'disabled': !messageList.hasCheckedOrSelected()}"> <a href="#" tabindex="-1" data-icon="★" data-i18n="MESSAGE_LIST/MENU_SET_FLAG"></a> </li> <li role="presentation" data-bind="click: listUnsetFlags, css: {'disabled': !messageList.hasCheckedOrSelected()}"> <a href="#" tabindex="-1" data-icon="☆" data-i18n="MESSAGE_LIST/MENU_UNSET_FLAG"></a> </li> <li role="presentation" data-bind="click: listSetAllSeen, css: {'disabled': !messageList().length}"> <a href="#" tabindex="-1" data-icon="" data-i18n="MESSAGE_LIST/MENU_SET_ALL_SEEN"></a> </li> <li class="dividerbar" role="presentation" data-bind="command: forwardCommand"> <a href="#" tabindex="-1" data-icon="↞" data-i18n="MESSAGE_LIST/BUTTON_MULTY_FORWARD"></a> </li> <li role="presentation" data-bind="command: downloadAttachCommand, visible: downloadAsZipAllowed"> <a href="#" tabindex="-1" data-icon="📦" data-i18n="MESSAGE_LIST/DOWNLOAD_ALL_ATTACHMENTS"></a> </li> <li role="presentation" data-bind="command: downloadZipCommand, visible: downloadAsZipAllowed"> <a href="#" tabindex="-1" data-icon="💾" data-i18n="MESSAGE/LINK_DOWNLOAD_AS_ZIP"></a> </li> <li class="dividerbar" role="presentation" data-bind="command: moveCommand"> <a href="#" tabindex="-1" data-icon="📁" data-i18n="GLOBAL/MOVE_TO"></a> </li> <li class="presentation" role="presentation" data-bind="command: copyCommand"> <a href="#" tabindex="-1" data-icon="" data-i18n="GLOBAL/COPY_TO"></a> </li> <li role="presentation" data-bind="visible: archiveAllowed, command: archiveCommand"> <a href="#" tabindex="-1" data-icon="🗄" data-i18n="GLOBAL/TO_ARCHIVE">🗄</a> </li> <li role="presentation" data-bind="visible: canMarkAsSpam, command: spamCommand"> <a href="#" tabindex="-1" data-icon="⚠" data-i18n="GLOBAL/SPAM"></a> </li> <li role="presentation" data-bind="visible: isSpamFolder, command: notSpamCommand"> <a href="#" tabindex="-1" data-icon="" data-i18n="GLOBAL/NOT_SPAM"></a> </li> <li role="presentation" data-bind="command: deleteCommand"> <a href="#" tabindex="-1" data-icon="🗑" data-i18n="GLOBAL/DELETE"></a> </li> <li role="presentation" data-bind="command: undeleteCommand, hidden: hideDeleted"> <a href="#" tabindex="-1" data-icon="🗑" data-i18n="GLOBAL/UNDELETE" class="rotate"></a> </li> <li role="presentation" data-bind="visible: allowDangerousActions, command: deleteWithoutMoveCommand"> <a href="#" tabindex="-1" data-icon="🗑" data-i18n="MESSAGE_LIST/BUTTON_DELETE_WITHOUT_MOVE"></a> </li> <li role="presentation" data-bind="visible: allowDangerousActions, click: clear"> <a href="#" tabindex="-1" data-icon="🔥" data-i18n="MESSAGE_LIST/BUTTON_EMPTY_FOLDER"></a> </li> </menu> </div> <div class="btn-group dropdown onCheckedHide" data-bind="visible: !sortSupported()"> <div id="no-sort-list" class="btn fontastic" data-i18n="[title]MESSAGE_LIST/NO_SORT">✖⬇</div> </div> <div class="btn-group dropdown onCheckedHide" data-bind="visible: sortSupported(), registerBootstrapDropdown: true"> <a id="sort-list-dropdown-id" class="btn dropdown-toggle fontastic" href="#" tabindex="-1" data-i18n="[title]MESSAGE_LIST/SORT" data-bind="text: sortText">⬇</a> <menu class="dropdown-menu" role="menu" aria-labelledby="sort-list-dropdown-id"> <li role="presentation" data-sort="" data-bind="click: changeSort"> <a href="#" tabindex="-1" data-icon="📅⬇" data-i18n="MESSAGE_LIST/SORT_DATE_DESC"></a> </li> <li role="presentation" data-sort="DATE" data-bind="click: changeSort"> <a href="#" tabindex="-1" data-icon="📅⬆" data-i18n="MESSAGE_LIST/SORT_DATE_ASC"></a> </li> <li class="dividerbar" role="presentation" data-sort="FROM" data-bind="click: changeSort"> <a href="#" tabindex="-1" data-icon="@⬇" data-i18n="MESSAGE_LIST/SORT_FROM_ASC"></a> </li> <li role="presentation" data-sort="REVERSE FROM" data-bind="click: changeSort"> <a href="#" tabindex="-1" data-icon="@⬆" data-i18n="MESSAGE_LIST/SORT_FROM_DESC"></a> </li> <li class="dividerbar" role="presentation" data-sort="REVERSE SIZE" data-bind="click: changeSort"> <a href="#" tabindex="-1" data-icon="✉⬇" data-i18n="MESSAGE_LIST/SORT_SIZE_DESC"></a> </li> <li role="presentation" data-sort="SIZE" data-bind="click: changeSort"> <a href="#" tabindex="-1" data-icon="✉⬆" data-i18n="MESSAGE_LIST/SORT_SIZE_ASC"></a> </li> <li class="dividerbar" role="presentation" data-sort="SUBJECT" data-bind="click: changeSort"> <a href="#" tabindex="-1" data-icon="𝐒⬇" data-i18n="MESSAGE_LIST/SORT_SUBJECT_ASC"></a> </li> <li role="presentation" data-sort="REVERSE SUBJECT" data-bind="click: changeSort"> <a href="#" tabindex="-1" data-icon="𝐒⬆" data-i18n="MESSAGE_LIST/SORT_SUBJECT_DESC"></a> </li> </menu> </div> </div> <div class="messageList g-ui-user-select-none" data-bind="css: {'hideMessageListCheckbox': !useCheckboxesInList() }"> <div class="second-toolbar thm-message-list-top-toolbar"> <i class="checkboxCheckAll fontastic" data-bind="text: checkAll() ? (isIncompleteChecked() ? '▣' : '☑') : '☐'"></i> <div class="search-input-wrp"> <input type="search" class="inputSearch" tabindex="-1" placeholder="Search" autocorrect="off" autocapitalize="off" data-i18n="[placeholder]GLOBAL/SEARCH" data-bind="textInput: inputSearch, hasfocus: focusSearch"> <a class="closeSearch" data-bind="click: cancelSearch, visible: messageListSearchDesc()">×</a> </div> <a class="btn buttonMoreSearch" data-bind="click: advancedSearchClick">▼</a> </div> <div class="b-content"> <div class="listThreadUidDesc" data-bind="visible: messageList.threadUid(), click: cancelThreadUid" data-icon="⬅" data-i18n="MESSAGE_LIST/BACK_TO_MESSAGE_LIST"></div> <div class="listSearchDesc" data-bind="visible: messageListSearchDesc(), text: messageListSearchDesc"></div> <div class="listDragOver" data-bind="css: {'viewAppendArea': dragOver() && !messageList.error() && !popupVisibility(), 'dragOverEnter': dragOverEnter }" data-icon="⬇" data-i18n="MESSAGE_LIST/PUT_MESSAGE_HERE"></div> <div class="listClear" data-bind="visible: clearListIsVisible()"> <a href="#" class="g-ui-link" data-i18n="MESSAGE_LIST/BUTTON_EMPTY_FOLDER" data-bind="click: clear"></a> </div> <div class="listError error" data-bind="visible: !dragOver() && messageList.error(), text: messageList.error"></div> <div class="listEmptyMessage" data-bind="visible: listEmptyMessage(), text: listEmptyMessage()"></div> <div class="listLoading" data-bind="visible: !dragOver() && !messageList().length && messageList.isLoading() && !messageList.error()"> <i class="icon-spinner"></i> <span data-i18n="GLOBAL/LOADING"></span> </div> <!-- ko if: listGrouped --> <div class="messageListPlace" data-bind="dragmessages: 1, i18nUpdate: groupedList, foreach: groupedList" draggable="true"> <div class="groupLabel" data-bind="text: label, click: $root.groupSearch" data-i18n="[title]GLOBAL/SEARCH"></div> <!-- ko foreach: messages --> <div class="messageListItem" data-bind="css: lineAsCss(), attr: {title: preview}"> <div class="messageCheckbox"> <div class="checkboxMessage fontastic" data-bind="text: checked() ? '☑' : '☐'"></div> </div><div> <div class="flagParent fontastic"></div> <div class="senderParent" data-bind="attr: {title: senderClearEmailsString}, text: senderEmailsString"></div> <div class="subjectParent" data-bind="text: subject"></div> <div class="threads-len" data-bind="visible: 1 < threadsLen(), text: threadsLenText(), attr: {'data-unseen': threadUnseenLen() || null}"></div> <div class="attachmentParent"> <i data-bind="css: attachmentIconClass"></i> </div> <div class="sizeParent" data-bind="text: friendlySize()"></div> <time data-bind="attr:{'data-time-format':$root.timeFormat()}, time: dateTimestamp"></time> </div> </div> <!-- /ko --> </div> <!-- /ko --> <!-- ko ifnot: listGrouped --> <div class="messageListPlace" data-bind="dragmessages: 1, foreach: messageList" draggable="true"> <div class="messageListItem" data-bind="css: lineAsCss(), attr:{title:preview}"> <div class="messageCheckbox"> <div class="checkboxMessage fontastic" data-bind="text: checked() ? '☑' : '☐'"></div> </div><div data-bind="attr:{style:indent()}, css:{reply:indent()}"> <div class="flagParent fontastic"></div> <div class="senderParent" data-bind="attr: {title: senderClearEmailsString}, text: senderEmailsString"></div> <div class="subjectParent" data-bind="text: subject"></div> <div class="threads-len" data-bind="visible: 1 < threadsLen(), text: threadsLenText(), attr: {'data-unseen': threadUnseenLen() || null}"></div> <div class="attachmentParent"> <i data-bind="css: attachmentIconClass"></i> </div> <div class="sizeParent" data-bind="text: friendlySize()"></div> <time data-time-format="AUTO" data-bind="time: dateTimestamp"></time> </div> </div> </div> <!-- /ko --> <div id="messagesDragImage"><span class="text"></span> <span class="fontastic">✉</span></div> </div> <div class="b-footer thm-message-list-bottom-toolbar"> <!-- ko if: userUsageProc() --> <span data-bind="attr: { title: quotaTooltip() }" class="e-quota"> <!-- ko text: userUsageProc --><!-- /ko -->% </span> <!-- /ko --> <!-- ko template: { name: 'Paginator', data: messageListPaginator } --><!-- /ko --> </div> </div> </template><template id="MailMessageView"><div class="top-toolbar g-ui-user-select-none btn-toolbar"> <div class="btn-group" data-i18n="[title]GLOBAL/CLOSE"> <a class="btn buttonClose fontastic" data-bind="click: closeMessage">✖</a> </div> <div class="btn-group" data-bind="visible: isDraftFolder()" data-i18n="[title]MESSAGE/BUTTON_EDIT"> <a class="btn btn-success buttonEdit fontastic" data-bind="command: editCommand">🖉</a> </div> <div class="btn-group"> <a class="btn fontastic" data-bind="visible: archiveAllowed, command: archiveCommand" data-i18n="[title]GLOBAL/TO_ARCHIVE">🗄</a> <a class="btn fontastic" data-bind="visible: canMarkAsSpam , command: spamCommand" data-i18n="[title]GLOBAL/TO_SPAM">⚠</a> <a class="btn" data-bind="visible: isSpamFolder, command: notSpamCommand" data-i18n="[title]GLOBAL/NOT_SPAM"> <i class="icon-check-mark-circle-two"></i> </a> <a class="btn fontastic" data-bind="visible: !canBeUndeleted(), command: deleteCommand" data-i18n="[title]GLOBAL/DELETE">🗑</a> <a class="btn fontastic" data-bind="visible: canBeUndeleted, command: undeleteCommand" data-i18n="[title]GLOBAL/UNDELETE"><div class="btn-rotate">🗑</div></a> </div> <div class="btn-group"> <a class="btn btn-thin buttonUp fontastic" data-bind="command: goUpCommand">❮</a> <a class="btn btn-thin buttonDown fontastic" data-bind="command: goDownCommand">❯</a> </div> </div> <div class="messageView"> <div class="b-message-view-backdrop" data-bind="visible: moveAction"> <div class="backdrop-message" data-icon="📁" data-i18n="MESSAGE/MESSAGE_VIEW_MOVE_DESC"></div> </div> <div class="b-message-view-checked-helper" data-bind="visible: !message() && '' === messageError() && hasCheckedMessages(), text: printableCheckedMessageCount()"></div> <div class="b-message-view-desc error" data-bind="visible: !message() && '' !== messageError() && !hasCheckedMessages(), text: messageError()"> </div> <div class="b-message-view-desc" data-i18n="MESSAGE/MESSAGE_VIEW_DESC" data-bind="visible: !message() && '' === messageError() && !hasCheckedMessages()"> </div> <div class="b-message" data-bind="visible: message, i18nUpdate: message, css: message()?.lineAsCss(0)"> <div class="message-fixed-button-toolbar"> <a class="btn btn-success buttonEdit fontastic hide-mobile" data-bind="visible: isDraftFolder(), command: editCommand">🖉</a> <div class="btn-group" style="margin-right: -8px; display: inline;"> <span data-bind="visible: canBeRepliedOrForwarded"> <a class="btn btn-thin btn-transparent buttonReply fontastic" data-bind="visible: 1 == msgDefaultAction(), command: replyCommand" data-i18n="[title]MESSAGE/BUTTON_REPLY">←</a> <a class="btn btn-thin btn-transparent buttonReplyAll fontastic" data-bind="visible: 2 == msgDefaultAction(), command: replyAllCommand" data-i18n="[title]MESSAGE/BUTTON_REPLY_ALL">↞</a> </span> <div class="btn-group" data-bind="registerBootstrapDropdown: true, initDom: actionsMenu" style="display: inline-block"> <a class="btn btn-thin btn-transparent dropdown-toggle fontastic" id="more-view-dropdown-id" href="#" tabindex="-1">☰</a> <menu class="dropdown-menu right-edge" role="menu" aria-labelledby="more-view-dropdown-id"> <div data-bind="visible: !isDraftFolder()"> <li role="presentation"> <a href="#" tabindex="-1" data-bind="command: replyCommand" data-icon="←" data-i18n="MESSAGE/BUTTON_REPLY"></a> </li> <li role="presentation"> <a href="#" tabindex="-1" data-bind="command: replyAllCommand" data-icon="↞" data-i18n="MESSAGE/BUTTON_REPLY_ALL"></a> </li> <li role="presentation"> <a href="#" tabindex="-1" data-bind="command: forwardCommand" data-icon="→" data-i18n="MESSAGE/BUTTON_FORWARD"></a> </li> <li role="presentation"> <a href="#" tabindex="-1" data-bind="command: forwardAsAttachmentCommand" data-icon="⥅" data-i18n="MESSAGE/BUTTON_FORWARD_AS_ATTACHMENT"></a> </li> <li role="presentation"> <a href="#" tabindex="-1" data-bind="command: editAsNewCommand" data-icon="🖉" data-i18n="MESSAGE/BUTTON_EDIT_AS_NEW"></a> </li> </div> <div class="dividerbar"> <li role="presentation"> <a href="#" tabindex="-1" data-bind="click: setUnseen" data-icon=" " data-i18n="MESSAGE_LIST/MENU_UNSET_SEEN"></a> </li> <li role="presentation" data-bind="visible: archiveAllowed"> <a href="#" tabindex="-1" data-bind="command: archiveCommand" data-icon="🗄" data-i18n="GLOBAL/TO_ARCHIVE"></a> </li> <li role="presentation" data-bind="visible: canMarkAsSpam"> <a href="#" tabindex="-1" data-bind="command: spamCommand" data-icon="⚠" data-i18n="GLOBAL/TO_SPAM"></a> </li> <li role="presentation" data-bind="visible: isSpamFolder"> <a href="#" tabindex="-1" data-bind="command: notSpamCommand"> <i class="icon-check-mark-circle-two"></i> <span data-i18n="GLOBAL/NOT_SPAM"></span> </a> </li> <li role="presentation"> <a href="#" tabindex="-1" data-bind="command: moveCommand" data-icon="📁" data-i18n="GLOBAL/MOVE_TO"></a> </li> <li role="presentation"> <a href="#" tabindex="-1" data-bind="command: copyCommand" data-icon="" data-i18n="GLOBAL/COPY_TO"></a> </li> <li role="presentation" data-bind="visible: !canBeUndeleted()"> <a href="#" tabindex="-1" data-bind="command: deleteCommand" data-icon="🗑" data-i18n="GLOBAL/DELETE"></a> </li> <li role="presentation" data-bind="visible: canBeUndeleted"> <a href="#" tabindex="-1" data-bind="command: undeleteCommand" data-icon="🗑" data-i18n="GLOBAL/UNDELETE" class="rotate"></a> </li> <li role="presentation"> <a href="#" tabindex="-1" data-bind="command: deleteWithoutMoveCommand" data-icon="🗑" data-i18n="MESSAGE_LIST/BUTTON_DELETE_WITHOUT_MOVE"></a> </li> <li class="dividerbar" role="presentation" data-bind="visible: firstUnsubsribeLink"> <a target="_blank" href="#" tabindex="-1" data-bind="attr: { href: firstUnsubsribeLink }" data-icon="✖" data-i18n="MESSAGE/BUTTON_UNSUBSCRIBE"></a> </li> </div> <div data-bind="with: message" class="dividerbar"> <li role="presentation"> <a href="#" tabindex="-1" data-bind="click: printMessage" data-icon="🖨" data-i18n="MESSAGE/MENU_PRINT"></a> </li> <li role="presentation"> <a href="#" tabindex="-1" data-bind="click: $root.toggleFullScreen"> <i data-bind="css: { 'icon-arrows-out': !$root.fullScreenMode(), 'icon-arrows-in': $root.fullScreenMode }"></i> <span data-i18n="SHORTCUTS_HELP/LABEL_FULLSCREEN_TOGGLE"></span> </a> </li> <li role="presentation"> <a href="#" tabindex="-1" data-bind="click: popupMessage" data-icon="⧉" data-i18n="MESSAGE/BUTTON_IN_NEW_WINDOW"></a> </li> <li role="presentation" data-bind="visible: html() && !isHtml()"> <a href="#" tabindex="-1" data-bind="click: viewHtml" data-icon="👁" data-i18n="MESSAGE/HTML_VIEW"></a> </li> <li role="presentation" data-bind="visible: isHtml()"> <a href="#" tabindex="-1" data-bind="click: viewPlain" data-icon="👁" data-i18n="MESSAGE/PLAIN_VIEW"></a> </li> <li role="presentation"> <a href="#" tabindex="-1" data-bind="click: swapColors" data-icon="🎨" data-i18n="MESSAGE/SWAP_COLORS"></a> </li> <li class="dividerbar" role="presentation"> <a target="_blank" href="#" tabindex="-1" data-bind="attr: { href: viewRaw() }"> <i class="icon-file-code"></i> <span data-i18n="MESSAGE/MENU_VIEW_ORIGINAL"></span> </a> </li> <li role="presentation"> <a target="_blank" href="#" tabindex="-1" data-bind="attr: { href: downloadLink() }" data-icon="📥" data-i18n="MESSAGE/MENU_DOWNLOAD_ORIGINAL"></a> </li> </div> </menu> </div> </div> </div> <div class="messageItemHeader" data-bind="if: message, i18nUpdate: message"> <div class="subjectParent"> <span class="infoParent g-ui-user-select-none fontastic" data-bind="click: toggleFullInfo">ℹ</span> <span class="flagParent g-ui-user-select-none flagOff fontastic" data-bind="text: message().isFlagged() ? '★' : '☆', css: {flagOn: message().isFlagged(), flagOff: !message().isFlagged()}"></span> <span class="subject" data-bind="text: message().subject"></span> <a href="#" class="close" data-bind="click: closeMessage" style="margin-top: -8px;">×</a> </div> <div class="informationShort"> <span class="from" data-bind="html: viewFromShort, attr:{ title: message().from }"></span> <i class="fontastic" data-bind="text: dkimIcon, css: dkimIconClass, attr:{ title: dkimTitle }"></i> </div> </div> <div id="messageItem"> <div class="messageItemHeader" data-bind="if: message, i18nUpdate: message"> <div data-bind="hidden: showFullInfo"> <time class="date" data-time-format="FULL" data-bind="visible: 0 < message().dateTimestamp(), time: message().dateTimestamp()"></time> <div class="informationShortWrp"> <div class="informationShort" data-bind="visible: message().to.length"> <span data-i18n="GLOBAL/TO"></span>: <span data-bind="text: message().to"></span> </div> <div class="informationShort" data-bind="visible: message().cc.length"> <span data-i18n="GLOBAL/CC"></span>: <span data-bind="text: message().cc"></span> </div> </div> <div class="informationShort" data-bind="visible: message().spamResult"> <span data-i18n="MESSAGE/SPAM_SCORE"></span>: <meter min="0" max="100" optimum="0" low="33" high="66" data-bind="value: message().spamScore, attr:{ title: message().spamStatus() }"></meter> </div> </div> <div class="informationFull" data-bind="visible: showFullInfo, with: message"> <table> <tbody><tr data-bind="visible: from.length"> <td data-i18n="GLOBAL/FROM"></td> <td data-bind="text: from"></td> </tr> <tr data-bind="visible: to.length"> <td data-i18n="GLOBAL/TO"></td> <td data-bind="text: to"></td> </tr> <tr data-bind="visible: cc.length"> <td data-i18n="GLOBAL/CC"></td> <td data-bind="text: cc"></td> </tr> <tr data-bind="visible: bcc.length"> <td data-i18n="GLOBAL/BCC"></td> <td data-bind="text: bcc"></td> </tr> <tr data-bind="visible: replyTo.length"> <td data-i18n="GLOBAL/REPLY_TO"></td> <td data-bind="text: replyTo"></td> </tr> <tr data-bind="visible: dateTimestamp"> <td data-i18n="MESSAGE/LABEL_DATE"></td> <td> <time data-time-format="FULL" data-bind="time: dateTimestamp"></time> (<time data-time-format="FROMNOW" data-bind="time: dateTimestamp"></time>) </td> </tr> <tr data-bind="visible: spamResult"> <td data-i18n="GLOBAL/SPAM"></td> <td data-bind="text: spamStatus()"></td> </tr> <tr data-bind="visible: friendlySize()"> <td data-i18n="POPUPS_FILTER/SELECT_FIELD_SIZE"></td> <td class="size" data-bind="text: friendlySize()"></td> </tr> </tbody></table> </div> <div class="hasVirus" data-bind="visible: message().hasVirus" data-i18n="MESSAGE/HAS_VIRUS_WARNING"></div> <!-- ko if: tagsAllowed --> <div class="messageTags"> <span data-i18n="MESSAGE/TAGS"></span>: <span class="messageAssignedTags" data-bind="html: tagsToHTML"></span> <div class="btn-group" data-bind="registerBootstrapDropdown: true" style="display: inline-block"> <a class="btn btn-thin btn-transparent dropdown-toggle fontastic" id="tags-dropdown-id" href="#" tabindex="-1">🏷</a> <menu class="dropdown-menu right-edge" role="menu" aria-labelledby="tags-dropdown-id"> <div data-bind="foreach: message().tagOptions()"> <li role="presentation"> <a href="#" tabindex="-1" data-icon="☐" data-bind="click: toggle, text: label, attr:{ title: value, class: css, 'data-icon': checked ? '☑' : '☐' }"></a> </li> </div> <li role="presentation" class="dividerbar"> <a href="#" tabindex="-1" data-icon="✚" data-bind="click: newTag" data-i18n="MESSAGE/NEW_TAG"></a> </li> </menu> </div> </div> <!-- /ko --> </div> <div tabindex="0" data-bind="hasfocus: messageDomFocused"> <div class="loading" data-bind="visible: messageLoadingThrottle"> <i class="icon-spinner"></i> <span data-i18n="GLOBAL/LOADING"></span> </div> <div data-bind="hidden: messageLoadingThrottle"> <div class="bodySubHeader" data-bind="if: message, i18nUpdate: message"> <div class="readReceipt" data-bind="visible: askReadReceipt, click: readReceipt" data-icon="✉" data-i18n="MESSAGE/BUTTON_NOTIFY_READ_RECEIPT"></div> <details class="attachmentsPlace" data-bind="visible: hasAttachments, css: {'selection-mode' : showAttachmentControls}, attr: { open: hasAttachments }"> <summary data-i18n="MESSAGE/PRINT_LABEL_ATTACHMENTS"></summary> <!-- ko ifnot: simpleAttachmentsList --> <ul class="attachmentList" data-bind="foreach: listAttachments"> <li class="attachmentItem" draggable="true" data-bind="event: { dragstart: eventDragStart }, attr: { title: fileName }, css: {checked: checked}"> <div class="attachmentIcon" data-bind="css: { hasPreview: hasPreview(), hasPreplay: hasPreplay(), isImage: isImage() }, attr: { style: thumbnailStyle() }"> <i class="hidePreview iconMain" data-bind="css: iconClass()"></i> <div class="showPreview"> <a data-bind="css: {attachmentImagePreview: isImage()}, attr: { title: fileName, href: linkPreviewMain() }" target="_blank"> <i class="iconMain" data-bind="visible: !hasThumbnail(), css: iconClass()"></i> <div class="iconPreview fontastic">👁</div> </a> </div> </div> <div class="attachmentNameParent"> <div class="attachmentName" data-bind="text: fileName"></div> <div class="attachmentSize" data-bind="text: friendlySize()"></div> </div> <div class="checkboxAttachment fontastic" data-bind="visible: download, text: checked() ? '☑' : '☐', click: toggleChecked"></div> </li> </ul> <!-- /ko --> <!-- ko if: simpleAttachmentsList --> <ul class="attachmentListSimple" data-bind="foreach: listAttachments"> <li class="attachmentItem" data-bind="attr: { title: fileName }, css: {checked: checked}"> <span class="attachmentName" data-bind="text: fileName"></span> <i class="checkboxAttachment fontastic" data-bind="visible: download, text: checked() ? '☑' : '☐', click: toggleChecked"></i> </li> </ul> <!-- /ko --> <i class="fontastic controls-handle" data-bind="visible: allowAttachmentControls, click: toggleAttachmentControls">⚙</i> <div class="attachmentsControls" data-bind="visible: showAttachmentControls"> <span data-bind="visible: downloadAsZipAllowed"> <i class="fontastic iconcolor-red" data-bind="visible: downloadAsZipError">✖</i> <i class="icon-file-archive" data-bind="visible: !downloadAsZipError(), css: {'icon-file-archive': !downloadAsZipLoading(), 'icon-spinner': downloadAsZipLoading()}"></i> <span class="g-ui-link" data-bind="click: downloadAsZip" data-i18n="MESSAGE/LINK_DOWNLOAD_AS_ZIP"></span> </span> </div> </details> <div class="btn-toolbar showImages" data-bind="visible: message().hasImages()"> <div class="btn" data-bind="click: showImages" data-icon="🖼" data-i18n="MESSAGE/BUTTON_SHOW_IMAGES"></div> <div class="btn-group dropdown" data-bind="registerBootstrapDropdown: true, visible: showWhitelistOptions" style="display: inline-block"> <a class="btn dropdown-toggle" id="whitelist-dropdown-id" data-icon="🖼" href="#" tabindex="-1"><span data-i18n="SETTINGS_GENERAL/IMAGES_WHITELIST"></span> ▼</a> <menu class="dropdown-menu" role="menu" aria-labelledby="whitelist-dropdown-id"> <!-- ko foreach: message().whitelistOptions() --> <li role="presentation"> <a href="#" tabindex="-1" data-bind="click: $root.whitelistText, text: $data"></a> </li> <!-- /ko --> </menu> </div> </div> <div class="btn-toolbar" data-bind="visible: message().hasTracking()"> <div class="btn" data-bind="visible: !nowTracking(), click: showTracking" data-icon="🔗" data-i18n="MESSAGE/ENABLE_TRACKING_LINKS"></div> <div class="alert" data-bind="visible: nowTracking" data-i18n="MESSAGE/TRACKING_ENABLED" style="margin:0"></div> </div> <div data-bind="visible: message().pgpEncrypted()"> <div class="crypto-control encrypted" data-bind="css: {success: message().pgpDecrypted()}"> <span data-icon="🔒" data-i18n="OPENPGP/ENCRYPTED_MESSAGE"></span> <button class="btn" data-bind="visible: pgpSupported, click: pgpDecrypt" data-i18n="CRYPTO/DECRYPT"></button> <div class="alert-error" data-icon="⚠" data-bind="visible: message().pgpEncrypted()?.error, text: message().pgpEncrypted()?.error"></div> </div> </div> <div data-bind="visible: message().pgpSigned()"> <div class="crypto-control signed" data-bind="css: {success: true === message().pgpSigned()?.success, error: false === message().pgpSigned()?.success}"> <span data-icon="✍" data-i18n="OPENPGP/SIGNED_MESSAGE"></span> <button class="btn" data-bind="visible: pgpSupported, click: pgpVerify" data-i18n="CRYPTO/VERIFY"></button> <div data-icon="⚠" data-bind="visible: message().pgpSigned()?.error, text: message().pgpSigned()?.error"></div> </div> </div> <div data-bind="visible: message().smimeEncrypted()"> <div class="crypto-control encrypted" data-bind="css: {success: message().smimeDecrypted()}"> <span data-icon="🔒" data-i18n="SMIME/ENCRYPTED_MESSAGE"></span> <button class="btn" data-bind="click: smimeDecrypt" data-i18n="CRYPTO/DECRYPT"></button> <div class="alert-error" data-icon="⚠" data-bind="visible: message().smimeEncrypted()?.error, text: message().smimeEncrypted()?.error"></div> </div> </div> <div data-bind="visible: message().smimeSigned()"> <div class="crypto-control signed" data-bind="css: {success: true === message().smimeSigned()?.success, error: false === message().smimeSigned()?.success}"> <span data-icon="✍" data-i18n="SMIME/SIGNED_MESSAGE"></span> <button class="btn" data-bind="click: smimeVerify" data-i18n="CRYPTO/VERIFY"></button> </div> </div> </div> <div class="bodyText" dir="auto"></div> </div> </div> </div> </div> </div> </template><template id="PopupsAccount"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3 data-bind="visible: isNew" data-i18n="POPUPS_ADD_ACCOUNT/TITLE_ADD_ACCOUNT"></h3> <h3 data-bind="visible: !isNew()" data-i18n="POPUPS_ADD_ACCOUNT/TITLE_UPDATE_ACCOUNT"></h3> </header> <form id="accountform" class="modal-body form-horizontal" autocomplete="off" spellcheck="false" data-bind="submit: submitForm"> <div class="alert" data-bind="visible: '' !== submitError()"> <a href="#" class="close" data-bind="click: hideError">×</a> <span data-bind="text: submitError"></span> <div data-bind="visible: submitErrorAdditional, text: submitErrorAdditional"></div> </div> <div class="control-group"> <label data-i18n="GLOBAL/EMAIL"></label> <strong style="margin-top: 5px;" data-bind="visible: !isNew(), text: email"></strong> <input name="email" type="text" class="input-xlarge" autofocus="" autocorrect="off" autocapitalize="off" data-bind="visible: isNew, textInput: email, attr: {required: isNew}"> </div> <div class="control-group"> <label data-i18n="GLOBAL/PASSWORD"></label> <input name="password" type="password" class="input-xlarge" autocomplete="new-password" autocorrect="off" autocapitalize="off" data-bind="value: password, attr: {required:isNew}"> </div> <div class="control-group"> <label data-i18n="GLOBAL/NAME"></label> <input name="name" type="text" class="input-xlarge" data-bind="value: name"> </div> </form> <footer> <button form="accountform" class="btn buttonAddAccount"> <i data-bind="visible: isNew, css: {'icon-user-add': !submitRequest(), 'icon-spinner': submitRequest()}"></i> <span data-bind="visible: isNew" data-i18n="POPUPS_ADD_ACCOUNT/BUTTON_ADD_ACCOUNT"></span> <i data-bind="visible: !isNew(), css: {'icon-ok': !submitRequest(), 'icon-spinner': submitRequest()}"></i> <span data-bind="visible: !isNew()" data-i18n="GLOBAL/SAVE"></span> </button> </footer> </template><template id="PopupsAdvancedSearch"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3 data-i18n="SEARCH/TITLE_ADV"></h3> </header> <form id="advancedsearchform" class="modal-body form-horizontal" action="#/" autocomplete="off" spellcheck="false" data-bind="submit: submitForm"> <div> <div class="control-group"> <label data-i18n="GLOBAL/FROM"></label> <input type="text" autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="value: from"> </div> <div class="control-group"> <label data-i18n="GLOBAL/TO"></label> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="value: to"> </div> <div class="control-group"> <label data-i18n="GLOBAL/SUBJECT"></label> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="value: subject"> </div> <div class="control-group"> <label data-i18n="SEARCH/TEXT"></label> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="value: text"> </div> <!-- ko if: showKeywords --> <div class="control-group"> <label data-i18n="SEARCH/KEYWORD"></label> <div data-bind="component: { name: 'Select', params: { options: keywords, value: keyword, optionsText: 'label', optionsValue: 'value' } }"></div> </div> <!-- /ko --> </div> <div> <div class="control-group"> <label data-i18n="SEARCH/DATE"></label> <div data-bind="component: { name: 'Select', params: { options: selectedDates, value: selectedDateValue, optionsText: 'name', optionsValue: 'id' } }"></div> </div> <div class="control-group"> <label data-i18n="SEARCH/REPLIED"></label> <div data-bind="component: { name: 'Select', params: { options: repliedOptions, value: repliedValue, optionsText: 'name', optionsValue: 'id' } }"></div> </div> <!-- ko if: showMultisearch --> <div class="control-group"> <label data-i18n="SEARCH/SUBFOLDERS"></label> <div data-bind="component: { name: 'Select', params: { options: selectedTree, value: selectedTreeValue, optionsText: 'name', optionsValue: 'id' } }"></div> </div> <!-- /ko --> <div class="control-group"> <label></label> <div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SEARCH/UNSEEN', value: unseen } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SEARCH/FLAGGED', value: starred } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SEARCH/HAS_ATTACHMENT', value: hasAttachment } }"></div> </div> </div> </div> </form> <footer> <button form="advancedsearchform" class="btn buttonAdvSearch" data-icon="🔎" data-i18n="GLOBAL/SEARCH"></button> </footer> </template><template id="PopupsCompose"><header class="g-ui-user-select-none" data-bind="css: {loading: saving() || sending()}"> <a class="btn" data-bind="command: sendCommand, tooltipErrorTip: sendErrorDesc, css: {'btn-success': sendButtonSuccess, 'btn-danger': sendError, 'btn-warning': sendSuccessButSaveError }"> <i data-bind="css: {'icon-paper-plane': !sending(), 'icon-spinner': sending()}"></i> <span class="hide-mobile" data-i18n="COMPOSE/BUTTON_SEND"></span> </a> <a class="btn button-save" data-bind="command: saveCommand, tooltipErrorTip: savedErrorDesc, css: {'btn-danger': savedError }"> <i class="fontastic" data-bind="css: {'icon-spinner': saving()}">💾</i> <span class="hide-mobile" data-i18n="GLOBAL/SAVE"></span> </a> <a class="btn btn-danger button-delete fontastic" data-bind="command: deleteCommand">🗑</a> <span class="saved-text hide-mobile" data-bind="text: savedTimeText"></span> <div class="pull-right"> <a class="btn hide-mobile" data-i18n="GLOBAL/BCC" data-bind="visible: !showBcc(), toggle: showBcc"></a> <a class="btn hide-mobile" data-i18n="GLOBAL/CC" data-bind="visible: !showCc(), toggle: showCc"></a> <a class="btn fontastic" data-bind="visible: allowContacts, command: contactsCommand" data-i18n="[title]GLOBAL/CONTACTS">📇</a> <div class="btn-group dropdown" data-bind="registerBootstrapDropdown: true" style="display:inline-block;vertical-align:top"> <a class="btn dropdown-toggle fontastic">☰</a> <menu class="dropdown-menu right-edge" role="menu"> <li data-bind="toggle: showBcc"> <a> <i class="fontastic" data-bind="text: showBcc() ? '☑' : '☐'"></i> <span data-i18n="GLOBAL/BCC"></span> </a> </li> <li data-bind="toggle: showCc"> <a> <i class="fontastic" data-bind="text: showCc() ? '☑' : '☐'"></i> <span data-i18n="GLOBAL/CC"></span> </a> </li> <li data-bind="toggle: showReplyTo"> <a> <i class="fontastic" data-bind="text: showReplyTo() ? '☑' : '☐'"></i> <span data-i18n="GLOBAL/REPLY_TO"></span> </a> </li> <li data-bind="toggle: requestReadReceipt"> <a> <i class="fontastic" data-bind="text: requestReadReceipt() ? '☑' : '☐'"></i> <span data-i18n="COMPOSE/BUTTON_REQUEST_READ_RECEIPT"></span> </a> </li> <li data-bind="toggle: requestDsn"> <a> <i class="fontastic" data-bind="text: requestDsn() ? '☑' : '☐'"></i> <span data-i18n="COMPOSE/BUTTON_REQUEST_DSN"></span> </a> </li> <li data-bind="toggle: requireTLS"> <a> <i class="fontastic" data-bind="text: requireTLS() ? '☑' : '☐'"></i> <span data-i18n="COMPOSE/BUTTON_REQUIRE_TLS"></span> </a> </li> <li data-bind="toggle: markAsImportant"> <a> <i class="fontastic" data-bind="text: markAsImportant() ? '☑' : '☐'"></i> <span data-i18n="COMPOSE/BUTTON_MARK_AS_IMPORTANT"></span> </a> </li> <li data-bind="toggle: doSign, visible: canSign"> <a data-bind="attr:{title: signOptionsText}"> <i class="fontastic" data-bind="text: doSign() ? '☑' : '☐'"></i> <span data-icon="✍" data-i18n="CRYPTO/SIGN"></span> </a> </li> <li data-bind="toggle: doEncrypt, visible: canEncrypt"> <a data-bind="attr:{title: encryptOptionsText}"> <i class="fontastic" data-bind="text: doEncrypt() || 'mailvelope' == viewArea() ? '☑' : '☐'"></i> <span data-icon="🔒" data-i18n="CRYPTO/ENCRYPT"></span> </a> </li> </menu> </div> <a class="minimize-custom" data-bind="click: skipCommand" data-i18n="[title]COMPOSE/BUTTON_MINIMIZE"></a> <a class="close" data-bind="click: doClose" data-i18n="[title]GLOBAL/CANCEL">×</a> </div> </header> <div class="modal-body"> <div class="b-header g-ui-user-select-none"> <table> <tbody><tr> <td data-i18n="GLOBAL/FROM"></td> <td> <!-- ko if: allowIdentities --> <input type="text" data-bind="textInput: from" style="width:calc(100% - 2em)"> <!-- /ko --> <span class="e-identity" data-bind="hidden: allowIdentities, text: from"></span> <!-- ko if: 1 < identitiesOptions().length --> <div class="dropdown" style="display:inline-block" data-bind="registerBootstrapDropdown: true, initDom: identitiesMenu"> <a class="dropdown-toggle" href="#" tabindex="-1" id="identity-toggle" role="button"></a> <menu class="dropdown-menu right-edge" role="menu" aria-labelledby="identity-toggle" data-bind="foreach: identitiesOptions"> <li role="presentation"> <a tabindex="-1" href="#" data-bind="click: function (oIdentity) { $root.selectIdentity(oIdentity); return true; }, text: optText"></a> </li> </menu> </div> <!-- /ko --> </td> </tr> <tr> <td> <label data-bind="css: {'error-to': emptyToError}, tooltipErrorTip: emptyToErrorTooltip" data-i18n="GLOBAL/TO"></label> </td> <td> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" data-bind="emailsTags: to, autoCompleteSource: emailsSource"> </td> </tr> <tr class="cc-row" data-bind="visible: showCc"> <td data-i18n="GLOBAL/CC"></td> <td> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" data-bind="emailsTags: cc, autoCompleteSource: emailsSource"> </td> </tr> <tr class="bcc-row" data-bind="visible: showBcc"> <td data-i18n="GLOBAL/BCC"></td> <td> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" data-bind="emailsTags: bcc, autoCompleteSource: emailsSource"> </td> </tr> <tr class="reply-to-row" data-bind="visible: showReplyTo"> <td data-i18n="GLOBAL/REPLY_TO"></td> <td> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" data-bind="emailsTags: replyTo"> </td> </tr> <tr> <td data-i18n="GLOBAL/SUBJECT"></td> <td> <input type="text" name="subject" autocomplete="off" data-bind="textInput: subject, attr:{spellcheck:allowSpellcheck()?'true':'false'}"> </td> </tr> </tbody></table> <div style="display:flex"> <div class="btn-group" style="flex-grow:1"></div> <div class="btn-group"> <a class="btn fontastic" data-bind="toggle: doSign, visible: canSign, css: {'btn-success': doSign()}" data-i18n="[title]CRYPTO/SIGN"> ✍ </a> <a class="btn fontastic" data-bind="toggle: doEncrypt, visible: canEncrypt, css: {'btn-success': doEncrypt() || 'mailvelope' == viewArea()}" data-i18n="[title]CRYPTO/ENCRYPT"> 🔒 </a> </div> <div class="btn-group"> <a class="btn fontastic" style="padding-left: 10px; padding-right: 10px;" id="composeUploadButton" data-bind="visible: addAttachmentEnabled()" data-i18n="[title]COMPOSE/ATTACH_FILES"> ⁺📎 </a> </div> </div> </div> <div class="tabs"> <input type="radio" name="tabs" value="body" id="tab-body" data-bind="checked: viewArea"> <label for="tab-body" role="tab" aria-selected="true" aria-controls="panel1" tabindex="0"> <i class="icon-file-text"></i> <span data-i18n="GLOBAL/TEXT"></span> </label> <div class="tab-content" role="tabpanel" aria-hidden="false" style="grid-column-end:4"> <div class="textAreaParent" data-bind="initDom: editorArea, attr:{spellcheck:allowSpellcheck()?'true':'false'}"></div> </div> <input type="radio" name="tabs" value="attachments" id="tab-attachments" data-bind="checked: viewArea"> <label for="tab-attachments" role="tab" aria-selected="false" aria-controls="panel2" tabindex="0" data-bind=" css: { 'btn-danger': attachmentsInErrorCount() }, tooltipErrorTip: attachmentsErrorTooltip"> <b data-bind="visible: attachmentsCount, text: attachmentsCount"></b> <i data-bind="css: { 'icon-attachment': !attachmentsInProcessCount(), 'icon-spinner': attachmentsInProcessCount()}"></i> <span data-i18n="GLOBAL/ATTACHMENTS"></span> </label> <div class="tab-content attachmentAreaParent" role="tabpanel" aria-hidden="true" style="grid-column-end:4"> <div class="b-attachment-place" data-bind="visible: addAttachmentEnabled() && dragAndDropVisible(), css: {dragAndDropOver: dragAndDropOver}" data-i18n="COMPOSE/ATTACH_DROP_FILES_DESC"></div> <ul class="attachmentList" data-bind="foreach: attachments"> <li class="attachmentItem" data-bind="attr: { title: title }, css: { waiting: waiting, error: '' !== error() }"> <div class="attachmentIcon"> <i class="iconMain" data-bind="css: iconClass, visible: !uploading() || 0 === progress()"></i> <div class="iconProgress" data-bind="attr: { style: progressStyle }, visible: uploading"></div> <div class="iconBG" data-bind="text: progressText, visible: uploading"></div> </div> <div class="attachmentNameParent"> <a href="#" class="close pull-right" style="margin-top:-4px;" data-bind="click: cancel">×</a> <div class="attachmentName" data-bind="text: fileName"></div> <span class="attachmentSize" data-bind="text: friendlySize"></span> </div> </li> </ul> <div class="no-attachments-desc" data-bind="visible: 0 === attachments().length" data-i18n="COMPOSE/NO_ATTACHMENTS_HERE_DESC"></div> </div> <input type="radio" name="tabs" value="mailvelope" id="tab-mailvelope" data-bind="checked: viewArea"> <label for="tab-mailvelope" role="tab" aria-selected="false" aria-controls="panel3" tabindex="0" data-bind="visible: canMailvelope"> <i class="mailvelope-icon"></i> <span>Mailvelope</span> </label> <div class="tab-content textAreaParent" id="mailvelope-editor" role="tabpanel" aria-hidden="true" style="grid-column-end:4" data-bind="visible: canMailvelope"></div> </div> </div> </template><template id="PopupsContacts"><header class="b-header-toolbar g-ui-user-select-none"> <a href="#" class="close" data-bind="click: tryToClose">×</a> <div class="btn-toolbar"> <a class="btn" data-bind="click: newContact" data-icon="✚" data-i18n="CONTACTS/BUTTON_ADD_CONTACT"></a> <a class="btn btn-success fontastic" data-bind="command: newMessageCommand">✉</a> <a class="btn fontastic" data-bind="command: deleteCommand">🗑</a> <div class="btn-group dropdown" data-bind="registerBootstrapDropdown: true, visible: !contacts.importing() && !contacts.syncing()"> <a id="contacts-more-dropdown-id" class="btn dropdown-toggle fontastic" href="#">☰</a> <menu class="dropdown-menu right-edge" role="menu" aria-labelledby="contacts-more-dropdown-id"> <li role="presentation"> <a href="#" data-bind="initDom: importButton"> <i data-bind="css: {'icon-import': !contacts.importing(), 'icon-spinner': contacts.importing}"></i> <span data-i18n="CONTACTS/BUTTON_IMPORT"></span> </a> </li> <li class="dividerbar" role="presentation"> <a href="#" data-bind="click: exportCsv"> <i class="icon-export"></i> <span data-i18n="CONTACTS/BUTTON_EXPORT_CSV"></span> </a> </li> <li role="presentation"> <a href="#" data-bind="click: exportVcf"> <i class="icon-export"></i> <span data-i18n="CONTACTS/BUTTON_EXPORT_VCARD"></span> </a> </li> <li class="dividerbar" role="presentation" data-bind="visible: contactsSyncEnabled"> <a href="#" data-bind="command: syncCommand"> <i class="fontastic" data-bind="css: {'icon-spinner': contacts.syncing}">⇆</i> <span data-i18n="CONTACTS/BUTTON_SYNC"></span> </a> </li> </menu> </div> <span data-bind="visible: contacts.importing() || contacts.syncing()" class="btn"><i class="icon-spinner"></i></span> </div> </header> <div class="modal-body"> <div class="left"> <div class="b-list-toolbar"> <input type="search" class="e-search" placeholder="Search" autofocus="" autocorrect="off" autocapitalize="off" spellcheck="false" data-i18n="[placeholder]GLOBAL/SEARCH" data-bind="value: search"> </div> <div class="b-list-content g-ui-user-select-none" data-bind="css: {'hideContactListCheckbox': !useCheckboxesInList()}"> <div class="content"> <div class="listClear" data-bind="visible: !!search()"> <span class="g-ui-link" data-i18n="CONTACTS/CLEAR_SEARCH" data-bind="click: clearSearch"></span> </div> <div class="listEmptyList" data-bind="visible: 0 === contacts().length && '' === search() && !contacts.loading()" data-i18n="CONTACTS/EMPTY_LIST"></div> <div class="listEmptyListLoading" data-bind="visible: 0 === contacts().length && '' === search() && contacts.loading()"> <i class="icon-spinner"></i> <span data-i18n="GLOBAL/LOADING"></span> </div> <div class="listEmptySearchList" data-bind="visible: 0 === contacts().length && '' !== search() && !contacts.loading()" data-i18n="CONTACTS/EMPTY_SEARCH"></div> <div class="e-contact-foreach g-ui-user-select-none" data-bind="foreach: contacts, visible: contacts().length"> <div class="e-contact-item g-ui-user-select-none" data-bind="css: lineAsCss()"> <div class="checkboxItem fontastic" data-bind="text: checked() ? '☑' : '☐'"></div> <div class="nameParent" data-bind="text: display"></div> </div> </div> </div> </div> <div class="b-list-footer-toolbar"> <div class="footer-pager"> <!-- ko template: { name: 'Paginator', data: contactsPaginator } --><!-- /ko --> </div> </div> </div> <div class="right"> <form class="b-view-content" spellcheck="false" data-bind="css: {'read-only': contact() && contact().readOnly()}"> <div class="b-contact-view-desc" data-bind="visible: !contact()" data-i18n="CONTACTS/CONTACT_VIEW_DESC"></div> <div class="tabs" data-bind="visible: contact, i18nUpdate: contact"> <!-- ko with: contact --> <input type="radio" name="contacttabs" id="tab-contact" checked=""> <label for="tab-contact" role="tab" aria-selected="true" aria-controls="panel1" tabindex="0" data-i18n="CONTACTS/TAB_CONTACT"></label> <div class="form-horizontal tab-content" role="tabpanel" aria-hidden="false"> <div class="control-group"> <label class="fontastic iconsize24">👤</label> <div> <div class="property-line" data-i18n="[title]CONTACTS/FIRST_NAME"> <span data-bind="text: givenName"></span> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: givenName" data-i18n="[placeholder]CONTACTS/FIRST_NAME"> </div> <div class="property-line" data-i18n="[title]CONTACTS/LAST_NAME"> <span data-bind="text: surName"></span> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: surName" data-i18n="[placeholder]CONTACTS/LAST_NAME"> </div> <div class="property-line" data-i18n="[title]CONTACTS/MIDDLE_NAME"> <span data-bind="text: middleName"></span> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: middleName" data-i18n="[placeholder]CONTACTS/MIDDLE_NAME"> </div> <div class="property-line" data-i18n="[title]CONTACTS/NAME_PREFIX"> <span data-bind="text: namePrefix"></span> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: namePrefix" data-i18n="[placeholder]CONTACTS/NAME_PREFIX"> </div> <div class="property-line" data-i18n="[title]CONTACTS/NAME_SUFFIX"> <span data-bind="text: nameSuffix"></span> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: nameSuffix" data-i18n="[placeholder]CONTACTS/NAME_SUFFIX"> </div> <div class="property-line" data-bind="visible: null != nickname()" data-i18n="[title]CONTACTS/ADD_MENU_NICKNAME"> <span data-bind="text: nickname"></span> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: nickname" data-i18n="[placeholder]CONTACTS/NICK_NAME"> </div> </div> </div> <div class="control-group"> <label class="fontastic iconsize24" data-i18n="[title]GLOBAL/EMAIL">@</label> <div> <label class="e-component e-checkbox material-design"> <div> <input type="checkbox" data-bind="checked: sendToAll"> <div role="checkbox"></div> </div> <span data-i18n="CONTACTS/SEND_TO_ALL_CONTACT_EMAILS"></span> </label> <div data-bind="foreach: email"> <div class="property-line"> <span data-bind="text: value"></span> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: value"> </div> </div> <a href="#" class="btn fontastic" data-bind="visible: !readOnly(), click: addEmail">✚</a> </div> </div> <div class="control-group" data-bind="visible: tel().length"> <label class="fontastic iconsize24" data-i18n="[title]CONTACTS/ADD_MENU_PHONE">📞</label> <div> <div data-bind="foreach: tel"> <div class="property-line"> <span data-bind="text: value"></span> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: value"> </div> </div> <a href="#" class="btn fontastic" data-bind="visible: !readOnly(), click: addTel">✚</a> </div> </div> <div class="control-group" data-bind="visible: url().length"> <label class="fontastic iconsize24" data-i18n="[title]CONTACTS/ADD_MENU_URL">🌍</label> <div> <div data-bind="foreach: url"> <div class="property-line"> <span data-bind="text: value"></span> <input type="text" placeholder="https://" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: value"> </div> </div> <a href="#" class="btn fontastic" data-bind="visible: !readOnly(), click: addUrl">✚</a> </div> </div> <div class="control-group" data-bind="visible: null != note()"> <label class="fontastic iconsize24" data-i18n="[title]CONTACTS/ADD_MENU_NOTE">🖉</label> <div class="property-line"> <span data-bind="text: note"></span> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: note"> </div> </div> </div> <!-- <input type="radio" name="contacttabs" id="tab-contact-locations"> <label for="tab-contact-locations" role="tab" aria-selected="false" aria-controls="panel2" tabindex="0" data-i18n="CONTACTS/TAB_LOCATIONS"></label> <div class="form-horizontal tab-content" role="tabpanel" aria-hidden="false"> <div data-bind="foreach: adr"> <div class="control-group"> <div data-bind="text: type"></div> <div data-bind="text: street"></div> <div data-bind="text: street_ext"></div> <div data-bind="text: locality"></div> <div data-bind="text: region"></div> <div data-bind="text: postcode"></div> <div data-bind="text: pobox"></div> <div data-bind="text: country"></div> <div data-bind="text: preferred"></div> </div> </div> </div> --> <input type="radio" name="contacttabs" id="tab-contact-business"> <label for="tab-contact-business" role="tab" aria-selected="false" aria-controls="panel3" tabindex="0" data-i18n="CONTACTS/TAB_BUSINESS"></label> <div class="form-horizontal tab-content" role="tabpanel" aria-hidden="false"> <div class="control-group"> <label data-i18n="CONTACTS/LABEL_ORGANIZATION"></label> <span data-bind="text: org"></span> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: org"> </div> <div class="control-group"> <label data-i18n="CONTACTS/LABEL_DEPARTMENT"></label> <span data-bind="text: department"></span> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: department"> </div> <div class="control-group"> <label data-i18n="CONTACTS/LABEL_TITLE"></label> <span data-bind="text: title"></span> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="textInput: title"> </div> </div> <input type="radio" name="contacttabs" id="tab-contact-crypto"> <label for="tab-contact-crypto" role="tab" aria-selected="false" aria-controls="panel4" tabindex="0" data-i18n="CONTACTS/TAB_CRYPTO"></label> <div class="form-horizontal tab-content" role="tabpanel" aria-hidden="false"> <div class="control-group"> <label data-i18n="CRYPTO/SIGN"></label> <select name="x-crypto[signpref]" data-bind="value: signpref"> <option value="Ask" data-i18n="CONTACTS/ASK"></option> <option value="Never" data-i18n="CONTACTS/NEVER"></option> <option value="Always" data-i18n="CONTACTS/ALWAYS"></option> <option value="IfPossible" data-i18n="CONTACTS/ALWAYS_IF_POSSIBLE"></option> </select> </div> <div class="control-group"> <label data-i18n="CRYPTO/ENCRYPT"></label> <select name="x-crypto[encryptpref]" data-bind="value: encryptpref"> <option value="Ask" data-i18n="CONTACTS/ASK"></option> <option value="Never" data-i18n="CONTACTS/NEVER"></option> <option value="Always" data-i18n="CONTACTS/ALWAYS"></option> <option value="IfPossible" data-i18n="CONTACTS/ALWAYS_IF_POSSIBLE"></option> </select> </div> </div> <!-- /ko --> </div> </form> <div class="b-view-content-toolbar btn-toolbar" data-bind="i18nUpdate: contact"> <!-- ko with: contact --> <div class="btn-group"> <button class="btn button-save-contact" data-bind="visible: !readOnly(), command: $root.saveCommand"> <i data-bind="css: {'icon-ok': !$root.isSaving(), 'icon-spinner': $root.isSaving()}"></i> <span data-i18n="CONTACTS/BUTTON_CREATE_CONTACT" data-bind="visible: !id()"></span> <span data-i18n="GLOBAL/SAVE" data-bind="visible: id"></span> </button> </div> <div class="btn-group dropdown" data-bind="visible: !readOnly(), registerBootstrapDropdown: true"> <a id="button-add-prop-dropdown-id" href="#" class="btn dropdown-toggle" data-i18n="CONTACTS/ADD_MENU_LABEL"></a> <menu class="dropdown-menu right-edge" style="text-align: left" role="menu" aria-labelledby="button-add-prop-dropdown-id"> <li role="presentation" data-bind="visible: null == nickname()"> <a href="#" data-bind="click: addNickname"> <i class="icon-none"></i> <span data-i18n="CONTACTS/ADD_MENU_NICKNAME"></span> </a> </li> <li role="presentation"> <a href="#" data-bind="click: addEmail"> <i class="fontastic">@</i> <span data-i18n="GLOBAL/EMAIL"></span> </a> </li> <li role="presentation"> <a href="#" data-bind="click: addTel"> <i class="fontastic">📞</i> <span data-i18n="CONTACTS/ADD_MENU_PHONE"></span> </a> </li> <li role="presentation"> <a href="#" data-bind="click: addUrl"> <i class="fontastic">🌍</i> <span data-i18n="CONTACTS/ADD_MENU_URL"></span> </a> </li> <li role="presentation" data-bind="visible: null == note()"> <a href="#" data-bind="click: addNote"> <i class="fontastic">🖉</i> <span data-i18n="CONTACTS/ADD_MENU_NOTE"></span> </a> </li> <!-- <li class="dividerbar" role="presentation"> <a href="#" data-bind="click: addNewAddress"> <span data-i18n="CONTACTS/ADD_MENU_ADDRESS"></span> </a> </li>--> </menu> </div> <!-- <div class="read-only-sign fontastic iconsize24" data-bind="visible: readOnly" data-i18n="[title]CONTACTS/LABEL_READ_ONLY">🔒</div> --> <!-- /ko --> </div> </div> </div> </template><template id="PopupsFilter"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3> <span data-i18n="POPUPS_FILTER/TITLE_CREATE_FILTER" data-bind="visible: isNew"></span> <span data-i18n="POPUPS_FILTER/TITLE_EDIT_FILTER" data-bind="visible: !isNew()"></span> </h3> </header> <form id="sieve-script-filter" class="modal-body" spellcheck="false" data-bind="submit: saveFilter, with: filter"> <div class="control-group" data-bind="css: {'error': nameError}"> <input type="text" class="span5" data-bind="value: name" autofocus="" autocorrect="off" autocapitalize="off" data-i18n="[placeholder]GLOBAL/NAME"> </div> <div class="legend" data-i18n="POPUPS_FILTER/LEGEND_CONDITIONS"></div> <div class="control-group" data-bind="visible: 1 < conditions().length"> <select class="span4" data-bind="value: conditionsType"> <option value="Any" data-i18n="POPUPS_FILTER/SELECT_MATCH_ANY"></option> <option value="All" data-i18n="POPUPS_FILTER/SELECT_MATCH_ALL"></option> </select> </div> <div data-bind="foreach: conditions"> <div class="control-group" data-bind="css: {'error': valueError}" style="display:flex"> <div style="flex-grow:1" data-bind="css: {'error': valueError}, template: {name: template(), data: $data}"></div> <span class="delete-action button-delete fontastic" style="margin-top: 5px;" data-bind="click: function (oCondition) { $root.removeCondition(oCondition); }">🗑</span> </div> </div> <div class="control-group" data-bind="visible: 0 === conditions().length" data-i18n="POPUPS_FILTER/ALL_INCOMING_MESSAGES_DESC"></div> <div class="control-group"> <a class="btn" data-bind="click: addCondition" data-icon="✚" data-i18n="POPUPS_FILTER/BUTTON_ADD_CONDITION"></a> </div> <div class="legend" data-i18n="POPUPS_FILTER/LEGEND_ACTIONS"></div> <select class="span3" data-bind="options: $root.actionTypeOptions, value: actionType, optionsText: 'name', optionsValue: 'id'"></select> <div data-bind="template: {name: actionTemplate()}, i18nUpdate: actionTemplate"></div> </form> <footer> <button class="btn buttonSave" form="sieve-script-filter" data-icon="✔" data-i18n="GLOBAL/DONE"></button> </footer> </template><template id="PopupsFolder"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3 data-bind="text: folder()?.fullName"></h3> </header> <form id="folderform" class="modal-body form-horizontal" autocomplete="off" spellcheck="false" data-bind="submit: submitForm"> <div class="control-group" data-bind="if: editing"> <label data-i18n="POPUPS_CREATE_FOLDER/LABEL_PARENT"></label> <select name="parent" data-bind="options: parentFolderSelectList, value: parentFolder, optionsText: 'name', optionsValue: 'id', optionsAfterRender: defaultOptionsAfterRender"></select> </div> <div class="control-group" data-bind="if: editing"> <label data-i18n="GLOBAL/NAME"></label> <input name="folder" type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" required="" data-bind="textInput: name"> </div> <div data-bind="with: folder"> <!-- ko if: canBeSubscribed --> <div class="control-group"> <label class="fontastic">👁</label> <div data-bind="component: { name: 'Checkbox', params: { name: 'subscribe', label: 'SETTINGS_FOLDERS/BUTTON_SUBSCRIBE', value: isSubscribed } }"></div> </div> <!-- /ko --> <div class="control-group"> <label data-i18n="POPUPS_FILTER/SELECT_FIELD_SIZE"></label> <span data-bind="text: friendlySize"></span> </div> <div class="control-group"> <label data-i18n="MESSAGE_LIST/MENU_SELECT_UNSEEN"></label> <span data-bind="text: unreadEmails"></span> / <span style="margin:0" data-bind="text: totalEmails"></span> </div> <!-- ko if: $root.displaySpecSetting() && canBeSelected() && isSubscribed() --> <div class="control-group"> <label class="icon-check-mark-circle-two"></label> <div data-bind="component: { name: 'Checkbox', params: { name: 'checkable', label: 'SETTINGS_FOLDERS/HELP_CHECK_FOR_NEW_MESSAGES', value: checkable } }"></div> </div> <!-- /ko --> <!-- ko if: $root.showKolab --> <div class="control-group"> <label>Kolab</label> <select data-bind="options: $root.kolabTypeOptions, value: kolabType, optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select> </div> <!-- /ko --> </div> <div class="control-group" data-bind="if: ACLAllowed"> <label>ACL</label> <div> <table class="table table-hover" style="width:auto"><tbody> <!-- ko foreach: folder()?.ACL --> <tr> <td data-bind="text: identifier"></td> <td> <button class="btn fontastic" data-bind="visible: mine, click: $root.editACL">👁</button> <button class="btn fontastic" data-bind="visible: !mine(), click: $root.editACL">🖉</button> <button class="btn fontastic" data-bind="visible: !mine(), click: $root.deleteACL">🗑</button> </td> </tr> <!-- /ko --> <tr data-bind="visible: adminACL"><td></td><td> <button class="btn fontastic" data-bind="click: createACL">✚</button> </td></tr> </tbody></table> </div> </div> </form> <footer> <button form="folderform" class="btn"> <i class="icon-folder-add"></i> <span data-i18n="GLOBAL/SAVE"></span> </button> </footer> </template><template id="PopupsFolderACL"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3>ACL: <span data-bind="text: folderName"></span></h3> </header> <form id="folderaclform" class="modal-body form-horizontal" autocomplete="off" spellcheck="false" data-bind="submit: submitForm"> <div class="control-group"> <label data-i18n="GLOBAL/EMAIL"></label> <input name="identifier" class="input-xlarge" autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="visible: create, value: identifier" required=""> <span data-bind="visible: !create(), text: identifier"></span> </div> <div class="control-group"> <label data-i18n="IMAP/ACL_RIGHTS"></label> <table class="table table-hover table-bordered" style="width:auto"><tbody> <tr title="SETACL/DELETEACL/GETACL/LISTRIGHTS"> <td data-i18n="IMAP/ACL_A"></td> <td><input type="checkbox" value="a" data-bind="checked: rights, disable: mine"></td> </tr> <tr title="SELECT the mailbox, perform STATUS"> <td data-i18n="IMAP/ACL_R"></td> <td><input type="checkbox" value="r" data-bind="checked: rights, disable: mine"></td> </tr> <tr title="Mailbox is visible to LIST/LSUB commands, SUBSCRIBE mailbox"> <td data-i18n="IMAP/ACL_L"></td> <td><input type="checkbox" value="l" data-bind="checked: rights, disable: mine"></td> </tr> <tr title="perform APPEND, COPY into mailbox"> <td data-i18n="IMAP/ACL_I"></td> <td><input type="checkbox" value="i" data-bind="checked: rights, disable: mine"></td> </tr> <tr title="set or clear \SEEN flag via STORE, also set \SEEN during APPEND/COPY/FETCH BODY[...]"> <td data-i18n="IMAP/ACL_S"></td> <td><input type="checkbox" value="s" data-bind="checked: rights, disable: mine"></td> </tr> <tr title="set or clear \DELETED flag via STORE, set \DELETED flag during APPEND/COPY"> <td data-i18n="IMAP/ACL_T"></td> <td><input type="checkbox" value="t" data-bind="checked: rights, disable: mine"></td> </tr> <!-- <tr title="STORE DELETED flag, perform EXPUNGE"> <td data-i18n="IMAP/ACL_T">Old</td> <td><input type="checkbox" value="d" data-bind="checked: rights, disable: mine"></td> </tr> --> <tr title="set or clear flags other than \SEEN and \DELETED via STORE, also set them during APPEND/COPY"> <td data-i18n="IMAP/ACL_W"></td> <td><input type="checkbox" value="w" data-bind="checked: rights, disable: mine"></td> </tr> <tr title="send mail to submission address for mailbox, not enforced by IMAP4 itself"> <td data-i18n="IMAP/ACL_P"></td> <td><input type="checkbox" value="p" data-bind="checked: rights, disable: mine"></td> </tr> <tr title="CREATE new sub-mailboxes in any implementation-defined hierarchy, parent mailbox for the new mailbox name in RENAME"> <td data-i18n="IMAP/ACL_K"></td> <td><input type="checkbox" value="k" data-bind="checked: rights, disable: mine"></td> </tr> <!-- <tr title="CREATE new sub-mailboxes in any implementation-defined hierarchy"> <td data-i18n="IMAP/ACL_K">Old</td> <td><input type="checkbox" value="c" data-bind="checked: rights, disable: mine"></td> </tr> --> <tr title="DELETE mailbox, old mailbox name in RENAME"> <td data-i18n="IMAP/ACL_X"></td> <td><input type="checkbox" value="x" data-bind="checked: rights, disable: mine"></td> </tr> <tr title="perform EXPUNGE and expunge as a part of CLOSE"> <td data-i18n="IMAP/ACL_E"></td> <td><input type="checkbox" value="e" data-bind="checked: rights, disable: mine"></td> </tr> </tbody></table> </div> </form> <footer> <button data-bind="visible: mine" form="folderaclform" class="btn" data-i18n="GLOBAL/CLOSE"></button> <button data-bind="visible: !mine()" form="folderaclform" class="btn" data-i18n="GLOBAL/SAVE"></button> </footer> </template><template id="PopupsFolderClear"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3 data-i18n="POPUPS_CLEAR_FOLDER/TITLE_CLEAR_FOLDER" data-bind="hidden: clearing"></h3> <h3 data-i18n="POPUPS_CLEAR_FOLDER/TITLE_CLEARING_PROCESS" data-bind="visible: clearing"></h3> </header> <div class="modal-body"> <i class="fontastic" style="color:red">⚠</i> <strong data-i18n="[html]POPUPS_CLEAR_FOLDER/DANGER_DESC_WARNING"></strong> <p data-bind="html: dangerDescHtml"></p> <span data-i18n="[html]POPUPS_CLEAR_FOLDER/DANGER_DESC_HTML_2"></span> </div> <footer> <a class="btn btn-danger" data-bind="command: clearCommand"> <i class="fontastic" data-bind="css: {'icon-spinner white': clearing}">🔥</i> <span data-i18n="GLOBAL/CLEAR"></span> </a> </footer> </template><template id="PopupsFolderCreate"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3 data-i18n="POPUPS_CREATE_FOLDER/TITLE_CREATE_FOLDER"></h3> </header> <form id="createfolderform" class="modal-body form-horizontal" autocomplete="off" spellcheck="false" data-bind="submit: submitForm"> <div class="control-group"> <label data-i18n="POPUPS_CREATE_FOLDER/LABEL_PARENT"></label> <select name="parent" data-bind="options: parentFolderSelectList, value: parentFolder, optionsText: 'name', optionsValue: 'id', optionsAfterRender: defaultOptionsAfterRender"></select> </div> <div class="control-group"> <label data-i18n="GLOBAL/NAME"></label> <input name="folder" type="text" autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" required="" pattern="^[^\\/]+$" data-bind="textInput: name"> </div> <div class="control-group" data-bind="component: { name: 'Checkbox', params: { name: 'subscribe', label: 'SETTINGS_FOLDERS/BUTTON_SUBSCRIBE', value: subscribe } }"></div> </form> <footer> <button form="createfolderform" class="btn buttonCreate"> <i class="icon-folder-add"></i> <span data-i18n="POPUPS_CREATE_FOLDER/BUTTON_CREATE"></span> </button> </footer> </template><template id="PopupsFolderSystem"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3 data-i18n="POPUPS_SYSTEM_FOLDERS/TITLE_SYSTEM_FOLDERS"></h3> </header> <div class="modal-body"> <div class="form-horizontal"> <div class="alert" data-bind="visible: '' !== notification()"></div> <div class="control-group"> <label data-icon="📧" data-i18n="FOLDER_LIST/SENT_NAME"></label> <select data-bind="options: folderSelectList, value: sentFolder, optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select> </div> <div class="control-group"> <label data-icon="🗎" data-i18n="FOLDER_LIST/DRAFTS_NAME"></label> <select data-bind="options: folderSelectList, value: draftsFolder, optionsText: 'name', optionsValue: 'id', optionsAfterRender: defaultOptionsAfterRender"></select> </div> <div class="control-group"> <label data-icon="⚠" data-i18n="GLOBAL/SPAM"></label> <select data-bind="options: folderSelectList, value: spamFolder, optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select> </div> <div class="control-group"> <label data-icon="🗑" data-i18n="FOLDER_LIST/TRASH_NAME"></label> <select data-bind="options: folderSelectList, value: trashFolder, optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select> </div> <div class="control-group"> <label data-icon="🗄" data-i18n="FOLDER_LIST/ARCHIVE_NAME"></label> <select data-bind="options: folderSelectList, value: archiveFolder, optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select> </div> </div> </div> </template><template id="PopupsIdentity"><header class="g-ui-user-select-none"> <a href="#" class="close" data-bind="click: tryToClose">×</a> <h3 data-bind="visible: !edit()" data-i18n="POPUPS_IDENTITY/TITLE_ADD_IDENTITY"></h3> <h3 data-bind="visible: edit" data-i18n="POPUPS_IDENTITY/TITLE_UPDATE_IDENTITY"></h3> </header> <form id="identityform" class="modal-body" autocomplete="off" spellcheck="false" data-bind="submit: submitForm"> <div class="alert" data-bind="visible: '' !== submitError()"> <a href="#" class="close" data-bind="click: function () { submitError('') }">×</a> <span data-bind="text: submitError"></span> </div> <div class="tabs" data-bind="with: identity"> <input type="radio" name="identitytabs" id="tab-identity" checked=""> <label data-i18n="SETTINGS_LABELS/GENERAL" for="tab-identity" role="tab" aria-selected="true" aria-controls="panel1" tabindex="0"></label> <div class="form-horizontal tab-content" role="tabpanel" aria-hidden="false"> <div class="control-group"> <label data-i18n="GLOBAL/NAME"></label> <input name="Name" type="text" class="input-xlarge" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="value: name, hasfocus: $root.nameFocused"> </div> <div class="control-group"> <label data-i18n="GLOBAL/EMAIL"></label> <div> <div class="textEmail" data-bind="text: email, visible: !id()"></div> <input name="Email" type="email" class="input-xlarge" autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="visible: id, value: email, attr: {required: id}"> </div> </div> <div class="control-group"> <label data-i18n="POPUPS_IDENTITY/LABEL"></label> <div> <input name="Label" type="text" class="input-xlarge" autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="value: label, hasfocus: $root.labelFocused"> </div> </div> </div> <input type="radio" name="identitytabs" id="tab-identity-signature"> <label data-i18n="POPUPS_IDENTITY/SIGNATURE" for="tab-identity-signature" role="tab" aria-selected="false" aria-controls="panel2" tabindex="0"></label> <div class="form-horizontal tab-content" role="tabpanel" aria-hidden="false"> <div class="e-signature-place" data-bind="editor: signature"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'POPUPS_IDENTITY/LABEL_SIGNATURE_INSERT_BEFORE', value: signatureInsertBefore, name: 'SignatureInsertBefore' } }"></div> </div> <input type="radio" name="identitytabs" id="tab-identity-crypto"> <label data-i18n="CONTACTS/TAB_CRYPTO" for="tab-identity-crypto" role="tab" aria-selected="false" aria-controls="panel3" tabindex="0"></label> <div class="form-horizontal tab-content" role="tabpanel" aria-hidden="false"> <div class="control-group"> <div data-bind="component: { name: 'Checkbox', params: { label: 'CRYPTO/SIGN', value: pgpSign, name: 'pgpSign' } }"></div> </div> <div class="control-group"> <div data-bind="component: { name: 'Checkbox', params: { label: 'CRYPTO/ENCRYPT', value: pgpEncrypt, name: 'pgpEncrypt' } }"></div> </div> <!-- <div class="control-group"> <label data-i18n="CRYPTO/ENCRYPT"></label> <select name="PgpEncrypt" data-bind="value: pgpEncrypt"> <option value="Ask" data-i18n="CONTACTS/ASK"></option> <option value="Never" data-i18n="CONTACTS/NEVER"></option> <option value="Always" data-i18n="CONTACTS/ALWAYS"></option> <option value="IfPossible" data-i18n="CONTACTS/ALWAYS_IF_POSSIBLE"></option> </select> </div> --> <details> <summary><strong>S/MIME</strong></summary> <div class="control-group" data-bind="css: {'error': smimeKey() && !smimeKeyValid()}"> <label data-i18n="CRYPTO/PRIVATE_KEY"></label> <textarea name="smimeKey" class="input-xxlarge" rows="14" autofocus="" autocomplete="off" data-bind="value: smimeKey"></textarea> </div> <!-- <div class="control-group" data-bind="visible:smimeKeyValid() && !smimeKeyEncrypted()"> --> <div class="control-group" data-bind="visible:smimeKeyValid"> <label></label> <button type="button" data-bind="click: $root.setSMimeKeyPass" data-i18n="CRYPTO/CHANGE_PASS"></button> </div> <div class="control-group" data-bind="css: {'error': smimeCertificate() && !smimeCertificateValid()}"> <label data-i18n="SMIME/CERTIFICATE"></label> <textarea name="smimeCertificate" class="input-xxlarge" rows="14" autofocus="" autocomplete="off" data-bind="value: smimeCertificate"></textarea> </div> <div class="control-group" data-bind="hidden:smimeCertificate"> <label></label> <button type="button" data-bind="click: $root.createSelfSigned" data-i18n="CRYPTO/CREATE_SELF_SIGNED"></button> </div> </details> </div> <input type="radio" name="identitytabs" id="tab-identity-advanced"> <label data-i18n="SETTINGS_FILTERS/ADVANCED" for="tab-identity-advanced" role="tab" aria-selected="false" aria-controls="panel4" tabindex="0"></label> <div class="form-horizontal tab-content" role="tabpanel" aria-hidden="false"> <div class="control-group"> <label data-i18n="GLOBAL/REPLY_TO"></label> <input name="ReplyTo" type="email" class="inputReplyTo input-xlarge" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="value: replyTo"> </div> <div class="control-group"> <label data-i18n="GLOBAL/BCC"></label> <input name="Bcc" type="email" class="inputBcc input-xlarge" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="value: bcc"> </div> <div class="control-group"> <label data-i18n="FOLDER_LIST/SENT_NAME"></label> <select name="sentFolder" data-bind="options: $root.folderSelectList, value: sentFolder, optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select> </div> </div> </div> </form> <footer> <button form="identityform" class="btn buttonAddIdentity"> <i data-bind="visible: !edit(), css: {'icon-user-add': !submitRequest(), 'icon-spinner': submitRequest()}"></i> <span data-bind="visible: !edit()" data-i18n="POPUPS_IDENTITY/BUTTON_ADD_IDENTITY"></span> <i data-bind="visible: edit, css: {'icon-ok': !submitRequest(), 'icon-spinner': submitRequest()}"></i> <span data-bind="visible: edit" data-i18n="GLOBAL/SAVE"></span> </button> </footer> </template><template id="PopupsKeyboardShortcutsHelp"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3 data-i18n="SHORTCUTS_HELP/LEGEND_SHORTCUTS_HELP"></h3> </header> <div class="modal-body"> <div class="tabs"> <input type="radio" name="helptabs" id="tab-help1" checked=""> <label for="tab-help1" role="tab" aria-selected="true" aria-controls="panel1" tabindex="0" data-i18n="SHORTCUTS_HELP/TAB_MAILBOX"></label> <div class="tab-content" role="tabpanel" aria-hidden="false"> <table class="table table-striped table-bordered" style="border-radius: 0 4px 4px 4px"> <tbody> <tr><td></td><td data-i18n="SHORTCUTS_HELP/LABEL_OPEN_USER_DROPDOWN"></td><td>M</td></tr> <tr><td class="fontastic">←</td><td data-i18n="SHORTCUTS_HELP/LABEL_REPLY"></td><td>R, Reply</td></tr> <tr><td class="fontastic">↞</td><td data-i18n="SHORTCUTS_HELP/LABEL_REPLY_ALL"></td><td>A, Shift + Reply</td></tr> <tr><td class="fontastic">→</td><td data-i18n="SHORTCUTS_HELP/LABEL_FORWARD"></td><td>F, Fwd</td></tr> <tr><td class="fontastic">→</td><td data-i18n="SHORTCUTS_HELP/LABEL_FORWARD_MULTIPLY"></td><td>Shift + F, Shift + Fwd</td></tr> <tr><td class="icon-help"></td><td data-i18n="GLOBAL/HELP"></td><td>F1, Help</td></tr> </tbody> </table> </div> <input type="radio" name="helptabs" id="tab-help2"> <label for="tab-help2" role="tab" aria-selected="false" aria-controls="panel2" tabindex="0" data-i18n="SHORTCUTS_HELP/TAB_MESSAGE_LIST"></label> <div class="tab-content" role="tabpanel" aria-hidden="true"> <table class="table table-striped table-bordered"> <tbody> <tr><td class="fontastic">☑</td><td data-i18n="SHORTCUTS_HELP/LABEL_CHECK_ALL"></td><td><!-- ko text: metaKey --><!-- /ko --> + A</td></tr> <tr><td class="fontastic">🗄</td><td data-i18n="GLOBAL/TO_ARCHIVE"></td><td>Z</td></tr> <tr><td class="fontastic">🗑</td><td data-i18n="SHORTCUTS_HELP/LABEL_DELETE"></td><td>Delete, Shift + Delete</td></tr> <tr><td></td><td data-i18n="SHORTCUTS_HELP/LABEL_OPEN_THREAD"></td><td>T</td></tr> <tr><td class="fontastic">📁</td><td data-i18n="SHORTCUTS_HELP/LABEL_MOVE"></td><td>Insert</td></tr> <tr><td></td><td data-i18n="SHORTCUTS_HELP/LABEL_READ"></td><td>Q</td></tr> <tr><td></td><td data-i18n="SHORTCUTS_HELP/LABEL_UNREAD"></td><td>U</td></tr> <tr><td class="fontastic">★</td><td data-i18n="SHORTCUTS_HELP/LABEL_IMPORTANT"></td><td>I</td></tr> <tr><td></td><td data-i18n="GLOBAL/SEARCH"></td><td>/</td></tr> <tr><td class="icon-arrows-out"></td><td data-i18n="SHORTCUTS_HELP/LABEL_FULLSCREEN_ENTER"></td><td>Enter</td></tr> <tr><td></td><td data-i18n="SHORTCUTS_HELP/LABEL_VIEW_MESSAGE_ENTER"></td><td>Enter</td></tr> <tr><td></td><td data-i18n="SHORTCUTS_HELP/LABEL_SWITCH_TO_MESSAGE"></td><td>→, Tab</td></tr> <tr><td></td><td data-i18n="SHORTCUTS_HELP/LABEL_SWITCH_TO_FOLDER_LIST"></td><td>←, Shift + Tab</td></tr> </tbody> </table> </div> <input type="radio" name="helptabs" id="tab-help3"> <label for="tab-help3" role="tab" aria-selected="false" aria-controls="panel3" tabindex="0" data-i18n="SHORTCUTS_HELP/TAB_MESSAGE_VIEW"></label> <div class="tab-content" role="tabpanel" aria-hidden="true"> <table class="table table-striped table-bordered"> <tbody> <tr><td data-i18n="SHORTCUTS_HELP/LABEL_FULLSCREEN_TOGGLE"></td><td>Enter, Open</td></tr> <tr><td data-i18n="SHORTCUTS_HELP/LABEL_BLOCKQUOTES_TOGGLE"></td><td>B</td></tr> <tr><td data-i18n="MESSAGE/SWAP_COLORS"></td><td>Shift + B</td></tr> <tr><td data-i18n="SHORTCUTS_HELP/LABEL_EXIT_FULLSCREEN"></td><td>Esc, Close</td></tr> <tr><td data-i18n="SHORTCUTS_HELP/LABEL_CLOSE_MESSAGE"></td><td>Esc, Close</td></tr> <tr><td data-i18n="SHORTCUTS_HELP/LABEL_SWITCH_TO_LIST"></td><td>Shift + Tab, Esc</td></tr> </tbody> </table> </div> <input type="radio" name="helptabs" id="tab-help4"> <label for="tab-help4" role="tab" aria-selected="false" aria-controls="panel4" tabindex="0" data-i18n="SHORTCUTS_HELP/TAB_COMPOSE"></label> <div class="tab-content" role="tabpanel" aria-hidden="true"> <table class="table table-striped table-bordered"> <tbody> <tr><td data-i18n="SHORTCUTS_HELP/LABEL_OPEN_COMPOSE_POPUP"></td><td>W, C, New</td></tr> <tr><td data-i18n="SHORTCUTS_HELP/LABEL_OPEN_IDENTITIES_DROPDOWN"></td><td><!-- ko text: metaKey --><!-- /ko --> + M</td></tr> <tr><td data-i18n="SHORTCUTS_HELP/LABEL_SAVE_MESSAGE"></td><td><!-- ko text: metaKey --><!-- /ko --> + S, Save</td></tr> <tr><td data-i18n="SHORTCUTS_HELP/LABEL_SEND_MESSAGE"></td><td>Send, <!-- ko text: metaKey --><!-- /ko --> + Enter</td></tr> <tr><td data-i18n="SHORTCUTS_HELP/LABEL_MINIMIZE_COMPOSE_POPUP"></td><td>Esc, Close</td></tr> <tr><td data-i18n="SHORTCUTS_HELP/LABEL_CLOSE_COMPOSE"></td><td>Shift + Esc, Shift + Close</td></tr> </tbody> </table> </div> </div> </div> </template><template id="PopupsOpenPgpGenerate"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3 data-i18n="OPENPGP/POPUP_GENERATE_TITLE"></h3> </header> <form id="openpgp-generate" class="modal-body form-horizontal" autocomplete="off" spellcheck="false" data-bind="submit: submitForm"> <div class="alert" data-bind="visible: '' !== submitError()"> <a href="#" class="close" data-bind="click: hideError">×</a> <span data-bind="text: submitError"></span> </div> <!-- Disable stupid browser password autofill --> <input type="password" style="display:none"> <div class="control-group" data-bind="css: {'error': emailError}"> <label data-i18n="GLOBAL/EMAIL"></label> <input type="email" required="" class="input-xlarge" autocomplete="off" autocorrect="off" autocapitalize="off" list="emailaddresses" data-bind="value: email"> </div> <div class="control-group"> <label data-i18n="GLOBAL/NAME"></label> <input type="text" required="" class="input-xlarge" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="value: name"> </div> <div class="control-group"> <label data-i18n="GLOBAL/PASSWORD"></label> <input type="password" required="" class="input-xlarge" autocomplete="new-password" autocorrect="off" autocapitalize="off" data-bind="value: password"> </div> <div class="control-group"> <label data-i18n="OPENPGP/LABEL_KEY_TYPE"></label> <select data-bind="value: keyType, options: ['ECC', 'RSA']"></select> </div> <div class="control-group"> <div data-bind="component: { name: 'Checkbox', params: { label: 'OPENPGP/BACKUP_PUBLIC_KEY_ON_SERVER', value: backupPublicKey } }"></div> <br> <div data-bind="component: { name: 'Checkbox', params: { label: 'OPENPGP/BACKUP_PRIVATE_KEY_ON_SERVER', value: backupPrivateKey } }"></div> <br> <div data-bind="visible: canGnuPG, component: { name: 'Checkbox', params: { label: 'OPENPGP/STORE_PUBLIC_KEY_IN_GNUPG', value: saveGnuPGPublic } }"></div> <br> <div data-bind="visible: canGnuPG, component: { name: 'Checkbox', params: { label: 'OPENPGP/STORE_PRIVATE_KEY_IN_GNUPG', value: saveGnuPGPrivate } }"></div> </div> <datalist id="emailaddresses"> <!-- ko foreach: identities --> <option data-bind="attr:{value:email}"></option> <!-- /ko --> </datalist> </form> <footer> <button class="btn" form="openpgp-generate"> <i class="fontastic" data-bind="css: {'icon-spinner': submitRequest()}">🔑</i> <span data-i18n="OPENPGP/POPUP_GENERATE_BUTTON"></span> </button> </footer> </template><template id="PopupsOpenPgpImport"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3 data-i18n="OPENPGP/POPUP_IMPORT_TITLE"></h3> </header> <form id="openpgp-import" class="modal-body" autocomplete="off" data-bind="submit: submitForm"> <div class="alert" data-bind="visible: keyError() && keyErrorMessage(), text: keyErrorMessage"></div> <div class="control-group"> <!-- could be email or fingerprint --> <input type="search" data-bind="textInput: search"> <button class="btn" type="button" data-bind="enable: search, click: searchPGP" data-i18n="GLOBAL/SEARCH"></button> </div> <div class="control-group" data-bind="css: {'error': keyError}"> <textarea class="input-xxlarge" rows="14" autofocus="" autocomplete="off" data-bind="value: key" required=""></textarea> </div> <div class="control-group"> <div data-bind="component: { name: 'Checkbox', params: { label: 'OPENPGP/BACKUP_ON_SERVER', value: saveServer } }"></div> <div data-bind="visible: canGnuPG, component: { name: 'Checkbox', params: { label: 'OPENPGP/STORE_IN_GNUPG', value: saveGnuPG } }"></div> </div> </form> <footer> <button class="btn" form="openpgp-import" data-icon="✚" data-i18n="OPENPGP/POPUP_IMPORT_BUTTON"></button> </footer> </template><template id="PopupsOpenPgpKey"><header class="g-ui-user-select-none"> <a href="#" class="close" data-bind="click: close">×</a> <h3 data-i18n="OPENPGP/POPUP_VIEW_TITLE"></h3> </header> <div class="modal-body"> <pre data-bind="initDom: keyDom, text: key"></pre> </div> <footer> <a class="btn buttonClose" data-bind="click: close" data-icon="✖" data-i18n="GLOBAL/CLOSE"></a> <a class="btn buttonClose" data-bind="click: selectKey" data-icon="🔑" data-i18n="OPENPGP/POPUP_VIEW_BUTTON"></a> </footer> </template><template id="PopupsSMimeImport"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3 data-i18n="SMIME/POPUP_IMPORT_TITLE"></h3> </header> <form id="smime-import" class="modal-body" autocomplete="off" data-bind="submit: submitForm"> <div class="alert" data-bind="visible: pemError() && pemErrorMessage(), text: pemErrorMessage"></div> <div class="control-group" data-bind="css: {'error': pemError}"> <textarea class="input-xxlarge" rows="14" autofocus="" autocomplete="off" data-bind="value: pem" required=""></textarea> </div> </form> <footer> <button class="btn" form="smime-import" data-icon="✚" data-i18n="OPENPGP/POPUP_IMPORT_BUTTON"></button> </footer> </template><template id="PopupsSieveScript"><!-- ko with: script --> <header> <a href="#" class="close" data-bind="click: $root.close">×</a> <h3> <span data-i18n="POPUPS_SIEVE_SCRIPT/TITLE_CREATE" data-bind="visible: !exists()"></span> <span data-i18n="POPUPS_SIEVE_SCRIPT/TITLE_EDIT" data-bind="visible: exists"></span> <span data-bind="visible: exists">: <!-- ko text: name--><!-- /ko --></span> </h3> </header> <form class="modal-body" spellcheck="false"> <div class="control-group" data-bind="css: {'error': nameError}, hidden: exists"> <input type="text" class="span5" data-bind="value: name" autocorrect="off" autocapitalize="off" data-i18n="[placeholder]GLOBAL/NAME"> </div> <div class="alert g-ui-user-select-none" data-bind="visible: hasChanges" data-icon="⚠" data-i18n="POPUPS_SIEVE_SCRIPT/CHANGES_NEED_TO_BE_SAVED_DESC"></div> <div class="alert alert-error g-ui-user-select-none" style="white-space:pre" data-bind="visible: $root.errorText, text: $root.errorText" data-icon="⚠"></div> <div class="control-group" data-bind="visible: $root.rawActive"> <details> <summary data-i18n="POPUPS_SIEVE_SCRIPT/CAPABILITY_LABEL"></summary> <pre data-bind="text: $root.sieveCapabilities"></pre> </details> <details> <summary>Actions</summary> <pre data-bind="text: $root.availableActions"></pre> </details> <details> <summary>Controls</summary> <pre data-bind="text: $root.availableControls"></pre> </details> <details> <summary>Tests</summary> <pre data-bind="text: $root.availableTests"></pre> </details> <textarea style="width:100%;height:60vh" data-bind="value: body, valueUpdate: 'input'"></textarea> </div> <div data-bind="visible: !$root.rawActive()"> <table class="table table-hover list-table filters-list g-ui-user-select-none"> <colgroup> <col style="width: 30px"> <col style="width: 16px"> <col> <col style="width: 140px"> <col style="width: 1em"> </colgroup> <tbody data-bind="foreach: filters, i18nUpdate: filters"> <tr class="filter-item" draggable="true" data-bind="sortableItem: { list: $parent.filters }"> <td class="fontastic" data-bind="click: function () { $parent.hasChanges(true); enabled(!enabled()); }, text: enabled() ? '☑' : '☐'"></td> <td class="drag-wrapper fontastic drag-handle">⬍</td> <td class="e-action"> <span class="filter-name" data-bind="text: name()"></span> <span class="filter-sub-name" data-bind="text: nameSub()"></span> </td> <td> <a class="btn btn-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': askDelete()}, click: function(oFilter) { $root.deleteFilter(oFilter); }" data-i18n="GLOBAL/ARE_YOU_SURE"></a> </td> <td> <span class="delete-filter fontastic" data-bind="visible: !askDelete(), click: function (oFilter) { $root.filterForDeletion(oFilter); }">🗑</span> </td> </tr> </tbody> </table> <a class="btn" data-bind="click: $root.addFilter" data-icon="✚" data-i18n="POPUPS_SIEVE_SCRIPT/BUTTON_ADD_FILTER"></a> </div> </form> <footer> <a class="btn" data-bind="visible: allowFilters(), click: function() { $root.toggleFiltersRaw(); }, css: {'active': $root.rawActive }" data-i18n="[title]POPUPS_SIEVE_SCRIPT/BUTTON_RAW_SCRIPT"> <i class="icon-file-code"></i> </a> <!-- <a class="btn" data-bind="visible: $root.rawActive, click: function() { $root.validateScript(); }"> <span data-i18n="POPUPS_SIEVE_SCRIPT/VALIDATE"></span> </a> --> <a class="btn buttonSave" data-bind="click: function() { $root.saveScript(); }, css: {'btn-danger': $root.saveError}"> <i class="fontastic" data-bind="css: {'icon-spinner': $root.saving}">💾</i> <span data-i18n="GLOBAL/SAVE"></span> </a> </footer> <!-- /ko --> </template><template id="SettingsAccounts"><div data-bind="visible: allowAdditionalAccount"> <div class="legend"> <span data-i18n="SETTINGS_ACCOUNTS/LEGEND_ACCOUNTS"></span> <i class="icon-spinner" style="margin-top: 5px" data-bind="visible: loading"></i> </div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_ACCOUNTS/SHOW_UNREAD', value: showUnread } }"></div> <a class="btn" data-bind="click: addNewAccount"> <i class="icon-user-add"></i> <span data-i18n="SETTINGS_ACCOUNTS/BUTTON_ADD_ACCOUNT"></span> </a> <table class="table table-hover list-table accounts-list" data-bind="i18nUpdate: accounts"> <tbody data-bind="foreach: accounts"> <tr draggable="true" data-bind="attr: {draggable:isAdditional}, sortableItem: { list: $root.accounts, afterMove: $root.accountsAndIdentitiesAfterMove }"> <!-- ko if:!isAdditional() --> <td></td> <td colspan="3" data-bind="text: displayName"></td> <!-- /ko --> <!-- ko if:isAdditional --> <td> <i class="fontastic drag-handle">⬍</i> </td> <td class="e-action"> <span class="account-name" data-bind="text: displayName"></span> </td> <!-- <td><span class="icon-import" data-bind="click: importAll"></span></td> --> <td> <a class="btn btn-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': askDelete}, click: function(oAccount) { $root.deleteAccount(oAccount); }" data-i18n="GLOBAL/ARE_YOU_SURE"></a> </td> <td> <span class="delete fontastic" data-bind="visible: !askDelete(), click: function (oAccount) { $root.accountForDeletion(oAccount); }">🗑</span> </td> <!-- /ko --> </tr> </tbody> </table> </div> <div data-bind="visible: allowIdentities"> <div class="legend" data-i18n="SETTINGS_ACCOUNTS/LEGEND_IDENTITIES"></div> <a class="btn" data-bind="click: addNewIdentity"> <i class="icon-user-add"></i> <span data-i18n="SETTINGS_ACCOUNTS/BUTTON_ADD_IDENTITY"></span> </a> <table class="table table-hover list-table identities-list" data-bind="i18nUpdate: identities"> <tbody data-bind="foreach: identities"> <tr draggable="true" data-bind="attr: {'data-identity-id': id}, sortableItem: { list: $root.identities, afterMove: $root.accountsAndIdentitiesAfterMove }"> <td> <i class="fontastic drag-handle">⬍</i> </td> <td class="e-action"> <span class="identity-name" data-bind="text: formattedName()"></span> <span class="identity-default" data-bind="visible: !$context.$index()" data-i18n="GLOBAL/DEFAULT"></span> </td> <td> <a class="btn btn-small btn-danger button-confirm-delete" data-bind="visible: id, css: {'delete-access': askDelete}, click: function(oIdentity) { $root.deleteIdentity(oIdentity); }" data-i18n="GLOBAL/ARE_YOU_SURE"></a> </td> <td> <span class="delete fontastic" data-bind="visible: !askDelete() && id(), click: function (oIdentity) { $root.identityForDeletion(oIdentity); }">🗑</span> </td> </tr> </tbody> </table> </div> </template><template id="SettingsContacts"><div class="form-horizontal"> <div class="legend" data-i18n="GLOBAL/CONTACTS"></div> <div class="control-group"> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_CONTACTS/LABEL_CONTACTS_AUTOSAVE', value: contactsAutosave } }"></div> </div> </div> <form class="form-horizontal" spellcheck="false" data-bind="visible: allowContactsSync"> <div class="legend" data-i18n="SETTINGS_CONTACTS/LEGEND_CONTACTS_SYNC"></div> <div class="control-group"> <label data-i18n="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_ENABLE"></label> <div data-bind="component: { name: 'Select', params: { options: syncModeOptions, value: syncMode, optionsText: 'name', optionsValue: 'id' } }"></div> </div> <div class="control-group"> <label data-i18n="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_AB_URL"></label> <input type="text" class="input-xxlarge" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" data-bind="value: syncUrl" placeholder="https://"> </div> <div class="control-group"> <label data-i18n="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_USER"></label> <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" data-bind="value: syncUser"> </div> <div class="control-group"> <label data-i18n="GLOBAL/PASSWORD"></label> <input type="password" autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false" data-bind="value: syncPass"> </div> </form> </template><template id="SettingsFilters"><div class="form-horizontal"> <div class="legend"> <span data-i18n="SETTINGS_LABELS/FILTERS"></span> <i class="icon-spinner" style="margin-top: 5px" data-bind="visible: loading"></i> </div> </div> <div class="alert alert-error g-ui-user-select-none" data-bind="visible: serverError, text: serverErrorDesc" data-icon="⚠"></div> <table class="table table-hover list-table g-ui-user-select-none"> <colgroup> <col style="width: 30px"> <col> <col style="width: 140px"> <col style="width: 1em"> </colgroup> <tbody> <tr class="script-item"> <td style="border:0" class="e-action fontastic" data-bind="click: disableScripts, text: hasActive() ? '○' : '⦿'"></td> <td style="border:0" data-i18n="GLOBAL/INACTIVE">Inactive</td> <td style="border:0"></td> <td style="border:0"></td> </tr> </tbody> <tbody data-bind="foreach: scripts, i18nUpdate: scripts"> <!-- ko if: allowFilters() --> <tr class="script-item"> <td><div class="e-action fontastic" data-bind="visible: body, click: function (oScript) { $root.enableScript(oScript); }, text: active() ? '⦿' : '○'"></div></td> <td class="e-action script-name" data-i18n="SETTINGS_FILTERS/SIMPLE" data-bind="attr:{title: name}"></td> <td></td> <td></td> </tr> <tr><th colspan="4" data-i18n="SETTINGS_FILTERS/ADVANCED"></th></tr> <!-- /ko --> <!-- ko if: !allowFilters() --> <tr class="script-item"> <td><div class="e-action fontastic" data-bind="visible: body, click: function (oScript) { $root.enableScript(oScript); }, text: active() ? '⦿' : '○'"></div></td> <td class="e-action script-name" data-bind="text: name"></td> <td> <a class="btn btn-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': askDelete}, click: function(oScript) { $root.deleteScript(oScript); }" data-i18n="GLOBAL/ARE_YOU_SURE"></a> </td> <td> <span class="e-action fontastic" data-bind="visible: !askDelete() && !allowFilters(), click: function (oScript) { $root.scriptForDeletion(oScript); }">🗑</span> </td> </tr> <!-- /ko --> </tbody> </table> <a class="btn" data-bind="click: addScript" data-icon="✚" data-i18n="SETTINGS_FILTERS/BUTTON_ADD_SCRIPT"></a> </template><template id="SettingsFiltersActionDiscard"><div class="control-group" data-bind="css: {'error': actionValueError}" style="margin-bottom: 0"> <div data-bind="component: { name: 'Checkbox', params: { label: 'POPUPS_FILTER/STOP_LABEL', value: stop } }"></div> </div> </template><template id="SettingsFiltersActionForward"><div class="control-group" data-bind="css: {'error': actionValueError}"> <input type="text" class="span3" data-bind="value: actionValue" data-i18n="[placeholder]GLOBAL/EMAIL"> </div> <div class="control-group"> <div> <div data-bind="component: { name: 'Checkbox', params: { label: 'POPUPS_FILTER/KEEP_LABEL', value: keep } }"></div> <div data-bind="visible: $root.allowMarkAsRead, component: { name: 'Checkbox', params: { label: 'POPUPS_FILTER/MARK_AS_READ_LABEL', value: markAsRead } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'POPUPS_FILTER/STOP_LABEL', value: stop } }"></div> </div> </div> </template><template id="SettingsFiltersActionMoveToFolder"><div class="control-group" data-bind="css: {'error': actionValueError}"> <select class="span3" data-bind="options: $root.folderSelectList, value: $root.selectedFolderValue, optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select> </div> <div class="control-group"> <div> <div data-bind="visible: $root.allowMarkAsRead, component: { name: 'Checkbox', params: { label: 'POPUPS_FILTER/MARK_AS_READ_LABEL', value: markAsRead } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'POPUPS_FILTER/STOP_LABEL', value: stop } }"></div> </div> </div> </template><template id="SettingsFiltersActionNone"><div class="control-group" data-bind="css: {'error': actionValueError}" style="margin-bottom: 0"> <div data-bind="component: { name: 'Checkbox', params: { label: 'POPUPS_FILTER/STOP_LABEL', value: stop } }"></div> </div> </template><template id="SettingsFiltersActionReject"><div class="control-group" data-bind="css: {'error': actionValueError}" style="margin-bottom: 0"> <div> <textarea class="span5" data-bind="value: actionValue" style="height: 100px;" data-i18n="[placeholder]POPUPS_FILTER/REJECT_MESSAGE_LABEL"></textarea> <div data-bind="component: { name: 'Checkbox', params: { label: 'POPUPS_FILTER/STOP_LABEL', value: stop } }"></div> </div> </div> </template><template id="SettingsFiltersActionVacation"><div class="control-group" style="margin-bottom: 0"> <div data-bind="component: { name: 'Select', params: { options: [1, 2, 3, 7, 30], label: 'POPUPS_FILTER/REPLY_INTERVAL_LABEL', value: actionValueThird, size: 1 } }"></div> </div> <div class="control-group" data-bind="css: {'error': actionValueFourthError}" style="margin-bottom: 0"> <div> <input type="text" class="span5" data-bind="value: actionValueFourth" data-i18n="[placeholder]POPUPS_FILTER/VACATION_RECIPIENTS_LABEL"> </div> </div> <div class="control-group" style="margin-bottom: 0"> <input type="text" class="span5" data-bind="value: actionValueSecond" data-i18n="[placeholder]POPUPS_FILTER/VACATION_SUBJECT_LABEL"> </div> <div class="control-group" data-bind="css: {'error': actionValueError}" style="margin-bottom: 0"> <textarea class="span5" data-bind="value: actionValue" style="height: 100px;" data-i18n="[placeholder]POPUPS_FILTER/VACATION_MESSAGE_LABEL"></textarea> </div> <div class="control-group"> <div data-bind="component: { name: 'Checkbox', params: { label: 'POPUPS_FILTER/STOP_LABEL', value: stop } }"></div> </div> </template><template id="SettingsFiltersConditionBody"><select class="span3" data-bind="options: $root.fieldOptions, value: field, optionsText: 'name', optionsValue: 'id'"></select> <select class="span2" data-bind="options: $root.typeOptionsBody, value: type, optionsText: 'name', optionsValue: 'id'"></select> <input class="span3" type="text" data-bind="value: value"> </template><template id="SettingsFiltersConditionDefault"><select class="span3" data-bind="options: $root.fieldOptions, value: field, optionsText: 'name', optionsValue: 'id'"></select> <select class="span2" data-bind="options: $root.typeOptions, value: type, optionsText: 'name', optionsValue: 'id'"></select> <input class="span3" type="text" data-bind="value: value"> </template><template id="SettingsFiltersConditionMore"><select class="span2" data-bind="options: $root.fieldOptions, value: field, optionsText: 'name', optionsValue: 'id'"></select> <input class="span2" type="text" data-bind="value: valueSecond"> <select class="span2" data-bind="options: $root.typeOptions, value: type, optionsText: 'name', optionsValue: 'id'"></select> <input class="span3" type="text" data-bind="value: value"> </template><template id="SettingsFiltersConditionSize"><select class="span3" data-bind="options: $root.fieldOptions, value: field, optionsText: 'name', optionsValue: 'id'"></select> <select class="span2" data-bind="options: $root.typeOptionsSize, value: type, optionsText: 'name', optionsValue: 'id'"></select> <input class="span3" type="text" data-bind="value: value"> </template><template id="SettingsFolderItem"><tr data-bind="css: { 'selectable': selectable, 'system': isSystemFolder }"> <td data-bind="click: edit, css: 'deep-' + deep"> <span class="folder-name" data-bind="text: name, tooltipErrorTip: errorMsg"></span> <span class="folder-system-name" data-bind="text: nameInfo, visible: isSystemFolder"></span> <span class="folder-size" data-bind="text: friendlySize, visible: size"></span> </td> <td data-i18n="[title]SETTINGS_FOLDERS/HELP_DELETE_FOLDER"> <a class="btn btn-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': askDelete()}, click: $root.deleteFolder" data-i18n="GLOBAL/ARE_YOU_SURE"></a> <span class="e-action fontastic" data-bind="visible: canBeDeleted() && !askDelete(), click: $root.folderForDeletion">🗑</span> </td> <td data-i18n="[title]SETTINGS_FOLDERS/HELP_SHOW_HIDE_FOLDER" data-bind="if: canBeSubscribed"> <span class="e-action fontastic" data-bind="css: {'unsubscribed-folder':!isSubscribed()}, click: $root.toggleFolderSubscription">👁</span> </td> <!-- ko if: $root.displaySpecSetting --> <td data-i18n="[title]SETTINGS_FOLDERS/HELP_CHECK_FOR_NEW_MESSAGES" data-bind="if: canBeSelected() && isSubscribed()"> <span class="e-action icon-check-mark-circle-two" data-bind="css: {'check-folder':checkable(), 'unchecked-folder':!checkable()}, click: $root.toggleFolderCheckable"></span> </td> <!-- /ko --> <!-- ko if: $root.showKolab --> <td class="kolab" title="Kolab"> <select data-bind="options: $root.kolabTypeOptions, value: kolabType, optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender, event:{ input: $root.toggleFolderKolabType}"></select> </td> <!-- /ko --> </tr> <!-- ko template: { name: 'SettingsFolderItem', foreach: subFolders } --><!-- /ko --> </template><template id="SettingsFolders"><div class="legend"> <span data-i18n="SETTINGS_FOLDERS/LEGEND_FOLDERS"></span> <i class="icon-spinner" style="margin-top: 5px" data-bind="visible: loading"></i> </div> <div style="margin-bottom:20px;" data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_FOLDERS/HIDE_UNSUBSCRIBED', value: hideUnsubscribed } }"></div> <!-- ko if: showKolab --> <div style="margin-bottom:20px;" data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_FOLDERS/UNHIDE_KOLAB_FOLDERS', value: unhideKolabFolders } }"></div> <!-- /ko --> <a class="btn" data-bind="click: createFolder"> <i class="icon-folder-add"></i> <span data-i18n="SETTINGS_FOLDERS/BUTTON_CREATE"></span> </a> <a class="btn" data-bind="click: systemFolder" data-icon="🔧" data-i18n="SETTINGS_FOLDERS/BUTTON_SYSTEM"></a> <div class="alert folders-list-error" data-bind="visible: folderListOptimized"> <b data-i18n="SETTINGS_FOLDERS/TO_MANY_FOLDERS_DESC_1"></b> <br> <span data-i18n="SETTINGS_FOLDERS/TO_MANY_FOLDERS_DESC_2"></span> </div> <div class="alert folders-list-error" data-bind="visible: '' !== folderListError()"> <a href="#" class="close" data-bind="click: hideError">×</a> <span data-bind="text: folderListError"></span> </div> <table class="table table-hover list-table" data-bind="i18nUpdate: folderList"> <tbody data-bind="template: { name: 'SettingsFolderItem', foreach: folderList }"></tbody> </table> </template><template id="SettingsGeneral"><div class="form-horizontal"> <div class="legend" data-i18n="SETTINGS_LABELS/GENERAL"></div> <div class="control-group"> <label data-i18n="SETTINGS_GENERAL/IDENTITY"></label> <b class="editMainIdentity" data-bind="click: editMainIdentity, text: identityMainDesc"></b> </div> <div class="control-group" data-bind="visible: allowLanguagesOnSettings"> <label data-i18n="SETTINGS_GENERAL/LANGUAGE"></label> <div> <span class="select" tabindex="0" data-bind="text: languageFullName, click: selectLanguage, onSpace: selectLanguage, onEnter: selectLanguage"></span> <span data-bind="saveTrigger: languageTrigger"></span> </div> </div> <div class="control-group"> <label data-i18n="SETTINGS_GENERAL/HOUR_FORMAT"></label> <div> <select data-bind="value: hourCycle"> <option value="" data-i18n="GLOBAL/DEFAULT">default</option> <option value="h11">00:00 AM</option> <option value="h12">12:00 AM</option> <option value="h23">00:00 (24 hour)</option> <option value="h24">24:00 (24 hour)</option> </select> </div> </div> <div class="control-group"> <label data-i18n="SETTINGS_GENERAL/LAYOUT"></label> <div data-bind="component: { name: 'Select', params: { options: layoutTypes, value: layout, trigger: layoutTrigger, optionsText: 'name', optionsValue: 'id' } }"></div> </div> <div class="control-group"> <label data-i18n="SETTINGS_GENERAL/CHECK_MAIL_INTERVAL"></label> <div> <input type="number" max="60" step="1" class="span1" data-bind="textInput: checkMailInterval, attr:{min:minRefreshInterval}"> <span data-i18n="SETTINGS_GENERAL/MINUTES"></span> <span data-bind="saveTrigger: checkMailIntervalTrigger"></span> </div> </div> <div class="control-group"> <div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/HTML_TO_MD', value: markdown } }"></div> </div> </div> <div class="legend" data-i18n="SHORTCUTS_HELP/TAB_MESSAGE_LIST"></div> <div class="control-group"> <label data-i18n="SETTINGS_GENERAL/MESSAGE_PER_PAGE"></label> <div> <input type="number" min="10" max="50" step="1" class="span1" data-bind="textInput: messagesPerPage"> <span data-bind="saveTrigger: messagesPerPageTrigger"></span> </div> </div> <div class="control-group"> <div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/HIDE_DELETED_MESSAGES', value: hideDeleted } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/USE_CHECKBOXES_IN_LIST', value: useCheckboxesInList } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/LIST_MESSAGES_GROUPED', value: listGrouped } }"></div> <div data-bind="visible: threadsAllowed, component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/USE_THREADS', value: useThreads } }"></div> </div> </div> <div class="control-group" data-bind="visible: threadsAllowed() && useThreads()"> <label data-i18n="SETTINGS_GENERAL/THREAD_ALGORITHM"></label> <select data-bind="options: threadAlgorithms, value: threadAlgorithm"></select> </div> <div class="legend" data-i18n="SHORTCUTS_HELP/TAB_MESSAGE_VIEW"></div> <div class="control-group"> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/MARK_MESSAGE_READ_AFTER', value: messageReadAuto } }"></div> <div> <input type="number" min="0" step="1" class="span1" data-bind="textInput: messageReadDelay"> <span data-i18n="SETTINGS_GENERAL/SECONDS"></span> <span data-bind="saveTrigger: messageReadDelayTrigger"></span> </div> </div> <div class="control-group"> <label data-i18n="SETTINGS_GENERAL/MSG_DEFAULT_ACTION"></label> <div data-bind="component: { name: 'Select', params: { options: msgDefaultActions, value: msgDefaultAction, trigger: msgDefaultActionTrigger, optionsText: 'name', optionsValue: 'id' } }"></div> </div> <div class="control-group"> <div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/COLLAPSE_BLOCKQUOTES', value: collapseBlockquotes } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/LIST_INLINE_ATTACHMENTS', value: listInlineAttachments } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/LIST_SIMPLE_ATTACHMENTS', value: simpleAttachmentsList } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/REMOVE_COLORS', value: removeColors } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/ALLOW_STYLES', value: allowStyles } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/PREFER_HTML', value: viewHTML } }"></div> <em style="margin: 0 0 1em 2em;display: block;" data-i18n="SETTINGS_GENERAL/PREFER_HTML_INFO"></em> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/SHOW_NEXT_MESSAGE', value: showNextMessage } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/MESSAGE_POPUP_WINDOW', value: messageNewWindow } }"></div> </div> </div> <div class="control-group"> <label data-i18n="SETTINGS_GENERAL/MAX_QUOTE_LEVEL"></label> <div> <input type="number" min="0" step="1" class="span1" data-bind="textInput: maxBlockquotesLevel"> <span data-bind="saveTrigger: maxBlockquotesLevelTrigger"></span> </div> </div> <div class="control-group"> <label data-i18n="SETTINGS_GENERAL/EXTERNAL_IMAGES"></label> <div> <select data-bind="value: viewImages"> <option value="ask" data-i18n="SETTINGS_GENERAL/IMAGES_OPTION_ASK"></option> <option value="match" data-i18n="SETTINGS_GENERAL/IMAGES_OPTION_WHITELIST"></option> <option value="always" data-i18n="SETTINGS_GENERAL/IMAGES_OPTION_ALWAYS"></option> </select> </div> </div> <div class="control-group"> <label data-i18n="SETTINGS_GENERAL/IMAGES_WHITELIST"></label> <div> <textarea data-bind="textInput: viewImagesWhitelist"></textarea> </div> </div> <div class="legend" data-i18n="SHORTCUTS_HELP/TAB_COMPOSE"></div> <div class="control-group"> <label data-i18n="SETTINGS_GENERAL/EDITOR"></label> <div data-bind="component: { name: 'Select', params: { options: editorDefaultTypes, value: editorDefaultType, trigger: editorDefaultTypeTrigger, optionsText: 'name', optionsValue: 'id' } }"></div> </div> <div class="control-group" data-bind="visible: hasWysiwygs"> <label>WYSIWYG</label> <div data-bind="component: { name: 'Select', params: { options: wysiwygs, value: editorWysiwyg, trigger: editorWysiwygTrigger, optionsText: 'name', optionsValue: 'name' } }"></div> </div> <div class="control-group"> <div> <div data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/REPLY_SAME_FOLDER', value: replySameFolder } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'COMPOSE/ALLOW_DRAFT_AUTOSAVE', value: allowDraftAutosave } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'COMPOSE/BUTTON_REQUEST_READ_RECEIPT', value: requestReadReceipt } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'COMPOSE/BUTTON_REQUEST_DSN', value: requestDsn } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'COMPOSE/BUTTON_REQUIRE_TLS', value: requireTLS } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'CRYPTO/SIGN', value: pgpSign } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'CRYPTO/ENCRYPT', value: pgpEncrypt } }"></div> <div data-bind="component: { name: 'Checkbox', params: { label: 'COMPOSE/ALLOW_SPELLCHECK', value: allowSpellcheck } }"></div> </div> </div> <button type="button" data-bind="visible: mailto, click: registerMailto" class="btn" data-i18n="SETTINGS_GENERAL/MAILTO"></button> <div class="legend" data-i18n="SETTINGS_GENERAL/NOTIFICATIONS"></div> <div class="control-group"> <div> <div> <div style="display: inline-block;" data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/CHROME_NOTIFICATION_DESC', value: desktopNotifications, enable: isDesktopNotificationAllowed } }"></div> <span data-bind="visible: !isDesktopNotificationAllowed()" style="color: #999" data-i18n="SETTINGS_GENERAL/CHROME_NOTIFICATION_DESC_DENIED"></span> <span class="fontastic" data-bind="click: testSystemNotification" style="color:green;cursor:pointer">▶️</span> </div> <div> <div style="display: inline-block;" data-bind="component: { name: 'Checkbox', params: { label: 'SETTINGS_GENERAL/SOUND_NOTIFICATION', value: soundNotification } }"></div> <select data-bind="options: notificationSounds, value: notificationSound"></select> <span class="fontastic" data-bind="click: testSoundNotification" style="color:green;cursor:pointer">▶️</span> </div> </div> </div> </div> </template><template id="SettingsMenu"><div class="b-toolbar btn-toolbar"> <a class="btn btn-thin fontastic toggleLeft" data-bind="click: toggleLeftPanel"></a> <a class="btn" data-bind="click: backToInbox" data-icon="⬅" data-i18n="GLOBAL/BACK"></a> </div> <nav data-bind="foreach: menu"> <a data-bind="css: {'selected': selected }, attr: { 'href': $root.link(route), 'data-i18n': label }"></a> </nav> </template><template id="SettingsPane"><div class="btn-toolbar"> <a class="btn btn-thin fontastic toggleLeft"></a> </div> </template><template id="SettingsSecurity"><div class="form-horizontal"> <div class="legend" data-i18n="SETTINGS_SECURITY/LEGEND_SECURITY"></div> <div class="control-group"> <label data-i18n="SETTINGS_SECURITY/LABEL_AUTOLOGOUT"></label> <div data-bind="component: { name: 'Select', params: { options: autoLogoutOptions, value: autoLogout, trigger: autoLogoutTrigger, optionsText: 'name', optionsValue: 'id' } }"></div> </div> <div class="control-group"> <label data-i18n="SETTINGS_SECURITY/FORGET_KEY_PASS"></label> <div data-bind="component: { name: 'Select', params: { options: autoLogoutOptions, value: keyPassForget, trigger: keyPassForgetTrigger, optionsText: 'name', optionsValue: 'id' } }"></div> </div> </div> <div class="legend">OpenPGP</div> <button class="btn" data-bind="click: addOpenPgpKey" data-icon="✚" data-i18n="SETTINGS_OPENPGP/BUTTON_IMPORT_KEY"></button> <!-- ko if: canOpenPGP || canGnuPG --> <button class="btn" data-bind="click: generateOpenPgpKey" data-icon="🔑" data-i18n="SETTINGS_OPENPGP/BUTTON_GENERATE_KEY_PAIR"></button> <!-- /ko --> <!-- ko if: canGnuPG --> <details style="margin:1em 0"> <summary style="font-size:larger;font-weight:bold">GnuPG</summary> <table class="table table-hover list-table"> <tbody><tr><th colspan="4" data-i18n="SETTINGS_OPENPGP/TITLE_PRIVATE">Private keys</th></tr></tbody> <tbody data-bind="foreach: gnupgPrivateKeys, i18nUpdate: gnupgPrivateKeys"> <tr> <td data-bind="click: view"> <span data-bind="visible: can_sign" class="fontastic" data-i18n="[title]CRYPTO/SIGN">✍</span> <span data-bind="visible: can_decrypt" class="fontastic" data-i18n="[title]CRYPTO/DECRYPT">🔓</span> <span class="key-id" data-bind="text: id"></span> <!-- ko foreach: emails --> <span class="key-user" data-bind="text: $data"></span> <!-- /ko --> </td> <td> <a class="btn btn-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': askDelete()}, click: remove" data-i18n="GLOBAL/ARE_YOU_SURE"></a> </td> <td> <span class="delete-key fontastic" data-bind="visible: !askDelete(), click: openForDeletion">🗑</span> </td> </tr> </tbody> <tbody><tr><th colspan="4" data-i18n="SETTINGS_OPENPGP/TITLE_PUBLIC">Public keys</th></tr></tbody> <tbody data-bind="foreach: gnupgPublicKeys, i18nUpdate: gnupgPublicKeys"> <tr> <td data-bind="click: view"> <span data-bind="visible: can_verify" class="fontastic" data-i18n="[title]CRYPTO/VERIFY">✔</span> <span data-bind="visible: can_encrypt" class="fontastic" data-i18n="[title]CRYPTO/ENCRYPT">🔒</span> <span class="key-id" data-bind="text: id"></span> <!-- ko foreach: emails --> <span class="key-user" data-bind="text: $data"></span> <!-- /ko --> </td> <td> <a class="btn btn-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': askDelete()}, click: remove" data-i18n="GLOBAL/ARE_YOU_SURE"></a> </td> <td> <span class="delete-key fontastic" data-bind="visible: !askDelete(), click: openForDeletion">🗑</span> </td> </tr> </tbody> </table> </details> <!-- /ko --> <!-- ko if: canOpenPGP --> <details style="margin:1em 0"> <summary style="font-size:larger;font-weight:bold">OpenPGP.js</summary> <table class="table table-hover list-table"> <tbody><tr><th colspan="4" data-i18n="SETTINGS_OPENPGP/TITLE_PRIVATE">Private keys</th></tr></tbody> <tbody data-bind="foreach: openpgpkeysPrivate, i18nUpdate: openpgpkeysPrivate"> <tr> <td data-bind="click: view"> <span class="fontastic" data-i18n="[title]SETTINGS_OPENPGP/TITLE_PRIVATE">🔒</span> <span class="key-id" data-bind="text: id"></span> <!-- ko foreach: emails --> <span class="key-user" data-bind="text: $data"></span> <!-- /ko --> </td> <td> <a class="btn btn-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': askDelete()}, click: remove" data-i18n="GLOBAL/ARE_YOU_SURE"></a> </td> <td> <span class="delete-key fontastic" data-bind="visible: !askDelete(), click: openForDeletion">🗑</span> </td> </tr> </tbody> <tbody><tr><th colspan="4" data-i18n="SETTINGS_OPENPGP/TITLE_PUBLIC">Public keys</th></tr></tbody> <tbody data-bind="foreach: openpgpkeysPublic, i18nUpdate: openpgpkeysPublic"> <tr> <td data-bind="click: view"> <span class="fontastic" data-i18n="[title]SETTINGS_OPENPGP/TITLE_PUBLIC">🔑</span> <span class="key-id" data-bind="text: id"></span> <!-- ko foreach: emails --> <span class="key-user" data-bind="text: $data"></span> <!-- /ko --> </td> <td> <a class="btn btn-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': askDelete()}, click: remove" data-i18n="GLOBAL/ARE_YOU_SURE"></a> </td> <td> <span class="delete-key fontastic" data-bind="visible: !askDelete(), click: openForDeletion">🗑</span> </td> </tr> </tbody> </table> <button class="btn" data-bind="click: importToOpenPGP" data-i18n="SETTINGS_OPENPGP/IMPORT_FROM_SERVER"></button> </details> <!-- /ko --> <details style="margin:1em 0"> <summary style="font-size:larger;font-weight:bold">Mailvelope</summary> <a data-bind="visible: !canMailvelope" href="https://mailvelope.com/en/help" target="_blank" data-i18n="SETTINGS_OPENPGP/GET_MAILVELOPE"></a> <div id="mailvelope-settings" style="height:40em" data-bind="visible: canMailvelope"></div> </details> <details> <summary class="legend" data-i18n="SMIME/CERTIFICATES"></summary> <button class="btn" data-bind="click: importToSMime" data-icon="✚" data-i18n="OPENPGP/POPUP_IMPORT_BUTTON"></button> <table class="table table-hover list-table"> <tbody data-bind="foreach: smimeCertificates, i18nUpdate: smimeCertificates"> <tr> <td> <span data-bind="visible: smimesign" class="fontastic" data-i18n="[title]CRYPTO/VERIFY">✔</span> <span data-bind="visible: smimeencrypt" class="fontastic" data-i18n="[title]CRYPTO/ENCRYPT">🔒</span> <span class="key-name" data-bind="text: CN"></span> <span class="key-user" data-bind="text: emailAddress"></span> <br> <span data-i18n="CRYPTO/VALID_UNTIL"></span>: <time data-time-format="FULL" data-bind="time:validTo_time_t"></time> </td> <!-- TODO <td> <a class="btn btn-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': askDelete()}, click: remove" data-i18n="GLOBAL/ARE_YOU_SURE"></a> </td> <td> <span class="delete-key fontastic" data-bind="visible: !askDelete(), click: openForDeletion">🗑</span> </td> --> </tr> </tbody> </table> </details> </template><template id="SettingsThemes"><div class="legend"> <span data-i18n="SETTINGS_THEMES/LEGEND_THEMES"></span> <span data-bind="saveTrigger: themeTrigger"></span> </div> <div data-bind="foreach: themesObjects"> <figure data-bind="click: $root.setTheme, css: { 'selected': selected }"> <figcaption data-bind="text: nameDisplay"></figcaption> <img data-bind="attr: { 'src': themePreviewSrc }"> </figure> </div> <br> <br> <div class="form-horizontal"> <div class="legend" data-i18n="SETTINGS_THEMES/LABEL_FONTS"></div> <div class="control-group"> <label>Sans-serif</label> <select data-bind="value: fontSansSerif"> <option value="" data-i18n="GLOBAL/DEFAULT"></option> <option value="Arial">Arial</option> <option value="Lucida">Lucida</option> <option value="Tahoma">Tahoma</option> <option value="Trebuchet">Trebuchet</option> <option value="Verdana">Verdana</option> </select> </div> <div class="control-group"> <label>Serif</label> <select data-bind="value: fontSerif"> <option value="" data-i18n="GLOBAL/DEFAULT"></option> <option value="Times">Times</option> <option value="Palatino">Palatino</option> <option value="Georgia">Georgia</option> </select> </div> <div class="control-group"> <label>Mono</label> <select data-bind="value: fontMono"> <option value="" data-i18n="GLOBAL/DEFAULT"></option> <option value="Courier">Courier</option> <option value="Lucida">Lucida</option> </select> </div> </div> <br> <br> <div class="form-horizontal" data-bind="visible: background.enabled"> <div class="legend" data-i18n="SETTINGS_THEMES/LABEL_BACKGROUND"></div> <div class="control-group g-ui-user-select-none"> <div class="row" data-bind="visible: '' !== background.error()" style="margin-left: 0; margin-bottom: 10px;"> <div class="alert alert-error span6" data-bind="text: background.error" style="margin-left: 0"></div> </div> <div class="row" data-bind="visible: '' !== background.name()" style="margin-left: 0"> <a class="btn" data-bind="visible: '' !== background.name(), click: clearBackground" data-icon="✖"></a> <b data-bind="text: background.name"></b> </div> <div class="row" data-bind="visible: '' === background.name()" style="margin-left: 0"> <a class="btn" data-bind="initDom: background.uploaderButton"> <i class="fontastic" data-bind="css: {'icon-spinner': background.loading()}">🖼</i> <span data-i18n="SETTINGS_THEMES/BUTTON_UPLOAD_BACKGROUND_IMAGE"></span> </a> </div> </div> </div> </template><template id="SystemDropDown"><div class="btn-toolbar g-ui-user-select-none"> <div class="audioPlace" data-bind="visible: '' !== currentAudio(), attr: { title: currentAudio }, click: stopPlay"> <div class="playIcon"><div></div></div> <i class="stopIcon fontastic">⏸</i> </div> <div class="btn-group dropdown" data-bind="registerBootstrapDropdown: true, initDom: accountMenu"> <a id="top-system-dropdown-id" href="#" tabindex="-1" class="btn single btn-block dropdown-toggle"> <span class="accountPlace hide-mobile" data-bind="text: accountName(), attr:{ title: accountEmail }"></span> <i class="fontastic" data-bind="css: {'icon-spinner': accountsLoading()}">👤</i> <!-- <b data-bind="text: accountsUnreadCount, visible: 100 > accountsUnreadCount() && accountsUnreadCount()"></b> <b data-bind="visible: 99 < accountsUnreadCount()">99+</b> --> </a> <menu class="dropdown-menu right-edge" tabindex="-1" role="menu" aria-labelledby="top-system-dropdown-id"> <!-- ko foreach: accounts --> <li role="presentation"> <a class="email-title" href="#" data-bind="click: $root.accountClick, text: label(), attr: {title: email, 'data-unread': unreadEmails, 'data-icon': $root.accountEmail() === email ? '✔' : '👤'}"></a> </li> <!-- /ko --> <li class="dividerbar" role="presentation" data-bind="visible: allowAccounts"> <a href="#" tabindex="-1" data-bind="click: addAccountClick" data-icon="✚" data-i18n="TOP_TOOLBAR/BUTTON_ADD_ACCOUNT"></a> </li> <li role="presentation" data-bind="visible: allowContacts"> <a href="#" tabindex="-1" data-bind="click: contactsClick" data-icon="📇" data-i18n="GLOBAL/CONTACTS"></a> </li> <li role="presentation"> <a href="#" tabindex="-1" data-bind="click: settingsClick" data-icon="⚙" data-i18n="TITLES/SETTINGS"></a> </li> <li role="presentation"> <a href="#" tabindex="-1" data-bind="click: settingsHelp" data-icon="🛈" data-i18n="GLOBAL/HELP"></a> </li> <li class="dividerbar" role="presentation"> <a href="#" tabindex="-1" data-bind="click: logoutClick" data-icon="⏻" data-i18n="GLOBAL/LOGOUT"></a> </li> </menu> </div> </div> </template><template id="Paginator"><nav class="e-paginator g-ui-user-select-none" data-bind="foreach: $data"> <a data-bind="css: { 'current': current }, attr: { title: title }, text: name"></a> </nav> </template><template id="PopupsAsk"><div class="modal-body"> <div data-bind="html: askDesc"></div> <form class="form-horizontal" data-bind="visible: askPass() || askUsername(), submit: yesClick" style="margin: 2em 0 0" id="AskForm"> <div class="control-group" data-bind="visible: askUsername"> <label data-i18n="GLOBAL/USERNAME"></label> <input type="text" data-bind="value: username"> </div> <div class="control-group" data-bind="visible: askPass"> <label data-i18n="GLOBAL/PASSWORD"></label> <input type="password" data-bind="value: passphrase"> </div> <div data-bind="visible: askRemeber, component: { name: 'Checkbox', params: { label: 'GLOBAL/REMEMBER', value: remember } }"></div> </form> </div> <footer> <button class="btn buttonYes" form="AskForm" data-bind="click: yesClick, text: yesButton" data-icon="✔"></button> <button class="btn buttonNo" data-bind="click: noClick, text: noButton" data-icon="✖"></button> </footer> </template><template id="PopupsLanguages"><header> <a href="#" class="close" data-bind="click: close">×</a> <h3 data-i18n="POPUPS_LANGUAGES/TITLE_LANGUAGES"></h3> </header> <div class="modal-body" style="min-height: 150px;" data-bind="foreach: languages"> <label data-bind="click: function () { $root.changeLanguage(key); }, css: {'selected': selected, 'user': user}, attr: { title: title }, text: fullName"> </label> </div> </template> <script nonce="" type="text/javascript">(e=>{const t=t=>e.location.pathname.replace(/\/+$/,"")+"/?/"+t,r=t=>e.getElementById("rl-"+t),a="1"==r("app").dataset.admin,o="application/json",n=e=>{r("loading").hidden=!0,e.hidden=!1},s=e=>{let t=r("loading-error");t.append(e),n(t)},i=t=>t?new Promise(((r,a)=>{const o=e.createElement("script");o.onload=()=>r(),o.onerror=()=>a("Failed loading "+t),o.src=t,e.head.append(o)})):Promise.reject("src is empty");try{let t=e.cookie.match(/(^|;) ?smctoken=([^;]+)/);if(t=t?t[2]:localStorage.getItem("smctoken"),!t){let e=new Uint8Array(16);crypto.getRandomValues(e),t=encodeURIComponent(btoa(String.fromCharCode(...e)))}localStorage.setItem("smctoken",t),e.cookie="smctoken="+t+";path=/;samesite=strict;secure"}catch(e){}let c={};window.rl={adminArea:()=>a,settings:{get:e=>c[e],set:(e,t)=>c[e]=t,app:e=>c.System[e]},setTitle:t=>e.title=(t||"")+(c.title?(t?" - ":"")+c.title:""),setData:e=>{c=e,rl.app.refresh()},loadScript:i,fetch:(e,t,r)=>{t=Object.assign({mode:"same-origin",cache:"no-cache",redirect:"error",referrerPolicy:"no-referrer",credentials:"same-origin",headers:{}},t);let a=1,n=(c.System||{}).token,s={};return r&&(t.method="POST",r instanceof FormData&&(r.forEach(((e,t)=>{e instanceof File?a=0:Reflect.has(s,t)?(Array.isArray(s[t])||(s[t]=[s[t]]),s[t].push(e)):s[t]=e})),a?r=s:n&&r.set("XToken",n)),a&&(t.headers["Content-Type"]=o,r=JSON.stringify(r)),t.body=r),n&&(t.headers["X-SM-Token"]=n),fetch(e,t)},fetchJSON:(e,t,r)=>((t=Object.assign({headers:{}},t)).headers.Accept=o,rl.fetch(e,t,r).then((t=>{if(t.ok){const r=t.headers.get("Content-Type");return r.startsWith(o)?t.json():Promise.reject(new Error(`Invalid Content-Type '${r}' for url '${e}'`))}return Promise.reject(new Error("Network response error: "+t.status))})))},navigator.cookieEnabled?[].flat?rl.fetchJSON(t(`${a?"Admin":""}AppData/0/${Math.random().toString().slice(2)}/`)).then((r=>{c=r;const o=r.StaticLibsJs,n=()=>rl.app.bootstart();i(o).then((()=>i(o.replace("/libs.",`/${a?"admin":"app"}.`)))).then((()=>r.PluginsLink?i(t(r.PluginsLink)):Promise.resolve())).then((()=>rl.app?n():e.addEventListener("readystatechange",(()=>"complete"==e.readyState&&n())))).catch((e=>{throw s(e),e}))})).catch((e=>s(e))):n(r("BadBrowser")):n(r("NoCookie"))})(document);
document.documentElement.lang = 'en';
rl.I18N={"LANGS_NAMES":{"id":"Bahasa Indonesia","cs":"Čeština","da":"Dansk","de":"Deutsch","et":"Eesti","en":"English","es":"Español","eo":"Esperanto","eu":"Euskara","fr":"Français","is":"Íslenska","it":"Italiano","lv":"Latviešu","lt":"Lietuvių","hu":"Magyar","nl":"Nederlands","nb":"Norsk (bokmål)","pl":"Polski","pt":"Português","pt-BR":"Português (Brasil)","ro":"Română","sk":"Slovenčina","sl":"Slovenščina","fi":"Suomi","sv":"Svenska","vi":"Tiếng Việt","tr":"Türkçe","el":"Ελληνικά","be":"Беларуская","bg":"Български","ru":"Русский","uk":"Українська","ar":"العربية","fa":"فارسی","ko":"한국어","ja":"日本語","zh":"简体中文","zh-TW":"繁體中文(台灣)"},"LANGS_NAMES_EN":{"ar":"Arabic","eu":"Basque","be":"Belarusian","bg":"Bulgarian","zh":"Chinese Simplified (China)","zh-TW":"Chinese Traditional (Taiwan)","cs":"Czech","da":"Danish","nl":"Dutch","en":"English","eo":"Esperanto","et":"Estonian","fi":"Finnish","fr":"French","de":"German","el":"Greek","hu":"Hungarian","is":"Icelandic","id":"Indonesian","it":"Italian","ja":"Japanese","ko":"Korean","lv":"Latvian","lt":"Lithuanian","nb":"Norwegian Bokmål","fa":"Persian","pl":"Polish","pt":"Portuguese","pt-BR":"Portuguese (Brazil)","ro":"Romanian","ru":"Russian","sk":"Slovak","sl":"Slovenian","es":"Spanish","sv":"Swedish","tr":"Turkish","uk":"Ukrainian","vi":"Vietnamese"},"LANG_DIR":"ltr","GLOBAL":{"TO_ARCHIVE":"Archive","ARE_YOU_SURE":"Are you sure?","BACK":"Back","BCC":"Bcc","CANCEL":"Cancel","CC":"Cc","CLEAR":"Clear","CLOSE":"Close","CONTACTS":"Contacts","DELETE":"Delete","UNDELETE":"Undelete","DONE":"Done","EMAIL":"Email","FROM":"From","LOADING":"Loading","LOGOUT":"Logout","MORE":"More","MOVE_TO":"Move To","COPY_TO":"Copy To","NAME":"Name","NONE":"None","TO_SPAM":"Move message(s) to Spam","NOT_SPAM":"Not Spam","USERNAME":"Username","PASSWORD":"Passphrase","REMEMBER":"Remember","REPLY_TO":"Reply-To","SAVE":"Save","SAVE_CHANGES":"Save changes?","SEARCH":"Search","SPAM":"Spam","SUBJECT":"Subject","TEST":"Test","TO":"To","SERVER_MESSAGE":"Server message","YES":"Yes","NO":"No","INACTIVE":"Inactive","DEFAULT":"default","HELP":"Help","TEXT":"Text","ATTACHMENTS":"Attachments"},"LOGIN":{"LABEL_LOGIN":"Login","LABEL_SIGN_ME":"Remember Me","BUTTON_SIGN_IN":"Sign In"},"TOP_TOOLBAR":{"BUTTON_ADD_ACCOUNT":"Add Account"},"SEARCH":{"TITLE_ADV":"Advanced Search","TEXT":"Text","HAS_ATTACHMENT":"Has attachment(s)","FLAGGED":"Flagged","UNSEEN":"Unseen","DATE":"Date","DATE_ALL":"All","BEFORE_3_DAYS":"Older then 3 days","BEFORE_7_DAYS":"Older then 1 week","BEFORE_MONTH":"Older then 1 month","BEFORE_3_MONTHS":"Older then 3 months","BEFORE_6_MONTHS":"Older then 6 months","BEFORE_YEAR":"Older then 1 year","SINCE_3_DAYS":"Up to 3 days old","SINCE_7_DAYS":"Up to 1 week old","SINCE_MONTH":"Up to 1 month old","SINCE_3_MONTHS":"Up to 3 months old","SINCE_6_MONTHS":"Up to 6 months old","SINCE_YEAR":"Up to 1 year old","SUBFOLDERS":"Subfolders","SUBFOLDERS_NONE":"None","SUBFOLDERS_SUBTREE":"All","SUBFOLDERS_SUBTREE_ONE":"One level","REPLIED":"Answered","KEYWORD":"Tag"},"FOLDER_LIST":{"BUTTON_COMPOSE":"Compose","BUTTON_NEW_MESSAGE":"New message","INBOX_NAME":"Inbox","SENT_NAME":"Sent","DRAFTS_NAME":"Drafts","TRASH_NAME":"Trash","ARCHIVE_NAME":"Archive"},"IMAP":{"ACL_RIGHTS":"Rights","ACL_A":"Administer","ACL_E":"Expunge","ACL_I":"Insert messages","ACL_K":"Create sub-folders","ACL_L":"Show messages","ACL_P":"Send mail","ACL_R":"Select folder","ACL_S":"\\SEEN tag","ACL_T":"\\DELETED tag","ACL_W":"Other tags","ACL_X":"Delete/Rename folder"},"MESSAGE_LIST":{"BUTTON_RELOAD":"Reload Message List","BUTTON_EMPTY_FOLDER":"Clear Folder","BUTTON_MULTY_FORWARD":"Forward as attachment(s)","BUTTON_DELETE_WITHOUT_MOVE":"Delete permanently","MENU_SET_SEEN":"Mark as read","MENU_SET_ALL_SEEN":"Mark all as read","MENU_UNSET_SEEN":"Mark as unread","MENU_SET_FLAG":"Flag","MENU_UNSET_FLAG":"Unflag","MENU_SELECT_ALL":"All","MENU_SELECT_INVERT":"Invert","MENU_SELECT_UNSEEN":"Unread","MENU_SELECT_SEEN":"Read","MENU_SELECT_FLAGGED":"Flagged","MENU_SELECT_UNFLAGGED":"Unflagged","DOWNLOAD_ALL_ATTACHMENTS":"Download all attachments","EMPTY_LIST":"Empty list.","EMPTY_SEARCH_LIST":"No messages matched your search.","SEARCH_RESULT_FOR":"Search results for \"%SEARCH%\"","BACK_TO_MESSAGE_LIST":"Back to message list","PUT_MESSAGE_HERE":"Drop message here to view it in the list","TODAY_AT":"today at %TIME%","YESTERDAY_AT":"yesterday at %TIME%","NEW_MESSAGE_NOTIFICATION":"You have %COUNT% new messages!","QUOTA_SIZE":"Using <strong>%SIZE% (%PROC%%)</strong> of your <strong>%LIMIT%</strong>","SORT":"Sort","NO_SORT":"Mail server does not support sorting","SORT_DATE_ASC":"Date ascending","SORT_DATE_DESC":"Date descending","SORT_SIZE_ASC":"Size ascending","SORT_SIZE_DESC":"Size descending","SORT_SUBJECT_ASC":"Subject A-Z","SORT_SUBJECT_DESC":"Subject Z-A","SORT_FROM_ASC":"From A-Z","SORT_FROM_DESC":"From Z-A"},"MESSAGE":{"BUTTON_EDIT":"Edit","BUTTON_UNSUBSCRIBE":"Unsubscribe from this list","BUTTON_REPLY":"Reply","BUTTON_REPLY_ALL":"Reply All","BUTTON_FORWARD":"Forward","BUTTON_FORWARD_AS_ATTACHMENT":"Forward as attachment","BUTTON_EDIT_AS_NEW":"Edit as New","BUTTON_SHOW_IMAGES":"Display external images","BUTTON_NOTIFY_READ_RECEIPT":"The sender has asked to be notified when you read this message.","BUTTON_IN_NEW_WINDOW":"View in separate window","BUTTON_THREAD_LIST":"Thread list","BUTTON_THREAD_PREV":"Previous","BUTTON_THREAD_NEXT":"Next","BUTTON_THREAD_MORE":"More messages","MENU_HEADERS":"Show message headers","MENU_VIEW_ORIGINAL":"Show Source","HTML_VIEW":"View HTML message","PLAIN_VIEW":"View plain text message","SWAP_COLORS":"Swap default (background)color","MENU_DOWNLOAD_ORIGINAL":"Download as .eml file","MENU_FILTER_SIMILAR":"Filter messages like this","MENU_PRINT":"Print","EMPTY_SUBJECT_TEXT":"(No subject)","LABEL_DATE":"Date","LABEL_FROM_SHORT":"from","LABEL_TO_SHORT":"to","PRINT_LABEL_ATTACHMENTS":"Attachments","MESSAGE_VIEW_DESC":"Select any message in the list to view it here.","MESSAGE_VIEW_MOVE_DESC":"Click folder name in the left panel to select the destination.","LINK_DOWNLOAD_AS_ZIP":"Download as zip","SPAM_SCORE":"Spam Score","HAS_VIRUS_WARNING":"WARNING: virus detected","TAGS":"Tags","NEW_TAG":"New tag","ENABLE_TRACKING_LINKS":"Enable tracking links","TRACKING_ENABLED":"Links are now tracked when clicked!"},"MESSAGE_TAGS":{"$important":"Important","$todo":"To Do","$label1":"Important","$label2":"Work","$label3":"Personal","$label4":"To Do","$label5":"Later"},"READ_RECEIPT":{"SUBJECT":"Return Receipt (displayed) - %SUBJECT%","BODY":"This is a Return Receipt for the mail that you sent to %READ-RECEIPT%.\n\nNote: \"This Return Receipt only acknowledges that the message was displayed on the recipient's computer.\"\nThere is no guarantee that the recipient has read or understood the message contents.\n"},"SUGGESTIONS":{"SEARCHING_DESC":"Searching..."},"CONTACTS":{"TAB_CONTACT":"Contact","TAB_LOCATIONS":"Locations","TAB_BUSINESS":"Business","LABEL_ORGANIZATION":"Organization","LABEL_DEPARTMENT":"Department","LABEL_TITLE":"Title","TAB_CRYPTO":"Crypto","ASK":"Ask","NEVER":"Never","ALWAYS":"Always","ALWAYS_IF_POSSIBLE":"Always if possible","BUTTON_ADD_CONTACT":"Add Contact","BUTTON_CREATE_CONTACT":"Create","BUTTON_IMPORT":"Import (csv, vcf, vCard)","BUTTON_EXPORT_VCARD":"Export (vcf, vCard)","BUTTON_EXPORT_CSV":"Export (csv)","ERROR_IMPORT_FILE":"Import error (invalid file format)","EMPTY_LIST":"No contacts here","EMPTY_SEARCH":"No contacts found","CLEAR_SEARCH":"Clear search","CONTACT_VIEW_DESC":"Select contact in the list to view it here.","LABEL_BIRTHDAY":"Birthday","DISPLAY_NAME":"Display name","LAST_NAME":"Last name","FIRST_NAME":"First name","MIDDLE_NAME":"Middle name","NAME_PREFIX":"Name prefix","NAME_SUFFIX":"Name suffix","NICK_NAME":"Nickname","LABEL_READ_ONLY":"Read only","ADD_MENU_LABEL":"Add","ADD_MENU_NICKNAME":"Nickname","ADD_MENU_NOTE":"Note","ADD_MENU_PHONE":"Phone","ADD_MENU_URL":"URL","ADD_MENU_ADDRESS":"Address","ADD_MENU_BIRTHDAY":"Birthday","ADD_MENU_TAGS":"Tags","BUTTON_SHARE_ALL":"Everyone","BUTTON_SYNC":"Synchronization (CardDAV)","SEND_TO_ALL_CONTACT_EMAILS":"Send to all contact emails"},"COMPOSE":{"LINK_SHOW_INPUTS":"show all fields","BUTTON_SEND":"Send","BUTTON_MINIMIZE":"Minimize","SAVED_TIME":"Saved at %TIME%","SAVED_ERROR_ON_SEND":"Message was sent but not saved to sent items folder","DISCARD_UNSAVED_DATA":"Discard unsaved data?","ATTACH_FILES":"Attach files","ATTACH_DROP_FILES_DESC":"Drop files here","REPLY_MESSAGE_TITLE":"%DATETIME%, %EMAIL% wrote","FORWARD_MESSAGE_TOP_TITLE":"-------- Forwarded message -------","FORWARD_MESSAGE_TOP_SENT":"Sent","EMPTY_TO_ERROR_DESC":"Please specify at least one recipient","NO_ATTACHMENTS_HERE_DESC":"No attachments here.","ATTACHMENTS_ERROR_DESC":"Warning! Not all attachments have been uploaded.","ATTACHMENTS_UPLOAD_ERROR_DESC":"Not all attachments have been uploaded yet.","ALLOW_SPELLCHECK":"Enable browser spelling checker","ALLOW_DRAFT_AUTOSAVE":"Automatically save draft","BUTTON_REQUEST_READ_RECEIPT":"Request a read receipt","BUTTON_MARK_AS_IMPORTANT":"Mark as important","BUTTON_REQUEST_DSN":"Request a delivery receipt","BUTTON_REQUIRE_TLS":"Require secure delivery","ERROR_EMPTY_BODY":"Message body is empty"},"POPUPS_ASK":{"EXIT_ARE_YOU_SURE":"Are you sure you want to exit?","DESC_WANT_CLOSE_THIS_WINDOW":"Are you sure you want to close this window?","DESC_WANT_DELETE_MESSAGES":"Are you sure you want to delete the message(s)?"},"POPUPS_LANGUAGES":{"TITLE_LANGUAGES":"Choose your language"},"POPUPS_ADD_ACCOUNT":{"TITLE_ADD_ACCOUNT":"Add Account","BUTTON_ADD_ACCOUNT":"Add","TITLE_UPDATE_ACCOUNT":"Edit Account"},"POPUPS_IDENTITY":{"TITLE_ADD_IDENTITY":"Add Identity","TITLE_UPDATE_IDENTITY":"Edit Identity","LABEL":"Label","BUTTON_ADD_IDENTITY":"Add","SIGNATURE":"Signature","LABEL_SIGNATURE_INSERT_BEFORE":"Insert this signature before quoted text in replies"},"POPUPS_CREATE_FOLDER":{"TITLE_CREATE_FOLDER":"Create a folder","LABEL_PARENT":"Parent folder","BUTTON_CREATE":"Create","TITLE_CREATING_PROCESS":"Creating a folder"},"POPUPS_CLEAR_FOLDER":{"TITLE_CLEAR_FOLDER":"Purge all messages from the folder?","DANGER_DESC_WARNING":"Warning!","DANGER_DESC_HTML_1":"This action will result in removing all mails from '<strong>%FOLDER%</strong>' folder completely.","DANGER_DESC_HTML_2":"Once started, the process cannot be aborted or canceled.","TITLE_CLEARING_PROCESS":"Purging the folder..."},"CRYPTO":{"SIGN":"Sign","ENCRYPT":"Encrypt","DECRYPT":"Decrypt","VERIFY":"Verify","GOOD_SIGNATURE":"Good signature from %USER%","ERROR":"%TYPE% error: %ERROR%","CREATE_SELF_SIGNED":"Create self-signed","VALID_UNTIL":"Valid until","PRIVATE_KEY":"Private key","CHANGE_PASS":"Change passphrase","CURRENT_PASS":"Current passphrase","NEW_PASS":"New passphrase","ASK_CRYPTKEY_PASS":"Your login passphrase has changed. Please fill in your old login passphrase to decrypt data"},"OPENPGP":{"POPUP_IMPORT_TITLE":"Import OpenPGP key","POPUP_IMPORT_BUTTON":"Import","POPUP_VIEW_TITLE":"View OpenPGP key","POPUP_VIEW_BUTTON":"Select","POPUP_GENERATE_TITLE":"Generate OpenPGP key pair","POPUP_GENERATE_BUTTON":"Generate","LABEL_KEY_TYPE":"Type","SIGNED_MESSAGE":"OpenPGP signed message","ENCRYPTED_MESSAGE":"OpenPGP encrypted message","STORE_IN_GNUPG":"Store on server in GnuPG","STORE_PUBLIC_KEY_IN_GNUPG":"Store public key on server in GnuPG","STORE_PRIVATE_KEY_IN_GNUPG":"Store private key on server in GnuPG","BACKUP_ON_SERVER":"Store (encrypted) on server","BACKUP_PUBLIC_KEY_ON_SERVER":"Backup public key on server","BACKUP_PRIVATE_KEY_ON_SERVER":"Backup private key on server"},"SMIME":{"POPUP_IMPORT_TITLE":"Import S/MIME certificate","CERTIFICATE":"Certificate","CERTIFICATES":"S/MIME Certificates","SIGNED_MESSAGE":"S/MIME signed message","ENCRYPTED_MESSAGE":"S/MIME encrypted message","PRIVATE_KEY_OF":"S/MIME private key of %EMAIL%"},"POPUPS_FILTER":{"TITLE_CREATE_FILTER":"Create a filter","TITLE_EDIT_FILTER":"Update filter","LEGEND_CONDITIONS":"Conditions","LEGEND_ACTIONS":"Actions","BUTTON_ADD_CONDITION":"Add a Condition","SELECT_ACTION_MOVE_TO":"Move to","SELECT_ACTION_FORWARD_TO":"Forward to","SELECT_ACTION_REJECT":"Reject","SELECT_ACTION_VACATION_MESSAGE":"Vacation message","SELECT_ACTION_DISCARD":"Discard","SELECT_FIELD_RECIPIENTS":"Recipients (To or CC)","SELECT_FIELD_HEADER":"Header","SELECT_FIELD_BODY":"Body","SELECT_FIELD_SIZE":"Size","SELECT_TYPE_CONTAINS":"Contains","SELECT_TYPE_NOT_CONTAINS":"Not Contains","SELECT_TYPE_MATCHES":"Matches (* and ? supported)","SELECT_TYPE_NOT_MATCHES":"Not Matches (* and ? supported)","SELECT_TYPE_REGEXP":"Regexp","SELECT_TYPE_NOT_REGEXP":"Not Regexp","SELECT_TYPE_EQUAL_TO":"Equal To","SELECT_TYPE_NOT_EQUAL_TO":"Not Equal To","SELECT_TYPE_OVER":"Over","SELECT_TYPE_UNDER":"Under","SELECT_TYPE_TEXT":"Text","SELECT_TYPE_RAW":"Raw","SELECT_MATCH_ANY":"Matching ANY of the following rules","SELECT_MATCH_ALL":"Matching ALL of the following rules","MARK_AS_READ_LABEL":"Mark as read","REPLY_INTERVAL_LABEL":"Reply interval (days)","KEEP_LABEL":"Keep","STOP_LABEL":"Stop further processing of rules","VACATION_SUBJECT_LABEL":"Subject (optional)","VACATION_MESSAGE_LABEL":"Message","VACATION_RECIPIENTS_LABEL":"Recipients (comma separated)","REJECT_MESSAGE_LABEL":"Reject message","ALL_INCOMING_MESSAGES_DESC":"All incoming messages"},"POPUPS_SIEVE_SCRIPT":{"TITLE_CREATE":"Create Script","TITLE_EDIT":"Edit Script","BUTTON_ADD_FILTER":"Add a Filter","BUTTON_RAW_SCRIPT":"Use Custom User Script","CAPABILITY_LABEL":"Capabilities","CHANGES_NEED_TO_BE_SAVED_DESC":"These changes need to be saved to the server."},"POPUPS_SYSTEM_FOLDERS":{"TITLE_SYSTEM_FOLDERS":"Select system folders","SELECT_CHOOSE_ONE":"Choose one","SELECT_UNUSE_NAME":"Do not use","NOTIFICATION_SENT":"You haven't selected \"Sent\" system folder messages are put to after sending.\nIf you don't want to save sent message, please select \"Do not use\" option.\n","NOTIFICATION_DRAFTS":"You haven't selected \"Drafts\" system folder messages are saved to while composing.","NOTIFICATION_SPAM":"You haven't selected \"Spam\" system folder spamed messages are placed to.\nIf you wish to remove messages permanently, please select \"Do not use\" option.\n","NOTIFICATION_TRASH":"You haven't selected \"Trash\" system folder deleted messages are placed to.\nIf you wish to remove messages permanently, please select \"Do not use\" option.\n","NOTIFICATION_ARCHIVE":"You haven't selected \"Archive\" system folder achived messages are placed to."},"TITLES":{"MAILBOX":"MailBox","SETTINGS":"Settings"},"UPLOAD":{"ERROR_FILE_IS_TOO_BIG":"File is too big","ERROR_FILE_PARTIALLY_UPLOADED":"File was partially uploaded due to unknown error","ERROR_NO_FILE_UPLOADED":"No file uploaded","ERROR_MISSING_TEMP_FOLDER":"The temporary file is missing","ERROR_ON_SAVING_FILE":"Saving uploaded file failed","ERROR_FILE_TYPE":"Invalid file type","ERROR_UNKNOWN":"An unknown file upload error occurred"},"EDITOR":{"PLAIN":"HTML <-> TEXT","SOURCE":"HTML <-> SOURCE","FONTFAMILY":"Font family","FONTSIZE":"Font size","DIR":"Text direction","DIR_LTR":"Left to right","DIR_RTL":"Right to left","DIR_AUTO":"Automatic","TEXTCOLOR":"Text color","BACKGROUNDCOLOR":"Background color","BOLD":"Bold","ITALIC":"Italic","UNDERLINE":"Underline","STRIKE":"Strikethrough","SUB":"Subscript","SUP":"Superscript","OL":"Ordered list","UL":"Unordered list","QUOTE":"Blockquote","INDENTDECREASE":"Decrease indent","INDENTINCREASE":"Increase indent","LINK":"Link","IMAGEURL":"Image URL","IMAGEUPLOAD":"Image select","UNDO":"Undo","REDO":"Redo","REMOVESTYLE":"Remove style"},"SETTINGS_LABELS":{"GENERAL":"General","CONTACTS":"Contacts","FOLDERS":"Folders","ACCOUNTS":"Accounts","FILTERS":"Filters","SECURITY":"Security","THEMES":"Themes"},"SETTINGS_FILTERS":{"SIMPLE":"Simple","ADVANCED":"Advanced","BUTTON_ADD_SCRIPT":"Add a Script","SUBNAME_MOVE_TO":"Move to \"%FOLDER%\"","SUBNAME_FORWARD_TO":"Forward to \"%EMAIL%\"","SUBNAME_REJECT":"Reject","SUBNAME_VACATION_MESSAGE":"Vacation message","SUBNAME_DISCARD":"Discard"},"SETTINGS_SECURITY":{"LEGEND_SECURITY":"Security","LABEL_AUTOLOGOUT":"Auto Logout","FORGET_KEY_PASS":"Forget private key passphrase","NEVER":"Never"},"SETTINGS_GENERAL":{"LANGUAGE":"Language","HOUR_FORMAT":"Hour format","IDENTITY":"Identity","LAYOUT":"Layout","LAYOUT_NO_SPLIT":"No Split","LAYOUT_VERTICAL_SPLIT":"Vertical Split","LAYOUT_HORIZONTAL_SPLIT":"Horizontal Split","SHOW_NEXT_MESSAGE":"Show next message when (re)move current message","EDITOR":"Default text editor","EDITOR_HTML":"Html","EDITOR_PLAIN":"Plain","VIEW_OPTIONS":"View options","USE_PREVIEW_PANE":"Use preview pane","HIDE_DELETED_MESSAGES":"Hide messages marked for deletion","USE_CHECKBOXES_IN_LIST":"Display checkboxes in list","USE_THREADS":"Use threads","THREAD_ALGORITHM":"Threads algorithm","REPLY_SAME_FOLDER":"Place replies in the folder of the message being replied to","PREFER_HTML":"Prefer HTML to plain text","PREFER_HTML_INFO":"Messages sometimes come in both formats. This option controls whether you want the HTML part or the plain text part to be displayed.","REMOVE_COLORS":"Remove background and text colors from message body","ALLOW_STYLES":"Allow <style> CSS","MESSAGE_PER_PAGE":"Messages on page","CHECK_MAIL_INTERVAL":"Check mail interval","MARK_MESSAGE_READ_AFTER":"Mark message as read after","MSG_DEFAULT_ACTION":"Default action","SECONDS":"seconds","MINUTES":"minutes","NOTIFICATIONS":"Notifications","SOUND_NOTIFICATION":"Sound notification","CHROME_NOTIFICATION_DESC":"Show new messages notification popups","CHROME_NOTIFICATION_DESC_DENIED":"(Blocked by the browser)","COLLAPSE_BLOCKQUOTES":"Collapse quoted text","MAX_QUOTE_LEVEL":"Maximum visible quoted text levels","LIST_INLINE_ATTACHMENTS":"Show inline attachments in list","LIST_SIMPLE_ATTACHMENTS":"Simple attachments list","LIST_MESSAGES_GROUPED":"List messages grouped (when sorting by date or from)","EXTERNAL_IMAGES":"External images","IMAGES_OPTION_ASK":"Always ask","IMAGES_OPTION_WHITELIST":"Whitelist or ask","IMAGES_OPTION_ALWAYS":"Show always","IMAGES_WHITELIST":"Images whitelist","MESSAGE_POPUP_WINDOW":"Popup in new window instead of tab","MAILTO":"Register as 'mailto:' links handler","HTML_TO_MD":"Convert HTML to Markdown instead of plain text"},"SETTINGS_CONTACTS":{"LABEL_CONTACTS_AUTOSAVE":"Automatically add recipients to your address book","LEGEND_CONTACTS_SYNC":"Remote Synchronization (CardDAV)","LABEL_CONTACTS_SYNC_ENABLE":"Enable remote synchronization","LABEL_CONTACTS_SYNC_SERVER":"Server","LABEL_CONTACTS_SYNC_AB_URL":"Addressbook URL","LABEL_CONTACTS_SYNC_USER":"User","SYNC_READ":"Read only"},"SETTINGS_THEMES":{"LEGEND_THEMES":"Themes","LABEL_BACKGROUND":"Background","LABEL_FONTS":"Fonts","BUTTON_UPLOAD_BACKGROUND_IMAGE":"Upload background image (JPG, PNG)","ERROR_FILE_IS_TOO_BIG":"File is too big","ERROR_FILE_TYPE_ERROR":"Invalid file type (JPG and PNG only)","ERROR_UNKNOWN":"An unknown file upload error occurred"},"SETTINGS_FOLDERS":{"LEGEND_FOLDERS":"Folder List","BUTTON_CREATE":"Create Folder","BUTTON_SYSTEM":"System Folders","BUTTON_SUBSCRIBE":"Subscribe","BUTTON_UNSUBSCRIBE":"Unsubscribe","LOADING_PROCESS":"Updating folder list","CREATING_PROCESS":"Creating a folder","DELETING_PROCESS":"Deleting a folder","RENAMING_PROCESS":"Renaming a folder","TO_MANY_FOLDERS_DESC_1":"You have too many folders!","TO_MANY_FOLDERS_DESC_2":"We have shown only a part of them, to avoid performance problems.","HELP_DELETE_FOLDER":"Delete folder","HELP_SHOW_HIDE_FOLDER":"Show/hide folder","HELP_CHECK_FOR_NEW_MESSAGES":"Check for new messages","HIDE_UNSUBSCRIBED":"Hide unsubscribed folders","UNHIDE_KOLAB_FOLDERS":"Unhide Kolab folders","TYPE_CALENDAR":"Calendar","TYPE_CONFIGURATION":"Configuration","TYPE_CONTACTS":"Contacts","TYPE_FILES":"Files","TYPE_JOURNAL":"Journal","TYPE_NOTES":"Notes","TYPE_TASKS":"Tasks"},"SETTINGS_ACCOUNTS":{"LEGEND_ACCOUNTS":"Accounts","LEGEND_IDENTITIES":"Identities","LEGEND_ACCOUNTS_AND_IDENTITIES":"Accounts and Identities","BUTTON_ADD_ACCOUNT":"Add an Account","BUTTON_ADD_IDENTITY":"Add an Identity","LOADING_PROCESS":"Updating...","SHOW_UNREAD":"Show unread messages count"},"SETTINGS_OPENPGP":{"BUTTON_IMPORT_KEY":"Import Key","BUTTON_GENERATE_KEY_PAIR":"Generate Key Pair","IMPORT_FROM_SERVER":"Import from server","TITLE_PRIVATE":"Private","TITLE_PUBLIC":"Public","GET_MAILVELOPE":"Get Mailvelope browser add-on."},"SHORTCUTS_HELP":{"LEGEND_SHORTCUTS_HELP":"Keyboard shortcuts help","TAB_MAILBOX":"Mailbox","TAB_MESSAGE_LIST":"Message list","TAB_MESSAGE_VIEW":"Message view","TAB_COMPOSE":"Compose","LABEL_OPEN_USER_DROPDOWN":"Open user dropdown","LABEL_REPLY":"Reply","LABEL_REPLY_ALL":"Reply All","LABEL_FORWARD":"Forward","LABEL_FORWARD_MULTIPLY":"Forward as attachment(s)","LABEL_CHECK_ALL":"Select all messages","LABEL_DELETE":"Delete","LABEL_OPEN_THREAD":"Open selected thread","LABEL_MOVE":"Move","LABEL_READ":"Read selected messages","LABEL_UNREAD":"Unread selected messages","LABEL_IMPORTANT":"Important, flag selected messages","LABEL_CANCEL_SEARCH":"Cancel search","LABEL_FULLSCREEN_ENTER":"Fullscreen (Preview pane layout)","LABEL_VIEW_MESSAGE_ENTER":"View message (No preview pane layout)","LABEL_SWITCH_TO_MESSAGE":"Switch focus to selected message","LABEL_SWITCH_TO_FOLDER_LIST":"Switch focus to folder list","LABEL_FULLSCREEN_TOGGLE":"Toggle fullscreen mode","LABEL_BLOCKQUOTES_TOGGLE":"Toggle message blockquotes","LABEL_THREAD_NEXT":"Next message in thread","LABEL_THREAD_PREV":"Previous message in thread","LABEL_EXIT_FULLSCREEN":"Exit fullscreen mode","LABEL_CLOSE_MESSAGE":"Close message (No preview pane layout)","LABEL_SWITCH_TO_LIST":"Switch focus back to message list","LABEL_OPEN_COMPOSE_POPUP":"Open compose popup","LABEL_MINIMIZE_COMPOSE_POPUP":"Minimize compose popup","LABEL_OPEN_IDENTITIES_DROPDOWN":"Open identities dropdown","LABEL_SAVE_MESSAGE":"Save message","LABEL_SEND_MESSAGE":"Send message","LABEL_CLOSE_COMPOSE":"Close compose"},"NOTIFICATIONS":{"RequestError":"Request failed","RequestAborted":"Request is aborted","RequestTimeout":"Request timed out","InvalidToken":"Invalid token","AuthError":"Authentication failed","ConnectionError":"Can't connect to server","DomainAlreadyExists":"Domain already exists","DomainNotAllowed":"Domain is not allowed","AccountNotAllowed":"Account is not allowed","CryptKeyError":"Your login passphrase has changed","ContactsSyncError":"Contacts synchronization error","CantGetMessageList":"Can't get message list","CantGetMessage":"Can't get message","CantDeleteMessage":"Can't delete message","CantCopyMessage":"Can't copy message","CantMoveMessage":"Can't move message","CantSaveMessage":"Can't save message","CantSendMessage":"Can't send message","InvalidRecipients":"Invalid recipients","CantSaveFilters":"Can't save filters","CantGetFilters":"Can't get filters","CantActivateFiltersScript":"Can't activate filters script","CantDeleteFiltersScript":"Can't delete filters script","FiltersAreNotCorrect":"Filters are not correct","CantCreateFolder":"Can't create folder","CantRenameFolder":"Can't rename folder","CantDeleteFolder":"Can't delete folder","CantDeleteNonEmptyFolder":"Can't delete non-empty directory","CantSubscribeFolder":"Can't subscribe folder","CantUnsubscribeFolder":"Can't unsubscribe folder","DemoSendMessageError":"For security purposes, this account is not allowed to send messages to external e-mail addresses!","DemoAccountError":"For security purposes, this account is not allowed for this action!","AccountAlreadyExists":"Account already exists","AccountDoesNotExist":"Account doesn't exist","AccountSwitchFailed":"Switch to account \"%EMAIL%\" failed","MailServerError":"An error has occured while accessing mail server","InvalidInputArgument":"Invalid input argument","UnknownError":"Unknown error"}};
rl.relativeTime = {
long: {
year: {
past: {
one: "{0} year ago",
other: "{0} years ago"
},
future: {
one: "in {0} year",
other: "in {0} years"
}
},
month: {
past: {
one: "{0} month ago",
other: "{0} months ago"
},
future: {
one: "in {0} month",
other: "in {0} months"
}
},
week: {
past: {
one: "{0} week ago",
other: "{0} weeks ago"
},
future: {
one: "in {0} week",
other: "in {0} weeks"
}
},
day: {
past: {
one: "{0} day ago",
other: "{0} days ago"
},
future: {
one: "in {0} day",
other: "in {0} days"
}
},
hour: {
past: {
one: "{0} hour ago",
other: "{0} hours ago"
},
future: {
one: "in {0} hour",
other: "in {0} hours"
}
},
minute: {
past: {
one: "{0} minute ago",
other: "{0} minutes ago"
},
future: {
one: "in {0} minute",
other: "in {0} minutes"
}
},
second: {
past: {
one: "{0} second ago",
other: "{0} seconds ago"
},
future: {
one: "in {0} second",
other: "in {0} seconds"
}
}
},
/* 'zero', 'one', 'two', 'few', 'many', 'other' */
plural: n => 1 == n ? 'one' : 'other'
}
;</script> </body></html><!--cached-->