mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 00:52:16 -06:00
fix tree-rendering when history-popping into bbox
plus misc similar technically-incorrect addq usages; most of these don't matter in practice since they'll never get a url with a hash, but makes the intent clear and make sure hashes never get passed around like they're part of a dirkey, harmless as it is
This commit is contained in:
parent
4f0cad5468
commit
989cc613ef
|
@ -1554,7 +1554,7 @@ var mpl = (function () {
|
||||||
if (!c)
|
if (!c)
|
||||||
return url;
|
return url;
|
||||||
|
|
||||||
return addq(url, 'th=') + (can_ogg ? 'opus' : (IPHONE || MACOS) ? 'caf' : 'mp3');
|
return addq(url, 'th=' + (can_ogg ? 'opus' : (IPHONE || MACOS) ? 'caf' : 'mp3'));
|
||||||
};
|
};
|
||||||
|
|
||||||
r.pp = function () {
|
r.pp = function () {
|
||||||
|
@ -4286,7 +4286,7 @@ var showfile = (function () {
|
||||||
|
|
||||||
r.show = function (url, no_push) {
|
r.show = function (url, no_push) {
|
||||||
var xhr = new XHR(),
|
var xhr = new XHR(),
|
||||||
m = /[?&](k=[^&]+)/.exec(url);
|
m = /[?&](k=[^&#]+)/.exec(url);
|
||||||
|
|
||||||
url = url.split('?')[0] + (m ? '?' + m[1] : '');
|
url = url.split('?')[0] + (m ? '?' + m[1] : '');
|
||||||
xhr.url = url;
|
xhr.url = url;
|
||||||
|
@ -4826,7 +4826,7 @@ var thegrid = (function () {
|
||||||
ihref = ohref;
|
ihref = ohref;
|
||||||
|
|
||||||
if (r.thumbs) {
|
if (r.thumbs) {
|
||||||
ihref = addq(ihref, 'th=') + (have_webp ? 'w' : 'j');
|
ihref = addq(ihref, 'th=' + (have_webp ? 'w' : 'j'));
|
||||||
if (!r.crop)
|
if (!r.crop)
|
||||||
ihref += 'f';
|
ihref += 'f';
|
||||||
if (r.x3)
|
if (r.x3)
|
||||||
|
@ -5975,14 +5975,14 @@ var treectl = (function () {
|
||||||
|
|
||||||
function get_tree(top, dst, rst) {
|
function get_tree(top, dst, rst) {
|
||||||
var xhr = new XHR(),
|
var xhr = new XHR(),
|
||||||
m = /[?&](k=[^&]+)/.exec(dst),
|
m = /[?&](k=[^&#]+)/.exec(dst),
|
||||||
k = m ? '&' + m[1] : dk ? '&k=' + dk : '';
|
k = m ? '&' + m[1] : dk ? '&k=' + dk : '';
|
||||||
|
|
||||||
xhr.top = top;
|
xhr.top = top;
|
||||||
xhr.dst = dst;
|
xhr.dst = dst;
|
||||||
xhr.rst = rst;
|
xhr.rst = rst;
|
||||||
xhr.ts = Date.now();
|
xhr.ts = Date.now();
|
||||||
xhr.open('GET', addq(dst, 'tree=') + top + (r.dots ? '&dots' : '') + k, true);
|
xhr.open('GET', addq(dst, 'tree=' + top + (r.dots ? '&dots' : '') + k), true);
|
||||||
xhr.onload = xhr.onerror = recvtree;
|
xhr.onload = xhr.onerror = recvtree;
|
||||||
xhr.send();
|
xhr.send();
|
||||||
enspin('#tree');
|
enspin('#tree');
|
||||||
|
@ -6071,7 +6071,7 @@ var treectl = (function () {
|
||||||
cl = '';
|
cl = '';
|
||||||
|
|
||||||
if (dk && ehref == cevp && !/[?&]k=/.exec(qhref))
|
if (dk && ehref == cevp && !/[?&]k=/.exec(qhref))
|
||||||
links[a].setAttribute('href', addq(qhref, 'k=') + dk);
|
links[a].setAttribute('href', addq(qhref, 'k=' + dk));
|
||||||
|
|
||||||
if (href == cdir) {
|
if (href == cdir) {
|
||||||
act = links[a];
|
act = links[a];
|
||||||
|
@ -6172,7 +6172,7 @@ var treectl = (function () {
|
||||||
return window.location = url;
|
return window.location = url;
|
||||||
|
|
||||||
var xhr = new XHR(),
|
var xhr = new XHR(),
|
||||||
m = /[?&](k=[^&]+)/.exec(url),
|
m = /[?&](k=[^&#]+)/.exec(url),
|
||||||
k = m ? '&' + m[1] : dk ? '&k=' + dk : '';
|
k = m ? '&' + m[1] : dk ? '&k=' + dk : '';
|
||||||
|
|
||||||
xhr.top = url.split('?')[0];
|
xhr.top = url.split('?')[0];
|
||||||
|
@ -6258,7 +6258,7 @@ var treectl = (function () {
|
||||||
for (var a = 0; a < res.dirs.length; a++) {
|
for (var a = 0; a < res.dirs.length; a++) {
|
||||||
var dh = res.dirs[a].href,
|
var dh = res.dirs[a].href,
|
||||||
dn = dh.split('/')[0].split('?')[0],
|
dn = dh.split('/')[0].split('?')[0],
|
||||||
m = /[?&](k=[^&]+)/.exec(dh);
|
m = /[?&](k=[^&#]+)/.exec(dh);
|
||||||
|
|
||||||
if (m)
|
if (m)
|
||||||
dn += '?' + m[1];
|
dn += '?' + m[1];
|
||||||
|
@ -6630,7 +6630,7 @@ var treectl = (function () {
|
||||||
hbase = req,
|
hbase = req,
|
||||||
cbase = location.pathname,
|
cbase = location.pathname,
|
||||||
mdoc = /[?&]doc=/.exec('' + url),
|
mdoc = /[?&]doc=/.exec('' + url),
|
||||||
mdk = /[?&](k=[^&]+)/.exec('' + url);
|
mdk = /[?&](k=[^&#]+)/.exec('' + url);
|
||||||
|
|
||||||
if (mdoc && hbase == cbase)
|
if (mdoc && hbase == cbase)
|
||||||
return showfile.show(hbase + showfile.sname(url.search), true);
|
return showfile.show(hbase + showfile.sname(url.search), true);
|
||||||
|
@ -7267,7 +7267,7 @@ var arcfmt = (function () {
|
||||||
if (!/^(zip|tar|pax|tgz|txz)$/.exec(txt))
|
if (!/^(zip|tar|pax|tgz|txz)$/.exec(txt))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
var m = /(.*[?&])(tar|zip)([^&]*)(.*)$/.exec(href);
|
var m = /(.*[?&])(tar|zip)([^&#]*)(.*)$/.exec(href);
|
||||||
if (!m)
|
if (!m)
|
||||||
throw new Error('missing arg in url');
|
throw new Error('missing arg in url');
|
||||||
|
|
||||||
|
@ -7343,7 +7343,7 @@ var msel = (function () {
|
||||||
item.vp = href.indexOf('/') !== -1 ? href : vbase + href;
|
item.vp = href.indexOf('/') !== -1 ? href : vbase + href;
|
||||||
|
|
||||||
if (dk) {
|
if (dk) {
|
||||||
var m = /[?&](k=[^&]+)/.exec(qhref);
|
var m = /[?&](k=[^&#]+)/.exec(qhref);
|
||||||
item.q = m ? '?' + m[1] : '';
|
item.q = m ? '?' + m[1] : '';
|
||||||
}
|
}
|
||||||
else item.q = '';
|
else item.q = '';
|
||||||
|
@ -8281,7 +8281,7 @@ function reload_browser() {
|
||||||
|
|
||||||
for (var a = 0; a < parts.length - 1; a++) {
|
for (var a = 0; a < parts.length - 1; a++) {
|
||||||
link += parts[a] + '/';
|
link += parts[a] + '/';
|
||||||
var link2 = dks[link] ? addq(link, 'k=') + dks[link] : link;
|
var link2 = dks[link] ? addq(link, 'k=' + dks[link]) : link;
|
||||||
|
|
||||||
o = mknod('a');
|
o = mknod('a');
|
||||||
o.setAttribute('href', link2);
|
o.setAttribute('href', link2);
|
||||||
|
|
|
@ -736,7 +736,11 @@ function vjoin(p1, p2) {
|
||||||
|
|
||||||
|
|
||||||
function addq(url, q) {
|
function addq(url, q) {
|
||||||
return url + (url.indexOf('?') < 0 ? '?' : '&') + (q === undefined ? '' : q);
|
var uh = url.split('#', 1),
|
||||||
|
u = uh[0],
|
||||||
|
h = uh.length == 1 ? '' : '#' + uh[1];
|
||||||
|
|
||||||
|
return u + (u.indexOf('?') < 0 ? '?' : '&') + (q === undefined ? '' : q) + h;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue