90 lines
2.5 KiB
JavaScript
90 lines
2.5 KiB
JavaScript
|
|
function send()
|
|
{
|
|
let me = document.getElementById("btnSend");
|
|
if (me.classList.contains("btn-disabled")) return;
|
|
|
|
me.innerHTML = "<div class=\"spinnerbox\"><div class=\"spinner primary\"></div></div>";
|
|
|
|
me.classList.add("btn-disabled");
|
|
|
|
let uid = document.getElementById("uid");
|
|
let key = document.getElementById("ukey");
|
|
let msg = document.getElementById("msg");
|
|
let txt = document.getElementById("txt");
|
|
let pio = document.getElementById("prio");
|
|
|
|
uid.classList.remove('input-invalid');
|
|
key.classList.remove('input-invalid');
|
|
msg.classList.remove('input-invalid');
|
|
txt.classList.remove('input-invalid');
|
|
pio.classList.remove('input-invalid');
|
|
|
|
let data = new FormData();
|
|
data.append('user_id', uid.value);
|
|
data.append('user_key', key.value);
|
|
data.append('title', msg.value);
|
|
data.append('content', txt.value);
|
|
data.append('priority', pio.value);
|
|
|
|
let xhr = new XMLHttpRequest();
|
|
xhr.open('POST', '/send.php', true);
|
|
xhr.onreadystatechange = function ()
|
|
{
|
|
if (xhr.readyState !== 4) return;
|
|
|
|
console.log('Status: ' + xhr.status);
|
|
if (xhr.status === 200 || xhr.status === 401 || xhr.status === 403 || xhr.status === 412)
|
|
{
|
|
let resp = JSON.parse(xhr.responseText);
|
|
if (!resp.success || xhr.status !== 200)
|
|
{
|
|
if (resp.errhighlight === 101) uid.classList.add('input-invalid');
|
|
if (resp.errhighlight === 102) key.classList.add('input-invalid');
|
|
if (resp.errhighlight === 103) msg.classList.add('input-invalid');
|
|
if (resp.errhighlight === 104) txt.classList.add('input-invalid');
|
|
if (resp.errhighlight === 105) pio.classList.add('input-invalid');
|
|
|
|
Toastify({
|
|
text: resp.message,
|
|
gravity: "top",
|
|
positionLeft: false,
|
|
backgroundColor: "#D32F2F",
|
|
}).showToast();
|
|
}
|
|
else
|
|
{
|
|
window.location.href =
|
|
'/message_sent.php' +
|
|
'?ok=' + 1 +
|
|
'&message_count=' + resp.messagecount +
|
|
'"a=' + resp.quota +
|
|
'"a_remain=' + (resp.quota_max-resp.quota) +
|
|
'"a_max=' + resp.quota_max +
|
|
'&preset_user_id=' + uid.value +
|
|
'&preset_user_key=' + key.value;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Toastify({
|
|
text: 'Request failed: Statuscode=' + xhr.status,
|
|
gravity: "top",
|
|
positionLeft: false,
|
|
backgroundColor: "#D32F2F",
|
|
}).showToast();
|
|
}
|
|
|
|
me.classList.remove("btn-disabled");
|
|
me.innerHTML = "Send";
|
|
};
|
|
xhr.send(data);
|
|
}
|
|
|
|
window.addEventListener("load",function ()
|
|
{
|
|
let btnSend = document.getElementById("btnSend");
|
|
|
|
if (btnSend !== undefined) btnSend.onclick = function () { send(); return false; };
|
|
|
|
},false); |