2013-12-14 07:27:12 +08:00
|
|
|
<div class="popups">
|
2013-12-29 20:15:03 +08:00
|
|
|
<div class="modal hide b-domain-content g-ui-user-select-none" data-bind="modal: modalVisibility, css: {'domain-edit': edit, 'domain-white-list-page': whiteListPage}">
|
2013-12-14 07:27:12 +08:00
|
|
|
<div class="modal-header">
|
|
|
|
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
|
|
|
<h3 data-bind="text: headerText"></h3>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body">
|
|
|
|
<form class="form-horizontal domain-form" action="#/" onsubmit="return false;">
|
|
|
|
<div class="row" data-bind="visible: !edit()">
|
|
|
|
<div class="span8">
|
2014-02-08 07:28:11 +08:00
|
|
|
Name <span style="color: #aaa">(wildcard supported)</span>
|
2013-12-14 07:27:12 +08:00
|
|
|
<br />
|
2014-02-08 07:28:11 +08:00
|
|
|
<input type="text" data-bind="value: name, hasfocus: name.focused, valueUpdate: 'afterkeydown'" />
|
2013-12-14 07:27:12 +08:00
|
|
|
<span class="error-desc" data-bind="text: savingError"></span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<br />
|
|
|
|
<div class="row">
|
|
|
|
<div class="span4" data-bind="css: { 'testing-done': testingDone, 'testing-error': testingImapError }">
|
|
|
|
<div class="legend imap-header">
|
|
|
|
IMAP
|
|
|
|
</div>
|
|
|
|
Server
|
|
|
|
<br />
|
|
|
|
<input type="text" data-bind="value: imapServer, valueUpdate: 'afterkeydown', hasfocus: imapServerFocus" />
|
|
|
|
<br />
|
|
|
|
<br />
|
|
|
|
Port
|
|
|
|
<br />
|
|
|
|
<input type="text" data-bind="value: imapPort, valueUpdate: 'afterkeydown'" />
|
|
|
|
<br />
|
|
|
|
<br />
|
|
|
|
Secure
|
|
|
|
<br />
|
|
|
|
<select class="span2" data-bind="value: imapSecure">
|
|
|
|
<option value="0">None</option>
|
|
|
|
<option value="1">SSL</option>
|
|
|
|
<option value="2">TLS</option>
|
|
|
|
</select>
|
|
|
|
<br />
|
|
|
|
<br />
|
|
|
|
<label data-bind="click: function () { imapShortLogin(!imapShortLogin()); }">
|
|
|
|
<i data-bind="css: imapShortLogin() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
|
|
|
|
|
|
|
Use short login form
|
|
|
|
</label>
|
|
|
|
</div>
|
|
|
|
<div class="span4" data-bind="css: { 'testing-done': testingDone, 'testing-error': testingSmtpError }">
|
|
|
|
<div class="legend smtp-header">
|
|
|
|
SMTP
|
|
|
|
</div>
|
|
|
|
Server
|
|
|
|
<br />
|
|
|
|
<input type="text" data-bind="value: smtpServer, valueUpdate: 'afterkeydown', hasfocus: smtpServerFocus" />
|
|
|
|
<br />
|
|
|
|
<br />
|
|
|
|
Port
|
|
|
|
<br />
|
|
|
|
<input type="text" data-bind="value: smtpPort, valueUpdate: 'afterkeydown'" />
|
|
|
|
<br />
|
|
|
|
<br />
|
|
|
|
Secure
|
|
|
|
<br />
|
|
|
|
<select class="span2" data-bind="value: smtpSecure">
|
|
|
|
<option value="0">None</option>
|
|
|
|
<option value="1">SSL</option>
|
|
|
|
<option value="2">TLS</option>
|
|
|
|
</select>
|
|
|
|
<br />
|
|
|
|
<br />
|
|
|
|
<label data-bind="click: function () { smtpShortLogin(!smtpShortLogin()); }">
|
|
|
|
<i data-bind="css: smtpShortLogin() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
|
|
|
|
|
|
|
Use short login form
|
|
|
|
</label>
|
|
|
|
<label data-bind="click: function () { smtpAuth(!smtpAuth()); }">
|
|
|
|
<i data-bind="css: smtpAuth() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
|
|
|
|
|
|
|
Use authentication
|
|
|
|
</label>
|
|
|
|
</div>
|
|
|
|
<div class="span8">
|
|
|
|
<div class="legend white-list-header">
|
|
|
|
White List
|
|
|
|
</div>
|
|
|
|
<div class="alert alert-block span6 alert-null-left-margin" style="width: 562px;">
|
2014-03-24 23:54:59 +08:00
|
|
|
List of domain users webmail is allowed to access.
|
2013-12-14 07:27:12 +08:00
|
|
|
Use a space as delimiter.
|
|
|
|
</div>
|
2014-02-08 07:28:11 +08:00
|
|
|
<textarea class="input-xxlarge" style="width: 600px" rows="8" data-bind="value: whiteList" tabindex="-1"></textarea>
|
2013-12-14 07:27:12 +08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
|
|
<a class="btn button-test-connection pull-left" data-bind="command: testConnectionCommand, css: {
|
|
|
|
'btn-success': testingDone() && !testingImapError() && !testingSmtpError(),
|
|
|
|
'btn-danger': testingDone() && (testingImapError() || testingSmtpError()) }">
|
2013-12-15 06:42:32 +08:00
|
|
|
<i data-bind="css: {'icon-info': !testing(), 'icon-spinner animated': testing(), 'icon-white': testingDone()}"></i>
|
2013-12-14 07:27:12 +08:00
|
|
|
|
|
|
|
Test Connection
|
|
|
|
</a>
|
|
|
|
<a class="btn button-white-list pull-left" data-bind="command: whiteListCommand">
|
2013-12-15 06:42:32 +08:00
|
|
|
<i data-bind="css: {'icon-right': !whiteListPage(), 'icon-left': whiteListPage()}"></i>
|
2013-12-14 07:27:12 +08:00
|
|
|
|
|
|
|
<span data-bind="visible: !whiteListPage()">White List</span>
|
|
|
|
<span data-bind="visible: whiteListPage()">Back</span>
|
|
|
|
</a>
|
|
|
|
<a class="btn buttonClose" data-bind="command: cancelCommand">
|
|
|
|
<i class="icon-remove"></i>
|
|
|
|
|
|
|
|
Close
|
|
|
|
</a>
|
|
|
|
<a class="btn buttonClear" data-bind="command: createOrAddCommand">
|
|
|
|
<i data-bind="css: edit() ? 'icon-ok' : 'icon-plus', visible: !saving()"></i>
|
2013-12-15 06:42:32 +08:00
|
|
|
<i class="icon-spinner animated" data-bind="visible: saving"></i>
|
2013-12-14 07:27:12 +08:00
|
|
|
|
|
|
|
<span data-bind="text: edit() ? 'Update' : 'Add'"></span>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
2013-09-25 03:04:44 +08:00
|
|
|
</div>
|