Closes #1166, Add http access to WebDAV
This commit is contained in:
parent
1f334a2eb8
commit
ecfc44ee57
|
@ -33,6 +33,7 @@ function init()
|
||||||
rows[i].firstChild.nextSibling.value = Zotero.isMac ? 'Cmd+Shift+' : 'Ctrl+Alt+';
|
rows[i].firstChild.nextSibling.value = Zotero.isMac ? 'Cmd+Shift+' : 'Ctrl+Alt+';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateStorageSettings();
|
||||||
refreshStylesList();
|
refreshStylesList();
|
||||||
refreshProxyList();
|
refreshProxyList();
|
||||||
populateQuickCopyList();
|
populateQuickCopyList();
|
||||||
|
@ -147,6 +148,23 @@ function populateOpenURLResolvers() {
|
||||||
//
|
//
|
||||||
// Sync
|
// Sync
|
||||||
//
|
//
|
||||||
|
function updateStorageSettings(value) {
|
||||||
|
if (!value) {
|
||||||
|
value = document.getElementById('pref-storage-protocol').value;
|
||||||
|
}
|
||||||
|
var prefix = document.getElementById('storage-url-prefix');
|
||||||
|
switch (value) {
|
||||||
|
case 'webdav':
|
||||||
|
prefix.value = 'http://';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'webdavs':
|
||||||
|
prefix.value = 'https://';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
unverifyStorageServer();
|
||||||
|
}
|
||||||
|
|
||||||
function unverifyStorageServer() {
|
function unverifyStorageServer() {
|
||||||
Zotero.debug("Clearing storage settings");
|
Zotero.debug("Clearing storage settings");
|
||||||
Zotero.Sync.Storage.clearSettingsCache();
|
Zotero.Sync.Storage.clearSettingsCache();
|
||||||
|
|
|
@ -161,6 +161,7 @@ To add a new preference:
|
||||||
<preferences>
|
<preferences>
|
||||||
<preference id="pref-sync-autosync" name="extensions.zotero.sync.autoSync" type="bool"/>
|
<preference id="pref-sync-autosync" name="extensions.zotero.sync.autoSync" type="bool"/>
|
||||||
<preference id="pref-sync-username" name="extensions.zotero.sync.server.username" type="string" instantApply="true"/>
|
<preference id="pref-sync-username" name="extensions.zotero.sync.server.username" type="string" instantApply="true"/>
|
||||||
|
<preference id="pref-storage-protocol" name="extensions.zotero.sync.storage.protocol" type="string"/>
|
||||||
<preference id="pref-storage-enabled" name="extensions.zotero.sync.storage.enabled" type="bool"/>
|
<preference id="pref-storage-enabled" name="extensions.zotero.sync.storage.enabled" type="bool"/>
|
||||||
<preference id="pref-storage-url" name="extensions.zotero.sync.storage.url" type="string" instantApply="true"/>
|
<preference id="pref-storage-url" name="extensions.zotero.sync.storage.url" type="string" instantApply="true"/>
|
||||||
<preference id="pref-storage-username" name="extensions.zotero.sync.storage.username" type="string" instantApply="true"/>
|
<preference id="pref-storage-username" name="extensions.zotero.sync.storage.username" type="string" instantApply="true"/>
|
||||||
|
@ -222,10 +223,24 @@ To add a new preference:
|
||||||
</columns>
|
</columns>
|
||||||
|
|
||||||
<rows>
|
<rows>
|
||||||
|
<row>
|
||||||
|
<label value="Protocol:"/>
|
||||||
|
<hbox>
|
||||||
|
<menulist id="storage-url-protocol"
|
||||||
|
preference="pref-storage-protocol"
|
||||||
|
onsynctopreference="updateStorageSettings(this.value)">
|
||||||
|
<menupopup>
|
||||||
|
<menuitem label="WebDAV" value="webdav"/>
|
||||||
|
<!-- TODO: localize -->
|
||||||
|
<menuitem label="WebDAV (Secure)" value="webdavs"/>
|
||||||
|
</menupopup>
|
||||||
|
</menulist>
|
||||||
|
</hbox>
|
||||||
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<label value="URL:"/>
|
<label value="URL:"/>
|
||||||
<hbox>
|
<hbox>
|
||||||
<label value="https://"/>
|
<label id="storage-url-prefix"/>
|
||||||
<textbox id="storage-url" flex="1"
|
<textbox id="storage-url" flex="1"
|
||||||
preference="pref-storage-url"
|
preference="pref-storage-url"
|
||||||
onkeypress="if (Zotero.isMac && event.keyCode == 13) { this.blur(); verifyStorageServer(); }"
|
onkeypress="if (Zotero.isMac && event.keyCode == 13) { this.blur(); verifyStorageServer(); }"
|
||||||
|
|
|
@ -72,7 +72,22 @@ Zotero.Sync.Storage = new function () {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
spec = 'https://' + spec + '/zotero/';
|
var protocol = Zotero.Prefs.get('sync.storage.protocol');
|
||||||
|
switch (protocol) {
|
||||||
|
case 'webdav':
|
||||||
|
var scheme = "http";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'webdavs':
|
||||||
|
var scheme = "https";
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
throw ("Invalid storage protocol '" + protocol
|
||||||
|
+ "' in Zotero.Sync.Storage.rootURI");
|
||||||
|
}
|
||||||
|
|
||||||
|
spec = scheme + '://' + spec + '/zotero/';
|
||||||
|
|
||||||
var ios = Components.classes["@mozilla.org/network/io-service;1"].
|
var ios = Components.classes["@mozilla.org/network/io-service;1"].
|
||||||
getService(Components.interfaces.nsIIOService);
|
getService(Components.interfaces.nsIIOService);
|
||||||
|
|
|
@ -84,7 +84,8 @@ grid row hbox:first-child
|
||||||
{
|
{
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
}
|
}
|
||||||
#zotero-prefpane-sync row hbox label:first-child
|
#zotero-prefpane-sync row hbox label:first-child,
|
||||||
|
#zotero-prefpane-sync row hbox menulist:first-child
|
||||||
{
|
{
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
|
|
|
@ -88,6 +88,7 @@ pref("extensions.zotero.annotations.warnOnClose", true);
|
||||||
pref("extensions.zotero.sync.autoSync", true);
|
pref("extensions.zotero.sync.autoSync", true);
|
||||||
pref("extensions.zotero.sync.server.username", '');
|
pref("extensions.zotero.sync.server.username", '');
|
||||||
pref("extensions.zotero.sync.server.compressData", true);
|
pref("extensions.zotero.sync.server.compressData", true);
|
||||||
|
pref("extensions.zotero.sync.storage.protocol", "webdavs");
|
||||||
pref("extensions.zotero.sync.storage.enabled", false);
|
pref("extensions.zotero.sync.storage.enabled", false);
|
||||||
pref("extensions.zotero.sync.storage.verified", false);
|
pref("extensions.zotero.sync.storage.verified", false);
|
||||||
pref("extensions.zotero.sync.storage.url", '');
|
pref("extensions.zotero.sync.storage.url", '');
|
||||||
|
|
Loading…
Reference in New Issue
Block a user