comparison msitegen.inc.php @ 1069:5f92fa5e683a

Refactor how the "AJAX" stuff works.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 24 Jan 2017 17:25:48 +0200
parents 0603012e99b7
children 76e11ae923a7
comparison
equal deleted inserted replaced
1068:50d005dd22d8 1069:5f92fa5e683a
957 $str = preg_replace("/\%".$argn."/", $argv, $str); 957 $str = preg_replace("/\%".$argn."/", $argv, $str);
958 return $str; 958 return $str;
959 } 959 }
960 960
961 961
962 function stCommonAJAX($backend, $failover)
963 {
964 ?>
965 function jsSendPOSTRequest(params, success, failure)
966 {
967 <?php
968 if (($csrfID = stGetSessionItem("csrfID", FALSE)) !== FALSE)
969 echo " params += \"&csrfID=".$csrfID."\";\n";
970 else
971 echo "// No CSRF?\n";
972 ?>
973 var req = jsCreateXMLRequest();
974 req.open("POST", "<? echo $backend ?>", true);
975 req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
976 req.setRequestHeader("Content-length", params.length);
977 req.setRequestHeader("Connection", "close");
978
979 req.onreadystatechange = function()
980 {
981 if (req.readyState == 4)
982 {
983 switch (req.status)
984 {
985 case 404:
986 window.location = "<? echo $failover ?>";
987 break;
988
989 case 902:
990 jsStatusMsg(req.statusText);
991 jsMessageBox(req.responseText);
992 break;
993
994 case 903:
995 {
996 var nitem = document.getElementById("messageBox");
997 if (nitem)
998 {
999 nitem.innerHTML = "<div class='messageBoxInner'>"+ req.responseText +
1000 "<div class='messageBoxControls'>"+
1001 "</div></div>";
1002 nitem.style.display = "block";
1003 }
1004 }
1005 break;
1006
1007 case 200:
1008 if (success)
1009 success(req.responseText);
1010 jsStatusMsg(req.statusText);
1011 break;
1012
1013 default:
1014 if (failure)
1015 failure(req.status, req.statusText, req.responseText);
1016 else
1017 jsStatusMsg("["+req.status+" - "+req.statusText+"] "+ req.responseText);
1018 break;
1019 }
1020 }
1021 }
1022 req.send(params);
1023 }
1024
1025 <?php
1026 }
1027
962 // 1028 //
963 // CLI related helper functions 1029 // CLI related helper functions
964 // 1030 //
965 1031
966 // Check if we are running from commandline or not 1032 // Check if we are running from commandline or not