|
2381 | 2381 | */ |
2382 | 2382 | urlSpec.a = this._filesConfig.get('cropimagepreviews') ? 0 : 1; |
2383 | 2383 |
|
| 2384 | + // Use map to get consistent parameter ordering with activity app generated URl (php) |
| 2385 | + const urlSpecMap = new Map() |
| 2386 | + urlSpecMap.set('forceIcon', urlSpec.forceIcon) |
| 2387 | + urlSpecMap.set('a', urlSpec.a) |
| 2388 | + urlSpecMap.set('x', urlSpec.x) |
| 2389 | + urlSpecMap.set('y', urlSpec.y) |
| 2390 | + |
| 2391 | + if (urlSpec.mode) { |
| 2392 | + urlSpecMap.set('mode', urlSpec.mode) |
| 2393 | + } |
| 2394 | + |
2384 | 2395 | if (typeof urlSpec.fileId !== 'undefined') { |
2385 | | - delete urlSpec.file; |
2386 | | - return OC.generateUrl('/core/preview?') + $.param(urlSpec); |
| 2396 | + urlSpecMap.set('fileId', urlSpec.fileId) |
| 2397 | + urlSpecMap.set('c', urlSpec.c) |
| 2398 | + |
| 2399 | + let param = [] |
| 2400 | + urlSpecMap.forEach((value, key) => { |
| 2401 | + param.push(encodeURIComponent(key) + '=' + encodeURIComponent(value)) |
| 2402 | + }) |
| 2403 | + param = param.join('&') |
| 2404 | + |
| 2405 | + return window.location.protocol + '//' + window.location.hostname + OC.generateUrl('/core/preview?') + param |
2387 | 2406 | } else { |
2388 | | - delete urlSpec.fileId; |
2389 | | - return OC.generateUrl('/core/preview.png?') + $.param(urlSpec); |
| 2407 | + urlSpecMap.set('file', urlSpec.file) |
| 2408 | + urlSpecMap.set('c', urlSpec.c) |
| 2409 | + |
| 2410 | + let param = [] |
| 2411 | + urlSpecMap.forEach((key, value) => { |
| 2412 | + param.push(encodeURIComponent(key) + '=' + encodeURIComponent(value)) |
| 2413 | + }) |
| 2414 | + param = param.join('&') |
| 2415 | + |
| 2416 | + return window.location.protocol + '//' + window.location.hostname + OC.generateUrl('/core/preview.png?') + param |
2390 | 2417 | } |
2391 | 2418 |
|
2392 | 2419 | }, |
|
0 commit comments