-
-
Notifications
You must be signed in to change notification settings - Fork 192
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
…T-VBFK) Co-authored-by: IT-VBFK <it@voecklabrucker-freikriche.at> Co-authored-by: Jens Maus <mail@jens-maus.de>
- Loading branch information
1 parent
a1905a0
commit c735122
Showing
2 changed files
with
184 additions
and
39 deletions.
There are no files selected for viewing
124 changes: 100 additions & 24 deletions
124
buildroot-external/patches/occu/0170-WebUI-RegexSearchInDeviceLists.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,76 +1,152 @@ | ||
--- occu/WebUI/www/webui/webui.js.orig | ||
+++ occu/WebUI/www/webui/webui.js | ||
@@ -7882,11 +7882,8 @@ | ||
@@ -7871,6 +7871,19 @@ | ||
} | ||
}; | ||
|
||
+ const isValidRegex = function(possiblyValidRegex) | ||
+ { | ||
+ try | ||
+ { | ||
+ const r = new RegExp(possiblyValidRegex); | ||
+ } | ||
+ catch(err) | ||
+ { | ||
+ return false; | ||
+ } | ||
+ | ||
+ return true; | ||
+ } | ||
/** | ||
* Prüft, ob der Filter auf einen Text zutrifft | ||
**/ | ||
@@ -7882,12 +7895,23 @@ | ||
//var patternList = m_value.split("|"); | ||
text = text.toLowerCase(); | ||
|
||
- for (var i = 0, len = patternList.length; i < len; i++) | ||
- { | ||
+ let searchString = m_value.toLowerCase(); | ||
+ if(isValidRegex(searchString)) | ||
{ | ||
- if (0 <= text.indexOf(patternList[i])) { return true; } | ||
- } | ||
+ var r = new RegExp(searchString); | ||
+ if (r.test(text) === true) { return true; } | ||
+ | ||
+ return false; | ||
+ } | ||
+ else | ||
+ { | ||
+ for (var i = 0, len = patternList.length; i < len; i++) | ||
+ { | ||
+ if (0 <= text.indexOf(patternList[i])) { return true; } | ||
+ } | ||
+ | ||
+ return false; | ||
} | ||
- | ||
+ var r = new RegExp(m_value.toLowerCase()); | ||
+ if (r.test(text) === true) {return true; } | ||
return false; | ||
- return false; | ||
}; | ||
|
||
@@ -32410,7 +32407,8 @@ | ||
/** | ||
@@ -32410,7 +32434,15 @@ | ||
{ | ||
if (typeof obj['type'] != 'undefined') { | ||
if (obj['type'] === "") { return false; } | ||
- if (obj['type'].toLowerCase().indexOf(this.filType) == -1) { return false; } | ||
+ var r = new RegExp(this.filType); | ||
+ if (r.test(obj['type'].toLowerCase()) === false) {return false; } | ||
+ if (isValidRegex(this.filType)) | ||
+ { | ||
+ var r = new RegExp(this.filType); | ||
+ if (r.test(obj['type'].toLowerCase()) === false) { return false; } | ||
+ } | ||
+ else | ||
+ { | ||
+ if (obj['type'].toLowerCase().indexOf(this.filType) == -1) { return false; } | ||
+ } | ||
} | ||
} | ||
if (this.filDesc !== "") | ||
@@ -32420,7 +32418,8 @@ | ||
@@ -32420,7 +32452,15 @@ | ||
{ | ||
//conInfo( "iseFilter: desc="+obj['desc'] ); | ||
if (obj['desc'] === "") { return false; } | ||
- if (obj['desc'].toLowerCase().indexOf(this.filDesc) == -1) { return false; } | ||
+ var r = new RegExp(this.filDesc); | ||
+ if (r.test(obj['desc'].toLowerCase()) === false) {return false; } | ||
+ if (isValidRegex(this.filDesc)) | ||
+ { | ||
+ var r = new RegExp(this.filDesc); | ||
+ if (r.test(obj['desc'].toLowerCase()) === false) { return false; } | ||
+ } | ||
+ else | ||
+ { | ||
+ if (obj['desc'].toLowerCase().indexOf(this.filDesc) == -1) { return false; } | ||
+ } | ||
} | ||
} | ||
if (this.filName !== "") | ||
@@ -32429,7 +32428,8 @@ | ||
@@ -32429,7 +32469,15 @@ | ||
{ | ||
if (obj['name'] === "") { return false; } | ||
var transName = translateString(obj['name']); | ||
- if (transName.toLowerCase().indexOf(this.filName) == -1) { return false; } | ||
+ var r = new RegExp(this.filName); | ||
+ if (r.test(transName.toLowerCase()) === false) {return false; } | ||
+ if (isValidRegex(this.filName)) | ||
+ { | ||
+ var r = new RegExp(this.filName); | ||
+ if (r.test(transName.toLowerCase()) === false) { return false; } | ||
+ } | ||
+ else | ||
+ { | ||
+ if (transName.toLowerCase().indexOf(this.filName) == -1) { return false; } | ||
+ } | ||
} | ||
} | ||
if (this.filSn !== "") | ||
@@ -32437,7 +32437,8 @@ | ||
@@ -32437,7 +32485,15 @@ | ||
if (typeof obj['sn'] != 'undefined') | ||
{ | ||
if (obj['sn'] === "") { return false; } | ||
- if (obj['sn'].toLowerCase().indexOf(this.filSn) == -1) { return false; } | ||
+ var r = new RegExp(this.filSn); | ||
+ if (r.test(obj['sn'].toLowerCase()) === false) {return false; } | ||
+ if (isValidRegex(this.filSn)) | ||
+ { | ||
+ var r = new RegExp(this.filSn); | ||
+ if (r.test(obj['sn'].toLowerCase()) === false) { return false; } | ||
+ } | ||
+ else | ||
+ { | ||
+ if (obj['desc'].toLowerCase().indexOf(this.filSn) == -1) { return false; } | ||
+ } | ||
} | ||
} | ||
if (this.filUnit !== "") | ||
@@ -32445,7 +32446,8 @@ | ||
@@ -32445,7 +32501,15 @@ | ||
if (typeof obj['unit'] != 'undefined') | ||
{ | ||
if (obj['unit'] === "") { return false; } | ||
- if (obj['unit'].toLowerCase().indexOf(this.filUnit) == -1) { return false; } | ||
+ var r = new RegExp(this.filUnit); | ||
+ if (r.test(obj['unit'].toLowerCase()) === false) {return false; } | ||
+ if (isValidRegex(this.filUnit)) | ||
+ { | ||
+ var r = new RegExp(this.filUnit); | ||
+ if (r.test(obj['unit'].toLowerCase()) === false) { return false; } | ||
+ } | ||
+ else | ||
+ { | ||
+ if (obj['unit'].toLowerCase().indexOf(this.filUnit) == -1) { return false; } | ||
+ } | ||
} | ||
} | ||
|
||
@@ -32469,7 +32471,8 @@ | ||
@@ -32469,7 +32533,15 @@ | ||
if (this.filChnLink !== "") | ||
{ | ||
if (obj['chn'] === "") { return false; } | ||
- if (obj['chn'].toLowerCase().indexOf(this.filChnLink) == -1) { return false; } | ||
+ var r = new RegExp(this.filChnLink); | ||
+ if (r.test(obj['chn'].toLowerCase()) === false) {return false; } | ||
+ if (isValidRegex(this.filChnLink)) | ||
+ { | ||
+ var r = new RegExp(this.filChnLink); | ||
+ if (r.test(obj['chn'].toLowerCase()) === false) { return false; } | ||
+ } | ||
+ else | ||
+ { | ||
+ if (obj['chn'].toLowerCase().indexOf(this.filChnLink) == -1) { return false; } | ||
+ } | ||
} | ||
/* | ||
if (this.filVarTypes !== "") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters