User:Cheeseskates/global.js

// Direct JavaScript code. /* Note: When there is a code/etc.js page with the code, please put the page name into ImportArticles instead. //————————————————————— Major Direct JavaScript code ———————————————————————// //////////////////////////////////////////////////////////////////////////////// /* window.globalLinks = { global: { "User"       : "Special:Mypage", "Talk"       : "Special:Mytalk", "Contribs"   : "Special:MyContributions", "Admins"     : "Special:ListAdmins", "Activity"   : "Special:RecentChanges?hidebots=0", "Maintenance" : "Special:Maintenance", "Torus"      : "Special:Torus", "Purge"      : "%page%?action=purge", "QQX"        : "%page%?uselang=qqx", "Raw"        : "%page%?action=raw", },   community: { "AL"         : "Special:AbuseLog", "NW"         : "Special:Newwikis", "Images"     : "Special:BlankPage/UncategorizedFileListing", "Global JS"  : "Special:Mypage/global.js", "Global CSS" : "Special:Mypage/global.css" },   undertale: { "AL"         : "Special:AbuseLog" } }; //////////////////////////////////////////////////////////////////////////////// /* mw.loader.using("mediawiki.api", function {    var self = {        init: function  {            if ($(".mw-rollback-link").length) {                return;            }            if (mw.config.get("wgAction") == "history" && $("#pagehistory li").length > 1) {                $("#pagehistory li:first .mw-history-undo a").before(' rollback | ');            } else {                if (mw.config.get("wgCanonicalSpecialPageName") == "Contributions") {                    $("#mw-content-text ul").find("li").each(function  { if ($(this).find(".mw-uctop").length) { $(this).append(' [rollback] '); }                   });                } else {                    if (($.getUrlVar("diff") || $.getUrlVar("oldid")) && $("#differences-nextlink").length === 0) {                        $(".mw-usertoollinks:last").after('    [rollback] ');                    }                }            }            $(".mw-custom-rollback-link a").click(function  { self.getRevisionIdAndContent($(this).attr("data-id")); $(this).parent.remove; });       },        getRevisionIdAndContent: function (term) {            var cb = new mw.Api;            cb.get({ action: "query", prop: "revisions", titles: term, rvprop: "user|ids", rvlimit: 500, cb: (new Date).getTime }).done(function (body) { if (!body.error) { var sks; var id; for (id in body.query.pages) { sks = body.query.pages[id].revisions; }                   var node = sks[0].user; var params; var revids; for (id in sks) { if (sks[id].user != node) { params = sks[id].user; revids = sks[id].revid; break; }                   }                    if (params) { cb.get({                           action: "query",                            prop: "revisions",                            rvprop: "content",                            revids: revids,                            cb: (new Date).getTime                        }).done(function (body) {                            if (!body.error) {                                var later = "";                                var page;                                for (page in body.query.pages) {                                    if (body.query.pages[page].revisions) {                                        later = body.query.pages[page].revisions[0]["*"];                                    }                                }                                self.performRollback(term, later, node, params);                            } else {                                (new BannerNotification("Unable to rollback (failed to get page content): " + body.error.code, "error")).show; }                       }).fail(function  { (new BannerNotification("Unable to rollback: failed to get page content!", "error")).show; });                   } else {                        (new BannerNotification("Unable to rollback: no different editor found!", "error")).show;                    }                } else {                    (new BannerNotification("Unable to rollback (failed to get revisions): " + body.error.code, "error")).show;                }            }).fail(function  {                (new BannerNotification("Unable to rollback: failed to get revisions!", "error")).show;            }); },       performRollback: function (value, key, dataAndEvents, startArray) { var that = new mw.Api; var codeSegments = " "; that.post({               action: "edit",                title: value,                text: key,                summary: codeSegments,                token: mw.user.tokens.values.editToken            }).done(function (replay) {                if (!replay.error) {                    (new BannerNotification("Rollback successful!", "confirm")).show;                } else {                    (new BannerNotification("Unable to rollback (failed to publish edit): " + replay.error.code, "error")).show;                }            }).fail(function  {                (new BannerNotification("Unable to rollback: failed to publish edit!", "error")).show;            }); }   };    self.init; }); //////////////////////////////////////////////////////////////////////////////// //————————————————————— Minor Direct JavaScript code ———————————————————————// // Add a history button on diff pages if ($('strong:contains("Changes:")').length) {   $("#WikiaPageHeader").find("p").children("a").after(' (history)'); }
 * * Name:       Global navbar modifications                                 |
 * * Author:     KockaAdmiralac <1405223@gmail.com>                          |
 * * Description: Modifies the global navbar to add useful buttons           |
 * * Name:       Rollback                                                    |
 * * Author:     Ozank Cx                                                    |
 * * Description: Grants the ability to Rollback edits without the right.    |
 * * Changes: I changed some variable names, made the code neater, and       |
 * changed the Rollback summary to something vandals cannot benefit from.    |

