use createXhrWithFormKey in more places

master
justcool393 2022-10-14 05:01:11 -07:00
parent f22ef3a7e5
commit 0eaed637be
7 changed files with 52 additions and 91 deletions

View File

@ -88,7 +88,7 @@ function vote(type, id, dir) {
}
const xhr = createXhrWithFormKey("/vote/" + type.replace('-mobile','') + "/" + id + "/" + votedirection);
xhr.send(form);
xhr[0].send(xhr[1]);
}
function pick(kind, canbuy1, canbuy2) {
@ -131,14 +131,11 @@ function buy(mb) {
form.append(k, data[k]);
}
}
form.append("formkey", formkey());
xhr.onload = function() {
xhr[0].onload = function() {
let data
try {data = JSON.parse(xhr.response)}
try {data = JSON.parse(xhr[0].response)}
catch(e) {console.log(e)}
success = xhr.status >= 200 && xhr.status < 300;
success = xhr[0].status >= 200 && xhr.status < 300;
showToast(success, getMessageFromJsonData(success, data), true);
if (success) {
document.getElementById('giveaward').disabled=false;
@ -148,7 +145,7 @@ function buy(mb) {
}
};
xhr.send(form);
xhr[0].send(xhr[1]);
}

View File

@ -5,20 +5,15 @@ function banModal(link, id, name) {
document.getElementById("banUserButton").onclick = function() {
let form = new FormData(document.getElementById("banModalForm"));
form.append("formkey", formkey());
const xhr = new XMLHttpRequest();
xhr.open("POST", `/ban_user/${id}?form`);
xhr.setRequestHeader('xhr', 'xhr');
xhr.onload = function() {
const xhr = createXhrWithFormKey(`/ban_user/${id}?form`, "POST", form);
xhr[0].onload = function() {
let data
try {data = JSON.parse(xhr.response)}
catch(e) {console.log(e)}
success = xhr.status >= 200 && xhr.status < 300;
success = xhr[0].status >= 200 && xhr[0].status < 300;
showToast(success, getMessageFromJsonData(success, data));
};
xhr.send(form);
xhr[0].send(xhr[1]);
}
}

View File

@ -73,12 +73,8 @@ document.addEventListener("click", function(){
});
function post(url) {
const xhr = new XMLHttpRequest();
xhr.open("POST", url);
xhr.setRequestHeader('xhr', 'xhr');
const form = new FormData()
form.append("formkey", formkey());
xhr.send(form);
const xhr = createXhrWithFormKey(url);
xhr[0].send(xhr[1]);
};
function poll_vote_0(oid, parentid, kind) {

View File

@ -74,22 +74,14 @@ function approveComment2(post_id,button1,button2) {
}
function adminMuteUser(userId, muteStatus, buttonId) {
let form = new FormData();
form.append("formkey", formkey());
const xhr = new XMLHttpRequest();
xhr.open("POST", `/mute_user/${userId}/${muteStatus}`);
xhr.setRequestHeader('xhr', 'xhr');
xhr.onload = function() {
const xhr = createXhrWithFormKey(`/mute_user/${userId}/${muteStatus}`);
xhr[0].onload = function() {
let data
try {data = JSON.parse(xhr.response)}
try {data = JSON.parse(xhr[0].response)}
catch(e) {console.log(e)}
success = xhr.status >= 200 && xhr.status < 300;
success = xhr[0].status >= 200 && xhr[0].status < 300;
showToast(success, getMessageFromJsonData(success, data));
};
xhr.send(form);
xhr[0].send(xhr[1]);
document.getElementById('mute-user-' + buttonId).classList.add("d-none");
}

View File

@ -29,23 +29,20 @@ function report_commentModal(id, author) {
this.innerHTML='Reporting comment';
this.disabled = true;
this.classList.add('disabled');
const xhr = new XMLHttpRequest();
xhr.open("POST", '/report/comment/'+id);
xhr.setRequestHeader('xhr', 'xhr');
const form = new FormData()
form.append("formkey", formkey());
const form = new FormData();
form.append("reason", reason_comment.value);
const xhr = createXhrWithFormKey("/report/comment/" + id, "POST", form);
xhr.onload = function() {
xhr[0].onload = function() {
let data
try {data = JSON.parse(xhr.response)}
try {data = JSON.parse(xhr[0].response)}
catch(e) {console.log(e)}
success = xhr.status >= 200 && xhr.status < 300;
success = xhr[0].status >= 200 && xhr[0].status < 300;
showToast(success, getMessageFromJsonData(success, data));
};
xhr.onerror=function(){alert(errortext)};
xhr.send(form);
xhr[0].onerror=function(){alert(errortext)};
xhr[0].send(xhr[1]);
}
};
@ -95,16 +92,12 @@ function toggleEdit(id){
function delete_commentModal(id) {
document.getElementById("deleteCommentButton").onclick = function() {
const xhr = new XMLHttpRequest();
xhr.open("POST", `/delete/comment/${id}`);
xhr.setRequestHeader('xhr', 'xhr');
const form = new FormData()
form.append("formkey", formkey());
xhr.onload = function() {
const xhr = createXhrWithFormKey(`/delete/comment/${id}`);
xhr[0].onload = function() {
let data
try {data = JSON.parse(xhr.response)}
try {data = JSON.parse(xhr[0].response)}
catch(e) {console.log(e)}
if (xhr.status >= 200 && xhr.status < 300 && data && data['message']) {
if (xhr[0].status >= 200 && xhr[0].status < 300 && data && data['message']) {
document.getElementsByClassName(`comment-${id}-only`)[0].classList.add('deleted');
document.getElementById(`delete-${id}`).classList.add('d-none');
document.getElementById(`undelete-${id}`).classList.remove('d-none');
@ -115,7 +108,7 @@ function delete_commentModal(id) {
showToast(false, getMessageFromJsonData(false, data));
}
};
xhr.send(form);
xhr[0].send(xhr[1]);
};
}
@ -125,22 +118,18 @@ function post_reply(id){
btn.classList.add('disabled');
const form = new FormData();
form.append('formkey', formkey());
form.append('parent_id', id);
form.append('body', document.getElementById('reply-form-body-'+id).value);
try {
for (const e of document.getElementById('file-upload').files)
form.append('file', e);
}
catch(e) {}
const xhr = new XMLHttpRequest();
xhr.open("post", "/reply");
xhr.setRequestHeader('xhr', 'xhr');
xhr.onload=function(){
const xhr = createXhrWithFormKey("/reply", "POST", form);
xhr[0].onload=function(){
let data
try {data = JSON.parse(xhr.response)}
try {data = JSON.parse(xhr[0].response)}
catch(e) {console.log(e)}
if (data && data["comment"]) {
const comments = document.getElementById('replies-of-c_' + id);
@ -164,7 +153,7 @@ function post_reply(id){
btn.classList.remove('disabled');
}, 2000);
}
xhr.send(form)
xhr[0].send(xhr[1]);
}
function comment_edit(id){
@ -173,8 +162,6 @@ function comment_edit(id){
btn.classList.add('disabled');
const form = new FormData();
form.append('formkey', formkey());
form.append('body', document.getElementById('comment-edit-body-'+id).value);
try {
@ -182,13 +169,10 @@ function comment_edit(id){
form.append('file', e);
}
catch(e) {}
const xhr = new XMLHttpRequest();
xhr.open("post", "/edit_comment/"+id);
xhr.setRequestHeader('xhr', 'xhr');
xhr.onload=function(){
const xhr = createXhrWithFormKey("/reply", "POST", form);
xhr[0].onload=function(){
let data
try {data = JSON.parse(xhr.response)}
try {data = JSON.parse(xhr[0].response)}
catch(e) {console.log(e)}
if (data && data["comment"]) {
commentForm=document.getElementById('comment-text-'+id);
@ -205,7 +189,7 @@ function comment_edit(id){
btn.classList.remove('disabled');
}, 1000);
}
xhr.send(form)
xhr[0].send(xhr[1]);
}
function post_comment(fullname, hide){

View File

@ -82,17 +82,17 @@ function createXhrWithFormKey(url, method="POST", form=null) {
form = new FormData();
}
form.append("formkey", formkey());
return xhr;
return [xhr, form]; // hacky but less stupid than what we were doing before
}
function postToast(t, url, button1, button2, className, extraActions, extraActionsError) {
prePostToastNonShopActions(t, url, button1, button2, className);
const xhr = createXhrWithFormKey(url);
xhr.onload = function() {
postToastLoad(xhr, className, extraActions, extraActionsError)
xhr[0].onload = function() {
postToastLoad(xhr[0], className, extraActions, extraActionsError)
postPostToastNonShopActions(t, url, button1, button2, className)
};
xhr.send(form);
xhr[0].send(xhr[1]);
}
/* temporary compatability function. js styling wants us to use thisCase so any new things should use that */
@ -101,28 +101,29 @@ function post_toast(t, url, button1, button2, classname, extra_actions, extra_ac
}
function post_toast_callback(url, data, callback) {
const xhr = createXhrWithFormKey(url);
let form = new FormData();
if(typeof data === 'object' && data !== null) {
for(let k of Object.keys(data)) {
form.append(k, data[k]);
}
}
xhr.onload = function() {
const xhr = createXhrWithFormKey(url, "POST", form);
xhr[0].onload = function() {
let result
if (callback) result = callback(xhr);
if (callback) result = callback(xhr[0]);
let message;
let success = xhr.status >= 200 && xhr.status < 300;
let success = xhr[0].status >= 200 && xhr[0].status < 300;
if (typeof result == "string") {
message = result;
} else {
message = getMessageFromJsonData(success, JSON.parse(xhr.response));
message = getMessageFromJsonData(success, JSON.parse(xhr[0].response));
}
let oldToast = bootstrap.Toast.getOrCreateInstance(document.getElementById('toast-post-' + (success ? 'error': 'success'))); // intentionally reversed here: this is the old toast
oldToast.hide();
showToast(success, message);
return success;
};
xhr.send(form);
xhr[0].send(xhr[1]);
}
if (window.location.pathname != '/submit')

View File

@ -1,15 +1,11 @@
function delete_postModal(id) {
document.getElementById("deletePostButton").onclick = function() {
const xhr = new XMLHttpRequest();
xhr.open("POST", `/delete_post/${id}`);
xhr.setRequestHeader('xhr', 'xhr');
const form = new FormData()
form.append("formkey", formkey());
xhr.onload = function() {
const xhr = createXhrWithFormKey(`/delete_post/${id}`);
xhr[0].onload = function() {
let data
try {data = JSON.parse(xhr.response)}
catch(e) {console.log(e)}
success = xhr.status >= 200 && xhr.status < 300;
success = xhr[0].status >= 200 && xhr[0].status < 300;
showToast(success, getMessageFromJsonData(success, data));
if (success && data["message"]) {
document.getElementById(`post-${id}`).classList.add('deleted');
@ -21,6 +17,6 @@ function delete_postModal(id) {
showToast(false, getMessageFromJsonData(false, data));
}
};
xhr.send(form);
xhr[0].send(xhr[1]);
};
}