Fix regex to not take email uids as federated ids

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl 2020-03-03 17:19:34 +01:00
parent 6ea1aef031
commit d612aeec2d
No known key found for this signature in database
GPG Key ID: 4C614C6ED2CDE6DF
1 changed files with 20 additions and 21 deletions

View File

@ -25,13 +25,14 @@
* @namespace
*/
OCA.Sharing.Util = {
/**
* Regular expression for splitting parts of remote share owners:
* "user@example.com/path/to/owncloud"
* "user@anotherexample.com@example.com/path/to/owncloud
*/
_REMOTE_OWNER_REGEXP: new RegExp('^([^@]*)@(([^@]*)@)?([^/]*)([/](.*)?)?$'),
/**
* Regular expression for splitting parts of remote share owners:
* "user@example.com/"
* "user@example.com/path/to/owncloud"
* "user@anotherexample.com@example.com/path/to/owncloud
*/
_REMOTE_OWNER_REGEXP: new RegExp('^(([^@]*)@(([^@^/^\\s]*)@)?)([^[\\s/]*)([/](.*))?$'),
/**
* Initialize the sharing plugin.
@ -350,26 +351,24 @@
*/
_formatRemoteShare: function(shareWith, shareWithDisplayName, message) {
var parts = OCA.Sharing.Util._REMOTE_OWNER_REGEXP.exec(shareWith)
if (!parts) {
if (!parts || !parts[6]) {
// display avatar of the user
var avatar = '<span class="avatar" data-username="' + escapeHTML(shareWith) + '" title="' + message + ' ' + escapeHTML(shareWithDisplayName) + '"></span>'
var hidden = '<span class="hidden-visually">' + message + ' ' + escapeHTML(shareWithDisplayName) + '</span> '
return avatar + hidden
}
var userName = parts[1]
var userDomain = parts[3]
var server = parts[4]
var tooltip = message + ' ' + userName
if (userDomain) {
tooltip += '@' + userDomain
}
if (server) {
if (!userDomain) {
userDomain = '…'
}
tooltip += '@' + server
}
var userName = parts[2]
var userDomain = parts[4]
var server = parts[5]
var tooltip = message + ' ' + userName
if (userDomain) {
tooltip += '@' + userDomain
}
if (server) {
tooltip += '@' + server
}
var html = '<span class="remoteAddress" title="' + escapeHTML(tooltip) + '">'
html += '<span class="username">' + escapeHTML(userName) + '</span>'