// Prevent the editor from loading when opening a redlink page a = $('a[href$="?action=edit&redlink=1"]'); if (a.attr("href")) { a.attr("href", a.attr("href").replace("?action=edit&redlink=1", "")); } //////////////////////////////////////////////////////////////////////////////// ////* End Direct Import section  *////

// Script Configurations //—————————————————————————————— ! ! ! ———————————————————————————————// // AjaxRC: Used to Make imputted pages refresh in Ajax. window.ajaxRefresh = 1000; window.ajaxPages = [

// --WatchList specific pages (temporary) // ////* Put any page name or URL into this list to monitor this specific page. *////

// ——————————————————— InterLanguage Wiki Monitor pages ————————————————————— // ////* Note 1: The order is according to the Language Brigade Wiki. *////   ////* Note 2: The first language name is the English word. The second language name is the language's word/original word. The two letters after are the abbreviations for the second language names. *////

/////* 1. Always add the language names in this order: English word -> Original -> Abbreviation (e.g. fr for french) *///// /////* 2. Always add the page names in this order: WikiActivity -> RecentChanges -> Log */////

////* Note 3: The Chinese and Romanian's WikiActivity are the same as the English WikiActivity page, and the Brazilian Portuguese (including their Log page), Catalan, Galician, and occitan's WikiActivity are the same as the Spanish WikiActivity page. Because of this, They are not added to prevent duplication. *////

////* English (en)                                      *//// "Special:WikiActivity", "Special:RecentChanges", "Special:AbuseLog", "Special:Log", "Special:Log/upload", "Special:Images", "Special:Videos", "Special:Newwikis", "Report:Vandalism", "Report:Spam", "Report:User profile headers", "Report:Users and IPs needing checked",

////* German (Deutsch) (de)                             *//// "Spezial:WikiActivity", "Spezial:Letzte_Änderungen", "Spezial:Logbuch",

////* Spanish (Español) (es)                            *//// "Especial:WikiActivity", "Especial:CambiosRecientes", "Especial:Registro",

////* Suomi (Finnish) (fi)                              *//// "Toiminnot:WikiActivity", "Toiminnot:Tuoreet_muutokset", "Toiminnot:Loki",

////* French (Français) (fr)                            *//// "Spécial:WikiActivity", "Spécial:Modifications_récentes", "Spécial:Journal",

////* Italian (Italiano) (it)                           *//// "Speciale:WikiActivity", "Speciale:UltimeModifiche", "Speciale:Registri",

////* Japanese (日本語) (ja)                            *//// "特別:WikiActivity", "特別:最近の更新", "特別:ログ",

////* Korean (한국어) (ko)                              *//// "특수기능:위키활동내역", "특수기능:최근바뀜", "특수기능:기록",

////* Nederlands (nl)                                   *//// "Speciaal:WikiActivity", "Speciaal:RecenteWijzigingen", "Speciaal:Logboeken",

////* Polish (Polski) (pl)                              *//// "Specjalna:Aktywność_na_wiki", "Specjalna:Ostatnie_zmiany", "Specjalna:Rejestr",

////* Brazilian Portuguese (Português do Brasil) (pt-br) *//// "Especial:Mudanças_recentes",

////* Russian (Русский) (ru)                            *//// "Служебная:WikiActivity", "Служебная:RecentChanges", "Служебная:Log",

////* Vietnamese (Tiếng Việt) (vi)                      *//// "Đặc_biệt:Hoạt_động_wiki", "Đặc_biệt:Thay_đổi_gần_đây", "Đặc_biệt:Nhật_trình",

////* Chinese (中文) (zh)                               *//// "Special:最近更改", "Special:日志",

