changeset 728:8b1abca34033

Move code around, for cleaner structure.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 18 Nov 2014 22:54:06 +0200
parents 399603df8c6f
children 0d064dcef03e
files admin.php ajax.js majax.inc.php
diffstat 3 files changed, 200 insertions(+), 200 deletions(-) [+]
line wrap: on
line diff
--- a/admin.php	Tue Nov 18 22:41:06 2014 +0200
+++ b/admin.php	Tue Nov 18 22:54:06 2014 +0200
@@ -14,6 +14,7 @@
 function stCreateSettingsData()
 {
   echo
+  "<script type=\"text/javascript\">\n".
   "\n".
   "var jsSettingsArgs = [];\n";
 
@@ -46,7 +47,8 @@
   "    jsSendPOSTRequest(\"action=update&type=settings&id=\"+id+\"&\"+jsMakePostArgs(jsSettingsArgs[id], \"st\", \"\"));\n".
   "  return false;\n".
   "}\n".
-  "\n";
+  "\n".
+  "</script>\n";
 }
 
 
@@ -119,10 +121,9 @@
 }
 else
 {
+stCreateSettingsData();
+stCommonAJAX("admajax.php", "admlogout.php");
 ?>
-<script type="text/javascript">
-// <? stCreateSettingsData(); stCommonAJAX("admajax.php", "admlogout.php", FALSE); ?>
-</script>
 <script type="text/javascript" src="admin.js"></script>
 
 <!-- ========================== -->
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ajax.js	Tue Nov 18 22:54:06 2014 +0200
@@ -0,0 +1,190 @@
+function jsCloseMessageBox(callback, cb_data)
+{
+  var nitem = document.getElementById("messageBox");
+  if (nitem && nitem.style.display != "none")
+  {
+    nitem.style.display = "none";
+  
+    if (callback && typeof(callback) === "function")
+      callback(cb_data);
+  }
+}
+
+
+function jsMessageBox(msg)
+{
+  var nitem = document.getElementById("messageBox");
+  if (nitem)
+  {
+    nitem.innerHTML = "<div class='messageBoxInner'>"+ msg +
+      "<div class='messageBoxControls'>"+
+      "<input id='msgBoxConfirmClose' type='button' value=' OK '>"+
+      "</div></div>";
+
+    var elem = document.getElementById("msgBoxConfirmClose");
+    elem.onclick = function () { jsCloseMessageBox(0, 0); }
+
+    nitem.style.display = "block";
+  }
+}
+
+
+function jsConfirmBox(msg, cb_ok, cb_cancel, cb_data)
+{
+  var nitem = document.getElementById("messageBox");
+  if (nitem)
+  {
+    nitem.innerHTML = "<div class='messageBoxInner'><h1>Confirmation</h1><p>"+ msg +"</p>"+
+      "<div class='messageBoxControls'>"+
+      "<input id='msgBoxConfirmCancel' type='button' value=' Cancel '>"+
+      "<input id='msgBoxConfirmOK' type='button' value=' OK '>"+
+      "</div></div>";
+
+    var elem = document.getElementById("msgBoxConfirmCancel");
+    elem.onclick = function () { jsCloseMessageBox(cb_cancel, cb_data); }
+
+    elem = document.getElementById("msgBoxConfirmOK");
+    elem.onclick = function () { jsCloseMessageBox(cb_ok, cb_data); }
+    
+    nitem.style.display = "block";
+  }
+}
+
+
+function statusMsg(msg)
+{
+  var nitem = document.getElementById("nstatus");
+  if (nitem) nstatus.innerHTML = msg;
+}
+
+
+function strtrim(str)
+{
+  if (!str || str == null)
+    return "";
+  return str.replace(/^\s+|\s+$/g,'')
+}
+
+
+function strencode(str)
+{
+  return encodeURIComponent(str);
+}
+
+
+function jsCreateXMLRequest()
+{
+  var req;
+  if (window.XMLHttpRequest)
+  {
+    // Modern browsers
+    req = new XMLHttpRequest();
+  }
+  else
+  {
+    // Old IE versions
+    req = new ActiveXObject("Microsoft.XMLHTTP");
+  }
+  return req;
+}
+
+
+//
+// Function for creating AJAX POST request arguments list based
+// on fields and giving them specified types. Also basic check
+// for validity can be performed (e.g. field empty or not)
+//
+var lastPostArgs = Object();
+function jsMakePostArgs(fields, fprefix, fsuffix, nofail)
+{
+  var res = [];
+  lastPostArgs = Object();
+
+  for (var id in fields)
+  {
+    var elname = fprefix + id + fsuffix;
+    switch (fields[id])
+    {
+      case 4:
+        elname += "Sel";
+        break;
+    }
+
+    var elem = document.getElementById(elname);
+    if (!elem && !nofail)
+    {
+      jsMessageBox("No such DOM element '"+ elname +"'.");
+      return "";
+    }
+
+    if (elem)
+    {
+      switch (fields[id])
+      {
+        case 1:
+          var vstr = strtrim(elem.value);
+          res.push(id+"="+strencode(vstr));
+          lastPostArgs[id] = vstr;
+          break;
+
+        case 2:
+          var vint = parseInt(strtrim(elem.value));
+          res.push(id+"="+vint);
+          lastPostArgs[id] = vint;
+          break;
+
+        case 3:
+          res.push(id+"="+(elem.checked ? "1" : "0"));
+          lastPostArgs[id] = elem.checked;
+          break;
+
+        case 4:
+          var vval = (elem.selectedIndex != -1) ? elem.options[elem.selectedIndex].value : -1;
+          res.push(id+"="+vval);
+          lastPostArgs[id] = vval;
+          break;
+
+        default:
+          jsMessageBox("Unsupported field type in "+ elname);
+          return "";
+      }
+    }
+  }
+  return res.join("&");
+}
+
+
+function jsGetValue(elname, eltype)
+{
+  var elem = document.getElementById(elname);
+  if (!elem)
+  {
+    jsMessageBox("No such DOM element '"+ elname +"'.");
+    return "";
+  }
+
+  switch (eltype)
+  {
+    case 1:
+      var vstr = strtrim(elem.value);
+      return strencode(vstr);
+
+    case 2:
+      var vint = parseInt(strtrim(elem.value));
+      return vint;
+
+    case 3:
+      return elem.checked ? "1" : "0";
+
+    case 4:
+      if (elem.selectedIndex != -1)
+        return elem.options[elem.selectedIndex].value;
+      else
+        return null;
+
+    default:
+      jsMessageBox("Unsupported field type in "+ elname);
+      return "";
+  }
+}
+
--- a/majax.inc.php	Tue Nov 18 22:41:06 2014 +0200
+++ b/majax.inc.php	Tue Nov 18 22:54:06 2014 +0200
@@ -6,101 +6,11 @@
 //
 
 
-function stCommonAJAX($backend, $failover, $script = FALSE)
-{
-if ($script)
-  echo "<script type=\"text/javascript\">\n";
-
-?>
-function jsCloseMessageBox(callback, cb_data)
-{
-  var nitem = document.getElementById("messageBox");
-  if (nitem && nitem.style.display != "none")
-  {
-    nitem.style.display = "none";
-  
-    if (callback && typeof(callback) === "function")
-      callback(cb_data);
-  }
-}
-
-
-function jsMessageBox(msg)
-{
-  var nitem = document.getElementById("messageBox");
-  if (nitem)
-  {
-    nitem.innerHTML = "<div class='messageBoxInner'>"+ msg +
-      "<div class='messageBoxControls'>"+
-      "<input id='msgBoxConfirmClose' type='button' value=' OK '>"+
-      "</div></div>";
-
-    var elem = document.getElementById("msgBoxConfirmClose");
-    elem.onclick = function () { jsCloseMessageBox(0, 0); }
-
-    nitem.style.display = "block";
-  }
-}
-
-
-function jsConfirmBox(msg, cb_ok, cb_cancel, cb_data)
+function stCommonAJAX($backend, $failover)
 {
-  var nitem = document.getElementById("messageBox");
-  if (nitem)
-  {
-    nitem.innerHTML = "<div class='messageBoxInner'><h1>Confirmation</h1><p>"+ msg +"</p>"+
-      "<div class='messageBoxControls'>"+
-      "<input id='msgBoxConfirmCancel' type='button' value=' Cancel '>"+
-      "<input id='msgBoxConfirmOK' type='button' value=' OK '>"+
-      "</div></div>";
-
-    var elem = document.getElementById("msgBoxConfirmCancel");
-    elem.onclick = function () { jsCloseMessageBox(cb_cancel, cb_data); }
-
-    elem = document.getElementById("msgBoxConfirmOK");
-    elem.onclick = function () { jsCloseMessageBox(cb_ok, cb_data); }
-    
-    nitem.style.display = "block";
-  }
-}
-
-
-function statusMsg(msg)
-{
-  var nitem = document.getElementById("nstatus");
-  if (nitem) nstatus.innerHTML = msg;
-}
-
-
-function strtrim(str)
-{
-  if (!str || str == null)
-    return "";
-  return str.replace(/^\s+|\s+$/g,'')
-}
-
-
-function strencode(str)
-{
-  return encodeURIComponent(str);
-}
-
-
-function jsCreateXMLRequest()
-{
-  var req;
-  if (window.XMLHttpRequest)
-  {
-    // Modern browsers
-    req = new XMLHttpRequest();
-  }
-  else
-  {
-    // Old IE versions
-    req = new ActiveXObject("Microsoft.XMLHTTP");
-  }
-  return req;
-}
+?>
+<script type="text/javascript" src="ajax.js"></script>
+<script type="text/javascript">
 
 
 function jsSendPOSTRequest(params, success, failure)
@@ -161,108 +71,7 @@
   req.send(params);
 }
 
-
-//
-// Function for creating AJAX POST request arguments list based
-// on fields and giving them specified types. Also basic check
-// for validity can be performed (e.g. field empty or not)
-//
-var lastPostArgs = Object();
-function jsMakePostArgs(fields, fprefix, fsuffix, nofail)
-{
-  var res = [];
-  lastPostArgs = Object();
-
-  for (var id in fields)
-  {
-    var elname = fprefix + id + fsuffix;
-    switch (fields[id])
-    {
-      case 4:
-        elname += "Sel";
-        break;
-    }
-
-    var elem = document.getElementById(elname);
-    if (!elem && !nofail)
-    {
-      jsMessageBox("No such DOM element '"+ elname +"'.");
-      return "";
-    }
-
-    if (elem)
-    {
-      switch (fields[id])
-      {
-        case 1:
-          var vstr = strtrim(elem.value);
-          res.push(id+"="+strencode(vstr));
-          lastPostArgs[id] = vstr;
-          break;
-
-        case 2:
-          var vint = parseInt(strtrim(elem.value));
-          res.push(id+"="+vint);
-          lastPostArgs[id] = vint;
-          break;
-
-        case 3:
-          res.push(id+"="+(elem.checked ? "1" : "0"));
-          lastPostArgs[id] = elem.checked;
-          break;
-
-        case 4:
-          var vval = (elem.selectedIndex != -1) ? elem.options[elem.selectedIndex].value : -1;
-          res.push(id+"="+vval);
-          lastPostArgs[id] = vval;
-          break;
-
-        default:
-          jsMessageBox("Unsupported field type in "+ elname);
-          return "";
-      }
-    }
-  }
-  return res.join("&");
-}
-
-
-function jsGetValue(elname, eltype)
-{
-  var elem = document.getElementById(elname);
-  if (!elem)
-  {
-    jsMessageBox("No such DOM element '"+ elname +"'.");
-    return "";
-  }
-
-  switch (eltype)
-  {
-    case 1:
-      var vstr = strtrim(elem.value);
-      return strencode(vstr);
-
-    case 2:
-      var vint = parseInt(strtrim(elem.value));
-      return vint;
-
-    case 3:
-      return elem.checked ? "1" : "0";
-
-    case 4:
-      if (elem.selectedIndex != -1)
-        return elem.options[elem.selectedIndex].value;
-      else
-        return null;
-
-    default:
-      jsMessageBox("Unsupported field type in "+ elname);
-      return "";
-  }
-}
-
+</script>
 <?
-if ($script)
-  echo "</script>\n";
 }
 ?>
\ No newline at end of file