summaryrefslogtreecommitdiffstats
path: root/core/js/js.js
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2015-12-21 13:10:03 +0100
committerRoeland Jago Douma <roeland@famdouma.nl>2016-10-24 21:45:00 +0200
commit25d9dce067dcc068ceb554033b3ed164b8645555 (patch)
treeffd364bd89514f5712517ff30d8029315d7a4847 /core/js/js.js
parent59c5be1cc572793a8d50e87ab589e1cc4cf2ed12 (diff)
downloadnextcloud-server-25d9dce067dcc068ceb554033b3ed164b8645555.tar.gz
nextcloud-server-25d9dce067dcc068ceb554033b3ed164b8645555.zip
JS utility function to compare paths
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'core/js/js.js')
-rw-r--r--core/js/js.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/core/js/js.js b/core/js/js.js
index 16da273c8e1..0db9967094b 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -423,6 +423,28 @@ var OC={
},
/**
+ * Returns whether the given paths are the same, without
+ * leading, trailing or doubled slashes and also removing
+ * the dot sections.
+ *
+ * @param {String} path1 first path
+ * @param {String} path2 second path
+ * @return {bool} true if the paths are the same
+ *
+ * @since 9.0
+ */
+ isSamePath: function(path1, path2) {
+ var filterDot = function(p) {
+ return p !== '.';
+ };
+ var pathSections1 = _.filter((path1 || '').split('/'), filterDot);
+ var pathSections2 = _.filter((path2 || '').split('/'), filterDot);
+ path1 = OC.joinPaths.apply(OC, pathSections1);
+ path2 = OC.joinPaths.apply(OC, pathSections2);
+ return path1 === path2;
+ },
+
+ /**
* Join path sections
*
* @param {...String} path sections