formatting remote sharer should take protocol, path into account

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This commit is contained in:
Arthur Schiwon 2020-11-25 16:36:30 +01:00 committed by backportbot[bot]
parent 921f9441d3
commit 8e8861f716
1 changed files with 120 additions and 117 deletions

View File

@ -34,7 +34,7 @@ import escapeHTML from 'escape-html'
* "user@example.com/path/to/owncloud" * "user@example.com/path/to/owncloud"
* "user@anotherexample.com@example.com/path/to/owncloud * "user@anotherexample.com@example.com/path/to/owncloud
*/ */
_REMOTE_OWNER_REGEXP: new RegExp('^(([^@]*)@(([^@^/^\\s]*)@)?)([^[\\s/]*)([/](.*))?$'), _REMOTE_OWNER_REGEXP: new RegExp('^(([^@]*)@(([^@^/\\s]*)@)?)((https://)?[^[\\s/]*)([/](.*))?$'),
/** /**
* Initialize the sharing plugin. * Initialize the sharing plugin.
@ -353,7 +353,8 @@ import escapeHTML from 'escape-html'
*/ */
_formatRemoteShare: function(shareWith, shareWithDisplayName, message) { _formatRemoteShare: function(shareWith, shareWithDisplayName, message) {
var parts = OCA.Sharing.Util._REMOTE_OWNER_REGEXP.exec(shareWith) var parts = OCA.Sharing.Util._REMOTE_OWNER_REGEXP.exec(shareWith)
if (!parts || !parts[6]) { console.error(parts);
if (!parts || !parts[7]) {
// display avatar of the user // display avatar of the user
var avatar = '<span class="avatar" data-username="' + escapeHTML(shareWith) + '" title="' + message + ' ' + escapeHTML(shareWithDisplayName) + '"></span>' var avatar = '<span class="avatar" data-username="' + escapeHTML(shareWith) + '" title="' + message + ' ' + escapeHTML(shareWithDisplayName) + '"></span>'
var hidden = '<span class="hidden-visually">' + message + ' ' + escapeHTML(shareWithDisplayName) + '</span> ' var hidden = '<span class="hidden-visually">' + message + ' ' + escapeHTML(shareWithDisplayName) + '</span> '
@ -363,13 +364,15 @@ import escapeHTML from 'escape-html'
var userName = parts[2] var userName = parts[2]
var userDomain = parts[4] var userDomain = parts[4]
var server = parts[5] var server = parts[5]
var protocol = parts[6]
var serverPath = parts[8] ? parts[7] : ''; // no trailing slash on root
var tooltip = message + ' ' + userName var tooltip = message + ' ' + userName
if (userDomain) { if (userDomain) {
tooltip += '@' + userDomain tooltip += '@' + userDomain
} }
if (server) { if (server) {
tooltip += '@' + server tooltip += '@' + server.replace(protocol, '') + serverPath
} }
var html = '<span class="remoteAddress" title="' + escapeHTML(tooltip) + '">' var html = '<span class="remoteAddress" title="' + escapeHTML(tooltip) + '">'