mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-08 00:47:04 +03:00
+ Updated contacts sql shema (breaking changes) + Fixes - Removed SabreDAV Server - Removed Contacts Sharing (awhile, code refactoring)
This commit is contained in:
parent
54a4c2657a
commit
d29f20789f
78 changed files with 2024 additions and 2317 deletions
|
|
@ -18,19 +18,21 @@
|
|||
<i data-bind="css: enableContacts() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
Enable contacts
|
||||
</label>
|
||||
<label data-bind="click: function () { contactsSharing(!contactsSharing()); }">
|
||||
<!-- <label data-bind="click: function () { contactsSharing(!contactsSharing()); }">
|
||||
<i data-bind="css: contactsSharing() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
Allow contacts sharing
|
||||
</label>
|
||||
<br />
|
||||
Allow contacts sharing (disabled)
|
||||
</label>-->
|
||||
<label data-bind="click: function () { contactsSync(!contactsSync()); }">
|
||||
<i data-bind="css: contactsSync() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
Allow contacts sync server (CardDAV)
|
||||
Allow contacts sync (with external CardDAV server)
|
||||
</label>
|
||||
<a href="http://rainloop.net/docs/web-servers/" target="_blank">Web server configuration examples</a>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
</div>
|
||||
<div class="form-horizontal" data-bind="visible: contactsSupported">
|
||||
<div class="legend">
|
||||
Storage (PDO)
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
Type
|
||||
|
|
@ -41,10 +43,8 @@
|
|||
<div data-bind="saveTrigger: contactsTypeTrigger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div data-bind="visible: 'sqlite' !== contactsType()">
|
||||
<div class="legend">
|
||||
PDO (MySQL / PostgreSQL)
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
Dsn
|
||||
|
|
@ -90,15 +90,12 @@
|
|||
</div>
|
||||
</div>
|
||||
<div data-bind="visible: 'sqlite' === contactsType()">
|
||||
<div class="legend">
|
||||
PDO (SQLite)
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div class="alert alert-null-left-margin span8">
|
||||
<h4>Notice!</h4>
|
||||
<br />
|
||||
Don't use this type of database with a large number of active users.
|
||||
Don't use this database type with a large number of active users.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
</a>
|
||||
<a class="btn btn-dark-disabled-border button-delete" data-tooltip-placement="bottom" data-bind="command: deleteCommand, tooltip: 'MESSAGE_LIST/BUTTON_DELETE'">
|
||||
<i class="icon-trash"></i>
|
||||
<span data-bind="text: printableMessageCountForDeletion()"></span>
|
||||
<!--<span data-bind="text: printableMessageCountForDeletion()"></span>-->
|
||||
</a>
|
||||
</div>
|
||||
<div class="btn-group"> </div>
|
||||
|
|
|
|||
|
|
@ -75,10 +75,10 @@
|
|||
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_FLAGGED"></span>
|
||||
</label>
|
||||
<label data-bind="click: function () { hasAttachments(!hasAttachments()); }">
|
||||
<i data-bind="css: hasAttachments() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
<label data-bind="click: function () { hasAttachment(!hasAttachment()); }">
|
||||
<i data-bind="css: hasAttachment() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_HAS_ATTACHMENTS"></span>
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_HAS_ATTACHMENT"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<div class="modal-header b-header-toolbar g-ui-user-select-none">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a class="btn btn-large button-send" data-bind="command: sendCommand, css: {'btn-danger': sendError, 'btn-warning': sendSuccessButSaveError }">
|
||||
<i data-bind="css: {'icon-rocket': !sending(), 'icon-spinner animated': sending(), 'icon-white': sendError() || sendSuccessButSaveError()}"></i>
|
||||
<i data-bind="css: {'icon-paper-plane': !sending(), 'icon-spinner animated': sending(), 'icon-white': sendError() || sendSuccessButSaveError()}"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="COMPOSE/BUTTON_SEND"></span>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,8 @@
|
|||
|
||||
<div class="btn-group">
|
||||
<a class="btn dropdown-toggle buttonMore" data-toggle="dropdown">
|
||||
<i data-bind="css: {'icon-list': !contacts.importing(), 'icon-spinner animated': contacts.importing()}"></i>
|
||||
<i data-bind="css: {'icon-list': !contacts.importing() && !contacts.syncing(),
|
||||
'icon-spinner animated': contacts.importing() || contacts.syncing()}"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu g-ui-menu" role="menu">
|
||||
<li class="e-item">
|
||||
|
|
@ -24,6 +25,13 @@
|
|||
<span class="i18n" data-i18n-text="CONTACTS/BUTTON_IMPORT"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" data-bind="visible: enableContactsSync">
|
||||
<a class="e-link" data-bind="command: syncCommand">
|
||||
<i class="icon-sync"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="CONTACTS/BUTTON_SYNC"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
@ -147,32 +155,6 @@
|
|||
<i class="icon-lock iconsize24" data-tooltip-placement="left" data-bind="tooltip: 'CONTACTS/LABEL_READ_ONLY'"></i>
|
||||
</div>
|
||||
|
||||
<div class="e-share-sign" data-bind="visible: contactsSharingIsAllowed">
|
||||
<div class="btn-group pull-right">
|
||||
<a class="btn dropdown-toggle" data-tooltip-placement="left" data-toggle="dropdown" data-bind="tooltip: 'CONTACTS/LABEL_SHARE'">
|
||||
<i data-bind="css: shareIcon"></i>
|
||||
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu g-ui-menu" role="menu">
|
||||
<li class="e-item" data-bind="css: {'selected': shareToNone}">
|
||||
<a class="e-link" data-bind="click: setShareToNone">
|
||||
<i class="icon-none"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="CONTACTS/BUTTON_SHARE_NONE"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" data-bind="css: {'selected': shareToAll}">
|
||||
<a class="e-link" data-bind="click: setShareToAll">
|
||||
<i class="icon-earth"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="CONTACTS/BUTTON_SHARE_ALL"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button class="btn button-save-contact" data-bind="command: saveCommand, css: {'dirty': watchDirty}">
|
||||
<i data-bind="css: {'icon-ok': !viewSaving(), 'icon-spinner animated': viewSaving()}"></i>
|
||||
|
||||
|
|
|
|||
|
|
@ -13,53 +13,52 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="form-horizontal" data-bind="visible: allowContactsSync">
|
||||
<div class="legend">
|
||||
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LEGEND_MOBILE_SYNC"></span>
|
||||
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LEGEND_CONTACTS_SYNC"></span>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" style="padding-top: 0;">
|
||||
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LABEL_SYNC_SERVER"></span>
|
||||
<div class="controls">
|
||||
<label data-bind="click: function () { enableContactsSync(!enableContactsSync()); }">
|
||||
<i data-bind="css: enableContactsSync() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_ENABLE"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="control-group">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_SERVER"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<strong data-bind="text: contactsSyncServer"></strong>
|
||||
<input type="text" data-bind="" />
|
||||
</div>
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="control-group">
|
||||
<label class="control-label" style="padding-top: 0;">
|
||||
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LABEL_SYNC_USERNAME"></span>
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_AB_URL"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<strong data-bind="text: contactsSyncUser"></strong>
|
||||
<input class="input-xxlarge" type="text" data-bind="value: contactsSyncUrl" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" style="padding-top: 0;">
|
||||
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LABEL_SYNC_PASSWORD"></span>
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_USER"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<strong style="color:red" data-bind="text: contactsSyncPass, visible: showPassword"></strong>
|
||||
<span class="g-ui-link i18n" data-bind="visible: !showPassword(), click: toggleShowPassword"
|
||||
data-i18n-text="SETTINGS_CONTACTS/LINK_SHOW"></span>
|
||||
|
||||
<span class="g-ui-link i18n" data-bind="visible: showPassword, click: toggleShowPassword"
|
||||
data-i18n-text="SETTINGS_CONTACTS/LINK_HIDE"></span>
|
||||
<input type="text" data-bind="value: contactsSyncUser" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_PASSWORD"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<div class="alert alert-info span7" style="margin-left: 0">
|
||||
<p>
|
||||
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/DESC_FULL_PAB_URL"></span>
|
||||
</p>
|
||||
<p>
|
||||
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LABEL_DESC_PAB"></span>:
|
||||
<br />
|
||||
<a href="javascript:void(0);" target="_blank" data-bind="text: contactsSyncPabUrl, attr: {'href': contactsSyncPabUrl}"></a>
|
||||
</p>
|
||||
</div>
|
||||
<br />
|
||||
<input type="password" data-bind="value: contactsSyncPass" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue