summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing/js')
-rw-r--r--apps/files_sharing/js/external.js46
1 files changed, 23 insertions, 23 deletions
diff --git a/apps/files_sharing/js/external.js b/apps/files_sharing/js/external.js
index 5c476b2d43d..a142819b112 100644
--- a/apps/files_sharing/js/external.js
+++ b/apps/files_sharing/js/external.js
@@ -8,13 +8,6 @@
*
*/
(function () {
- var getParameterByName = function (query, name) {
- name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
- var regex = new RegExp("[\\#&]" + name + "=([^&#]*)"),
- results = regex.exec(query);
- return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
- };
-
var addExternalShare = function (remote, token, owner, name, password) {
return $.post(OC.generateUrl('apps/files_sharing/external'), {
remote: remote,
@@ -25,7 +18,16 @@
});
};
- var showAddExternalDialog = function (remote, token, owner, name, passwordProtected) {
+ /**
+ * Shows "add external share" dialog.
+ *
+ * @param {String} remote remote server URL
+ * @param {String} owner owner name
+ * @param {String} name name of the shared folder
+ * @param {String} token authentication token
+ * @param {bool} passwordProtected true if the share is password protected
+ */
+ OCA.Sharing.showAddExternalDialog = function (remote, token, owner, name, passwordProtected) {
var remoteClean = (remote.substr(0, 8) === 'https://') ? remote.substr(8) : remote.substr(7);
var callback = function (add, password) {
password = password || '';
@@ -47,25 +49,23 @@
, 'Add Share', callback, true, 'Password', true);
}
};
-
- OCA.Sharing.showAddExternalDialog = function (hash) {
- var remote = getParameterByName(hash, 'remote');
- var owner = getParameterByName(hash, 'owner');
- var name = getParameterByName(hash, 'name');
- var token = getParameterByName(hash, 'token');
- var passwordProtected = parseInt(getParameterByName(hash, 'protected'), 10);
-
- if (remote && token && owner && name) {
- showAddExternalDialog(remote, token, owner, name, passwordProtected);
- }
- };
})();
$(document).ready(function () {
// FIXME: HACK: do not init when running unit tests, need a better way
if (!window.TESTING && OCA.Files) {// only run in the files app
- var hash = location.hash;
- location.hash = '';
- OCA.Sharing.showAddExternalDialog(hash);
+ var params = OC.Util.History.parseUrlQuery();
+ if (params.remote && params.token && params.owner && params.name) {
+ // clear hash, it is unlikely that it contain any extra parameters
+ location.hash = '';
+ params.passwordProtected = parseInt(params.passwordProtected, 10) === 1;
+ OCA.Sharing.showAddExternalDialog(
+ params.remote,
+ params.token,
+ params.owner,
+ params.name,
+ params.passwordProtected
+ );
+ }
}
});