////* Chinese (Taiwan) ( 中文(台灣) ) (zh-tw)           *//// "特殊:WikiActivity", "特殊:近期變動", "特殊:日誌",

////* Afrikaans (af)                                    *//// "Spesiaal:WikiActivity", "Spesiaal:Onlangse_wysigings", "Spesiaal:Logboek",

////* Arabic (العرب) (ar)                                *//// ////* Note: RecentChanges and Log pages have been swapped here due to textspace compatibility issues. *////   "خاص:WikiActivity", "خاص:أحدث_التغييرات", "خاص:سجل",

////* Belorussian (Беларуская) (be)                     *//// "Адмысловае:WikiActivity", "Адмысловае:RecentChanges", "Адмысловае:Log",

////* Bulgarian (Български) (bg)                        *//// "Специални:WikiActivity", "Специални:Последни_промени", "Специални:Дневници",

////* Catalan (Català) (ca)                             *//// "Especial:Canvis_recents", "Especial:Registre",

////* Greek (Ελληνικά) (el)                             *//// "Ειδικό:WikiActivity", "Ειδικό:ΠρόσφατεςΑλλαγές", "Ειδικό:Μητρώο",

////* Estonia (Eesti) (et)                              *//// "Eri:WikiActivity", "Eri:Viimased_muudatused", "Eri:Logid",

////* Farsi (فارسی) (fa)                                 *//// ////* Note: RecentChanges and Log pages have been swapped here due to textspace compatibility issues. *////   "ویژه:WikiActivity", "ویژه:تغییرات_اخیر", "ویژه:سیاهه‌ها",

////* Galician (Galego) (gl)                            *//// "Especial:Cambios_recentes", "Especial:Rexistros",

////* Hungarian (Magyar) (hu)                           *//// "Speciális:WikiActivity", "Speciális:Friss_változtatások", "Speciális:Rendszernaplók",

////* Indonesian (Bahasa Indonesia) (id) *//// "Istimewa:WikiActivity", "Istimewa:Perubahan_terbaru", "Istimewa:Catatan",

////* Limburg (Limburgs in Dutch) (li)                  *//// ////* Note: Wikiactivity is the same as the Nederlands' WikiActivity page, so it is not included. *////   "Speciaal:Lètste_verangeringe", "Speciaal:Logbeuk",

////* Lithuanian (Lietuvių) (lt)                        *//// "Specialus:WikiActivity", "Specialus:Naujausi_keitimai", "Specialus:Sąrašas",

////* Norwegian Bokmål ( ‪Norsk (bokmål) ‬) (no)          *//// "Spesial:WikiActivity", "Spesial:Siste_endringer", "Spesial:Logg",

////* Occitan (oc)                                      *//// "Especial:Darrièrs_cambiaments", "Especial:Jornal",

////* Romanian (Română) (ro)                            *//// "Special:Schimbări_recente", "Special:Jurnal",

////* Serbian / serbian (Српски / Srpski) (sr)          *//// "Посебно:WikiActivity", "Посебно:СкорашњеИзмене", "Посебно:Извештај",

////* Ukrainian (Українська) (uk)                       *//// "Спеціальна:WikiActivity", "Спеціальна:RecentChanges", "Спеціальна:Log",

////* End Language page section *////

// End of AjaxRC section //

];

// WHAM /** WHAM bots you by default */ WHAMBotMe = true; /** Default reason */ WHAMBotReason = "Official Cleanup Business"; /** Ticks equaling 0.1 seconds. 1,000 ticks = 1 second */ WHAMDelay = 100;

// CacheCheck window.cacheSkip = []; window.cacheSkipLimit = 1000; window.topLevelCat = '';

// Fast Delete var fdButtons = []; fdButtons[fdButtons.length] = { "summary": "spam", "label": "S" }; fdButtons[fdButtons.length] = { "summary": "vandalism", "label": "V" }; fdButtons[fdButtons.length] = { "summary": "Housekeeping", "label": "HK" }; fdButtons[fdButtons.length] = { "summary": "Cleanup", "label": "C" }; fdButtons[fdButtons.length] = { "summary": "Unused", "label": "U" }; fdButtons[fdButtons.length] = { "summary": "Unofficial/Not-Needed/Irrelevant", "label": "UNI" }; fdButtons[fdButtons.length] = { "summary": "Other reason", "label": "Other" };

