Mercurial > hg > fapweb
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