您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Disable all messages button.
- // ==UserScript==
- // @name DeleteAllMessages
- // @version 14.10.31
- // @description Disable all messages button.
- // @namespace https://prodgame*.alliances.commandandconquer.com/*/index.aspx*
- // @include https://prodgame*.alliances.commandandconquer.com/*/index.aspx*
- // @author Nogrod
- // ==/UserScript==
- (function () {
- var DeleteAllMessages_mainFunction = function () {
- function createTweak() {
- qx.Mixin.define("webfrontend.gui.mail.MMailTab", {
- construct : function () {
- var children = this.getChildren();
- var getObjId = function (children, objid) {
- for (var j = 0; j < children.length; j++) {
- if (children[j].objid == objid)
- return children[j];
- }
- return null;
- };
- for (var i = 0; i < children.length; i++) {
- if (children[i]instanceof qx.ui.container.Composite && getObjId(children[i].getChildren(), "btndelete") !== null) {
- var btnDeleteAllMessages = new qx.ui.form.Button(this.tr("tnf:delete mails"));
- btnDeleteAllMessages.addListener("execute", function () {
- btnDeleteAllMessages.setEnabled(false);
- ClientLib.Net.CommunicationManager.GetInstance().SendSimpleCommand("IGMGetFolders", {}, phe.cnc.Util.createEventDelegate(ClientLib.Net.CommandResult, this, function (context, folders) {
- console.log(folders);
- if (folders !== null && folders.length >= 2 && folders[0].i > 0 && folders[1].i > 0) {
- var folderId = folders[this.getMailboxType() == ClientLib.Data.Mail.EMailBox.Inbox ? 0 : 1].i;
- ClientLib.Net.CommunicationManager.GetInstance().SendSimpleCommand("IGMGetMsgCount", {
- folderId : folderId
- }, phe.cnc.Util.createEventDelegate(ClientLib.Net.CommandResult, this, function (folderId, count) {
- console.log(count);
- if (count > 0) {
- ClientLib.Net.CommunicationManager.GetInstance().SendSimpleCommand("IGMGetMsgHeader", {
- folder : folderId,
- skip : 0,
- take : count,
- sortColumn : ClientLib.Data.Mail.EMailSort.Time,
- ascending : false
- }, phe.cnc.Util.createEventDelegate(ClientLib.Net.CommandResult, this, function (context, mails) {
- console.log(mails);
- var mailIds = [];
- for (var i = 0; ((mails !== null) && (i < mails.length)); i++) {
- mailIds.push(mails[i].i);
- }
- if (mailIds.length > 0) {
- ClientLib.Data.MainData.GetInstance().get_Mail().DeleteMessages(mailIds, (this.getMailboxType() == ClientLib.Data.Mail.EMailBox.Inbox));
- }
- btnDeleteAllMessages.setEnabled(true);
- }), null);
- } else {
- btnDeleteAllMessages.setEnabled(true);
- }
- }), folderId);
- } else {
- btnDeleteAllMessages.setEnabled(true);
- }
- }), null);
- }, this);
- children[i].addAfter(btnDeleteAllMessages, getObjId(children[i].getChildren(), "btndelete"));
- break;
- }
- }
- }
- });
- qx.Class.include(webfrontend.gui.mail.MailTab, webfrontend.gui.mail.MMailTab);
- }
- function DeleteAllMessages_checkIfLoaded() {
- try {
- if (typeof loader !== "undefined" && loader.complete && typeof loader.downloadScript === "undefined") {
- createTweak();
- } else {
- setTimeout(DeleteAllMessages_checkIfLoaded, 500);
- }
- } catch (e) {
- if (typeof console !== "undefined") {
- console.log(e + ": " + e.stack);
- } else if (window.opera) {
- opera.postError(e);
- } else {
- GM_log(e);
- }
- }
- }
- setTimeout(DeleteAllMessages_checkIfLoaded, 500);
- };
- var DeleteAllMessagesScript = document.createElement("script");
- var txt = DeleteAllMessages_mainFunction.toString();
- DeleteAllMessagesScript.innerHTML = "(" + txt + ")();";
- DeleteAllMessagesScript.type = "text/javascript";
- document.getElementsByTagName("head")[0].appendChild(DeleteAllMessagesScript);
- })();