//RailWAM Configuration window.railWAM = { // This creates the WAM Log page under your user namespace. logPage:"User:Cheeseskates/WAM Log" };

// Javascript wrapped in ImportArticles. //—————————————————————————————— ! ! ! ———————————————————————————————// /* ImportArticles */ $(window).load(function {    importArticles({ type: "script", articles: [ "u:dev:MediaWiki:AjaxBatchDelete/code.2.js", "u:dev:MediaWiki:AjaxBlock/code.js", "u:dev:MediaWiki:AjaxPatrol/code.js", "u:dev:MediaWiki:AjaxRC/code.js", "u:dev:MediaWiki:AntiUnicruft/code.js", "u:dev:MediaWiki:CacheCheck/code.js", "u:dev:MediaWiki:CatFilter/code.js", "u:dev:MediaWiki:CategoryRenameAuto-update/code.js", "u:dev:MediaWiki:CleanWantedFiles/code.js", "u:dev:MediaWiki:ContribsLink/code.js", "u:dev:MediaWiki:DifferentSkinEditor/code.js", "u:dev:MediaWiki:DisplayTimer/code.js", "u:dev:MediaWiki:EditIntroButton/code.js", "u:dev:MediaWiki:FastDelete/code.js", "u:dev:MediaWiki:FileUsageAuto-update/code.js", "u:dev:MediaWiki:FindAndReplace/code.js", "u:dev:MediaWiki:FloatingToc/code.js", "u:dev:MediaWiki:GlobalEditcount/code.js", "u:dev:MediaWiki:HeaderLinks/code.js", "u:dev:MediaWiki:LastEdited/code.js", "u:dev:MediaWiki:MarkBlocked.js", "u:dev:MediaWiki:MarkForDeletion/code.js", "u:dev:MediaWiki:MassRenameRevert/code.js", "u:dev:MediaWiki:MessageBlock/code.js", "u:dev:MediaWiki:MisspelledPage/code.js", "u:dev:MediaWiki:NullEditButton/code.js", "u:dev:MediaWiki:PageRenameAuto-update/code.js", "u:dev:MediaWiki:PortableCSSPad/code.js", "u:dev:MediaWiki:ProtectedHighlight/code.js", "u:dev:MediaWiki:QuickDiff/code.js", "u:dev:MediaWiki:QuickThreads/code.js", "u:dev:MediaWiki:QuickToolsv2/code.js", "u:dev:MediaWiki:RailWAM/code.js", "u:dev:MediaWiki:ReaderMode/code.js", "u:dev:MediaWiki:ReplyAndClose/code.js", "u:dev:MediaWiki:RevealAnonIP/code.js", "u:dev:MediaWiki:ThreadIndicator/code.js", "u:dev:MediaWiki:Thread Inspection/code.js", "u:dev:MediaWiki:UnsafeScripts/code.js", "u:dev:MediaWiki:View Source/code.js", "u:dev:MediaWiki:YouTubeModal/code.js", "u:admintools:MediaWiki:Common.js/ajaxRollback.js", "u:admintools:MediaWiki:Common.js/extraRollbacks.js", "u:admintools:MediaWiki:Common.js/iprange.js", "u:admintools:MediaWiki:Common.js/Maintenance.js", "u:josephhawk:User:Josephyr/linksweeper.js", "u:kocka:MediaWiki:AjaxCommentDelete/code.js", "u:kocka:MediaWiki:AjaxThreadDelete/code.js", "u:kocka:MediaWiki:AjaxCommentDelete/code.js", "u:kocka:MediaWiki:AjaxThreadDelete/code.js", "u:kocka:MediaWiki:MessageWallActions/code.js", "u:kocka:MediaWiki:RedirectMessageWall/code.js", "u:kocka:User:KockaAdmiralac/AutoWideCodeeditor.javascript", "u:kocka:User:KockaAdmiralac/GlobalNavModifications.javascript", "u:kocka:User:KockaAdmiralac/PatrolAll.javascript", "u:kocka:User:KockaAdmiralac/TorusAutoFullscreen.javascript", "u:monchbox:MediaWiki:Torus.js", "u:starmanw:MediaWiki:MultiUpload/code.js", "u:starmanw:MediaWiki:QuickLogs/code.js", "u:starmanw:User:Dorumin/WHAM", ]   }); });