NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Okord : Delete messages // @namespace http://your.homepage/ // @version 0.1 // @description This script helps to delete messages in Okord // @author Galac // @match *fr01.okord.com/diplomacy.html* // @grant none // ==/UserScript== var spyId = "deleteSpy"; var battleId = "deleteBattle"; var transportId = "deleteTransport"; var feudalityId = "deleteFeudality"; var privateId = "deletePrivate"; var sentId = "deleteSent"; var btnDeleteMessageId = "deleteMessages"; createSpyInactivesButton(); function createSpyInactivesButton() { $(document).ready(function() { var divNode = document.createElement("DIV"); var btnDeleteMessage = document.createElement("button"); btnDeleteMessage.id = btnDeleteMessageId; var txtBtnDeleteMessage = document.createTextNode("Supprimer les messages"); btnDeleteMessage.appendChild(txtBtnDeleteMessage); divNode.appendChild(btnDeleteMessage); createCheckBox(divNode, spyId, "Espionnages", true); createCheckBox(divNode, battleId, "Batailles", true); createCheckBox(divNode, transportId, "Transports", false); createCheckBox(divNode, feudalityId, "Féodalités", false); createCheckBox(divNode, privateId, "Privés", false); createCheckBox(divNode, sentId, "Privés (envoyés)", false); document.getElementById("general").appendChild(divNode); $('#' + btnDeleteMessageId).click(function(){ deleteMessages(); }); }); }; function createCheckBox(divNode, id, txt, checkedByDefault){ var divNodeChild = document.createElement("DIV"); var checkBox = document.createElement("input"); checkBox.id = id; checkBox.checked = checkedByDefault; checkBox.type = "checkbox"; divNodeChild.appendChild(checkBox); var label = document.createElement("label"); label.htmlFor = id; var labelTxt = document.createTextNode(txt); label.appendChild(labelTxt); divNodeChild.appendChild(label); divNode.appendChild(divNodeChild); }; function deleteMessages(){ var requestDeleteMessages = "action=DeleteList"; var messagesIds = getMessagesIds(); for(var messageIdIndex = 0; messageIdIndex < messagesIds.length; messageIdIndex++){ var messageId = messagesIds[messageIdIndex]; requestDeleteMessages += "&value%5B%5D=" + messageId; } new Promise(function(resolve, reject) { resolve($.ajax({ url: "http://fr01.okord.com/resource/class/view/ajax-message.php", "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", data: requestDeleteMessages, type: "POST", error: function(error) { console.log(error);} }))}) .then(function(){ location.reload(); }); }; function getMessagesIds(){ var mixedHeaderSpans = document.getElementById("mixed_header").getElementsByTagName("span"); var messageIds = []; for(var spanIndex = 0; spanIndex < mixedHeaderSpans.length; spanIndex++) { var hasToDelete = false; var span = mixedHeaderSpans[spanIndex]; if(document.getElementById(spyId).checked){ if(span.getAttribute("class") === "iconType spy"){ hasToDelete = true; } } if(document.getElementById(battleId).checked){ if(span.getAttribute("class") === "iconType battle"){ hasToDelete = true; } } if(document.getElementById(transportId).checked){ if(span.getAttribute("class") === "iconType transport"){ hasToDelete = true; } } if(document.getElementById(feudalityId).checked){ if(span.getAttribute("class") === "iconType feudality"){ hasToDelete = true; } } if(document.getElementById(privateId).checked){ if(span.getAttribute("class") === "iconType private"){ hasToDelete = true; } } if(document.getElementById(sentId).checked){ if(span.getAttribute("class") === "iconType sent"){ hasToDelete = true; } } // Embuscade // Massacrer // Vassaux // ... if(hasToDelete){ var messageId = mixedHeaderSpans[spanIndex - 1].getElementsByTagName("input")[0].getAttribute("value"); messageIds.push(messageId); } } return messageIds; };