Merge pull request #3138 from nextcloud/backport-2776-prevent-quotes-from-being-a-problem

[stable11] Escape the name for the jquery selector
This commit is contained in:
Christoph Wurst 2017-01-18 17:52:56 +01:00 committed by GitHub
commit ecb6354933
1 changed files with 9 additions and 1 deletions

View File

@ -1175,7 +1175,7 @@
var innernameSpan = $('<span></span>').addClass('innernametext').text(basename);
if (path && path !== '/') {
var conflictingItems = this.$fileList.find('tr[data-file="' + name.replace( /(:|\.|\[|\]|,|=)/g, "\\$1") + '"]');
var conflictingItems = this.$fileList.find('tr[data-file="' + this._jqSelEscape(name) + '"]');
if (conflictingItems.length !== 0) {
if (conflictingItems.length === 1) {
// Update the path on the first conflicting item
@ -1261,6 +1261,14 @@
return tr;
},
/* escape a selector expression for jQuery */
_jqSelEscape: function (expression) {
if (expression) {
return expression.replace(/[!"#$%&'()*+,.\/:;<=>?@\[\\\]^`{|}~]/g, '\\$&');
}
return null;
},
/**
* Adds an entry to the files array and also into the DOM
* in a sorted manner.