]> err.no Git - scalable-opengroupware.org/blobdiff - SOGo/UI/WebServerResources/generic.js
added query parameter functions
[scalable-opengroupware.org] / SOGo / UI / WebServerResources / generic.js
index 8cb97c5b42ab71e1d9739dbd93d0ace16043f93a..1d71b9737755878381eed0919b0e11c114cbf3b1 100644 (file)
@@ -76,6 +76,48 @@ function refreshOpener() {
   }
 }
 
+/* query string */
+
+function parseQueryString() {
+  var queryArray, queryDict
+  var key, value, s, idx;
+  queryDict.length = 0;
+  
+  queryDict  = new Array();
+  queryArray = location.search.substr(1).split('&');
+  for (var i in queryArray) {
+    if (!queryArray[i]) continue ;
+    s   = queryArray[i];
+    idx = s.indexOf("=");
+    if (idx == -1) {
+      key   = s;
+      value = "";
+    }
+    else {
+      key   = s.substr(0, idx);
+      value = unescape(s.substr(idx + 1));
+    }
+    
+    if (typeof queryDict[key] == 'undefined')
+      queryDict.length++;
+    
+    queryDict[key] = value;
+  }
+  return queryDict;
+}
+
+function generateQueryString(queryDict) {
+  var s = "":
+  for (var key in queryDict) {
+    if (s.length == 0)
+      s = "?";
+    else
+      s = s + "&";
+    s = s + key + "=" + escape(queryDict[key]);
+  }
+  return s;
+}
+
 function getQueryParaArray(s) {
   if (s.charAt(0) == "?") s = s.substr(1, s.length - 1);
   return s.split("&");
@@ -96,6 +138,8 @@ function getQueryParaValue(s, name) {
   return null;
 }
 
+/* opener callback */
+
 function triggerOpenerCallback() {
   /* this code has some issue if the folder has no proper trailing slash! */
   if (window.opener && !window.opener.closed) {