User:Roranoa zoro/global.js

/* ............Roranoa's JS............. // ============================================================ //                      Chat Hacks // ============================================================ importScriptPage('User:Monchoman45/ChatHacks.js', 'c');

importScriptPage('User:Joeytje50/ChatPMs.js', 'c');

importScriptPage(('MessageBlocker/code.js', 'dev'), 'xiaolinpedia');

importScriptPage('MediaWiki:Chat.js/options.js', 'xiaolinpedia');

//Helper function wikia { //Adds a style sheet this.css = function (url) { var node = document.createElement("link"); node.rel = url; node.type = "text/css"; document.body.appendChild(node); };

//Adds a script page this.javascript = function (url) { var node = document.createElement("script"); node.src = url; node.type = "text/javascript"; document.body.appendChild(node); }; }

//Initialize helper var wikia = new wikia;

//Imp //wikia.javascript("https://raw.github.com/PrincessPlatinum/ChatOptions/master/Options-Menu.js"); //wikia.javascript("http://community.wikia.com/wiki/User:Prince(ss)_Platinum/ChatRegex.js?action=raw");

/*Roranoa's chat hacks importScriptURI('http://monchbox.wikia.com/index.php?title=MediaWiki:APIQuery.js&action=raw&ctype=text/javascript'); importScriptURI('http://monchbox.wikia.com/index.php?title=MediaWiki:B3.js&action=raw&ctype=text/javascript'); importScriptURI('http://monchbox.wikia.com/index.php?title=MediaWiki:WhamAPI.js&action=raw&ctype=text/javascript'); importScriptURI('http://c.wikia.com/index.php?title=User:Monchoman45/ChatHacks.js&action=raw&ctype=text/javascript'); */

/* Chat options var chatOptionsLoaded; if (chatOptionsLoaded != 1){ chatOptionsLoaded = 1; importScriptPage('MediaWiki:Chat.js/options.js','cod'); }

/* Block Chat Messages

if (mw.config.get('wgPageName') === 'Special:Chat') { $(function {        "use strict";        function createUl(blockee) {            var isBlocked = $("#WikiChatList>li[data-user='"+blockee+"']").hasClass("blockee");            if (isBlocked === false) {                $('.regular-actions').after('  Block Messages ');            } else {                $('.regular-actions').after('  Allow Messages ');            }	            $("li.ignore").click(function { ignore(blockee); });        }        function ignore(blockee) {            var blockStyle;			var blockee = blockee;            var isBlocked = $("#WikiChatList>li[data-user='"+blockee+"']").hasClass("blockee");            var isMod = $("#WikiChatList>li[data-user='"+blockee+"']").hasClass("chat-mod");            if (isMod === false) {                if (isBlocked === false) {                    $("li.ignore").addClass("blue");                    blockStyle = document.createElement("style"); blockStyle.innerHTML = ("li[data-user='"+blockee+"']:not(.User){display: none;}"); blockStyle.setAttribute("id", "blockStyle-"+blockee); document.head.appendChild(blockStyle); $("#WikiChatList>li[data-user='"+blockee+"']").addClass("blockee"); $(".UserStatsMenu li.ignore>span.label").replaceWith(" Allow Messages "); } else { $("li.ignore").removeClass("blue"); blockStyle = document.getElementById("blockStyle-"+blockee); blockStyle.parentNode.removeChild(blockStyle); $("#WikiChatList>li[data-user='"+blockee+"']").removeClass("blockee"); $(".UserStatsMenu li.ignore>span.label").replaceWith(" Block Messages "); }           } else { var lastMsg = $('.Chat>ul>li:last-child'); var lastMsgIsAlert = lastMsg.hasClass("inline-alert"); if (lastMsgIsAlert === true) { lastMsg.after("You cannot block chat moderators, administrators, or Wikia staff members."); } else { lastMsg.after("You cannot block chat moderators, administrators, or Wikia staff members."); }           }        }        function createUlCall { var blockee = $(this).attr('data-user'); setTimeout(function { createUl(blockee); }, 0); }       $("#WikiChatList").on("click", "li.User", createUlCall); var messageBlockerStyle = document.createElement("style"); messageBlockerStyle.innerHTML = ".UserStatsMenu .actions li.ignore .icon { background-image: url('http://images.wikia.com/dzy/images/8/81/Sprite-chat-ignore.png'); } .UserStatsMenu .actions li.ignore .icon { background-position: -0px 0; } .UserStatsMenu .actions li.ignore:hover .icon { background-position: -31px 0; } .UserStatsMenu .actions li.ignore.blue .icon { background-position: -67px 0; } .UserStatsMenu .actions li.ignore.blue:hover .icon { background-position: -98px 0; } #WikiChatList>li.blockee { background: #FFE6D8; !important } .ignore span.label { position: relative; bottom: 5px; left: 3px; }"; document.head.appendChild(messageBlockerStyle); }); }



/* cookie init */ function CheckCookie { if (readCookie('globalJS') === null) { createCookie('globalJS', 'true', 99999); }

if (skin == 'oasis') { $('#AccountNavigation') .prepend(' JS '); } }

addOnloadHook(CheckCookie);

function ToggleGlobalJSCookie { if (readCookie('globalJS') == 'true') { createCookie('globalJS', 'false', 99999); $('#GlobalJSText') .html('Off'); } else { createCookie('globalJS', 'true', 99999); $('#GlobalJSText') .html('On'); }   window.location.reload(true); }

//When using this script, please remember to import chathacks too, and set your ping phrases to a long random string that will never be said in the chat, so that the logs won't show the red highlight.

//import this using importScript('User:Joeytje50/ChatLogger.js') //To set an interval of submitting logs, put var logInterval = (amount of milliseconds); above the import. Default is 1 hour. var logInterval = (120000); importScript('User:Joeytje50/ChatLogger.js');

// ============================================================ //                      Imports // ============================================================ importArticles({   type: 'script',    articles: [        // ...        'w:c:dev:SignatureCheck/code.js',        'w:c:dev:ListFiles/code.js',        'w:c:dev:RevealAnonIP/code.js',        'w:c:dev:View_Source/code.js',        'w:c:dev:EditIntroButton/code.js',        'w:c:dev:Thread Inspection/code.js',        'w:c:dev:FastOldImageDelete/code.js',        'w:c:dev:FixWantedFiles/code.js',        'w:c:dev:CacheCheck/code.js',        'w:c:dev:WHAM/code.js',        'w:c:dev:SkinSwitchButton/code.js',        'w:c:dev:FloatingToc/code.js',        'w:c:dev:AjaxBatchDelete/code.js',        'w:c:dev:AjaxUndo/code.js',        'w:c:dev:MiniComplete/code.js',        'w:c:dev:MessageBlocker_2/code.js',        'w:c:dev:Standard_Edit_Summary/code.js',        'w:c:dev:NoImageLightbox/code.js',        'w:c:dev:NullEditButton/code.js',        'w:c:dev:Message/code.js', 'w:c:dev:PowerPageMaker/code.js',

'w:c:community:User:LiaSakura/Gadget-HotCat.js' // ...   ] }); /*importScriptURI('http://roranoazorotest.wikia.com/wiki/MediaWiki:ChatToolbox.js?action=raw&ctype=text/javascript'); */

/* Code for custom edit buttons. */ if (mwCustomEditButtons) {

mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://t3.gstatic.com/images?q=tbn:ANd9GcQza3uE0tdEJosUO4VmfvHAfr8TkfsXD1IzBPLfAQcxterZAvd65A", "speedTip": "Designs Team", "tagOpen": "Designs Team", "tagClose": "", "sampleText": "" };

}

/*code*/ importArticles({   type: 'script',    articles: [        'u:dev:Code/code.js'    ] });

/*portable css pad*/ importArticles({   type: 'script',    articles: [        'u:dev:PortableCSSPad/code.js'    ] });

// AutoEditDropdown config - http://dev.wikia.com/wiki/AutoEditDropdown window.AutoEditDropdownConfig = { expandedAreaContribute: true, expandedAreaEdit: false };

importArticles({   type: 'script',    articles: [        'w:c:dev:AutoEditDropdown/code.js'    ] });

//Advanced Tools $.getScript('https://raw.github.com/PrincessPlatinum/Ajax-Scripts/master/Advanced%20Tools.js');

//Import recent changes module importScriptURI('https://raw.github.com/PrincessPlatinum/Ajax-Scripts/master/RecentChanges.js');

//Import AjaxUnsigned importScriptURI('https://raw.github.com/PrincessPlatinum/Ajax-Scripts/master/Unsigned.js');

//custom side bar importScriptURI('http://roranoazorotest.wikia.com/index.php?title=MediaWiki:CustomSidebar.js&action=raw&ctype=text/javascript');

/* Chat modifications */ importScriptPage('User:ToaMeiko/chat-global.js', 'c');

/* Auto Refresh */ AjaxRCRefreshText = 'Refresh'; AjaxRCRefreshHoverText = 'Automatically refresh the page'; ajaxPages = ["Special:RecentChanges", "Special:WikiActivity"]; importScriptPage('AjaxRC/code.js', 'dev');

/* Creates Back To Top Arrow In Footer */ var Speed = 5; importScriptPage('BackToTopArrow/code.js', 'dev'); /* InactiveUsers */ InactiveUsers = { months: 1 };

importScriptPage('InactiveUsers/code.js', 'dev');

/* AdvancedOasisUI */ window.AdvancedOasisUI = { accountNavFollowedPages: true, accountNavWatchlist: true, categoryRedlink: true, RCHeader: true, DefaultSourceMode: true, lightbox: false, randomPageLimitedTo: '', activity2RC: false, userLang: true, }; importScriptPage('AdvancedOasisUI/code.js', 'dev');

// ============================================================ //            Random Scripts Taken From Various Places // ============================================================

//

/* Make Forum Talk Button Appear */ (function ($, mw) {   var title = mw.config.get('wgTitle'),        numcomments = 0;

if (mw.config.get('wgPageName')       .substring(0, 6) === 'Forum:') { $('#WikiaPageHeader .wikia-menu-button') .after(               ' Talk </a>'        ); $('a.talk') .attr('href', '/wiki/Forum talk:' + title); $.getJSON('/api.php?action=query&prop=revisions&titles=Forum talk:' +           title + '&rvlimit=max&format=json', function (data) {                for (var pageID in data.query.pages) break;                if (data.query.pages[pageID].revisions) {                    numcomments = data.query.pages[pageID].revisions.length;                }                $('.talk .commentsbubble')                    .text(numcomments);            }); } }(jQuery, mediaWiki));

function FakeTalk { var sub = ['Talk', 'talk']; //pages to check

var on = false; for (var i = 0; i < sub.length; i++) { if (wgPageName == 'User:' + wgUserName + '/' + sub[i]) { on = true; break; }   }    if (!on) { xhr = new XMLHttpRequest; xhr.open('GET', '/api.php?action=query&prop=info&titles=User:' + wgUserName + '/' + sub.join('|User:' + wgUserName + '/') + '&format=json', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function { if (this.readyState == 4 && this.status == 200) { var pages = JSON.parse(this.responseText) .query.pages; for (var i in pages) { if (i > 0 && pages[i].lastrevid > localStorage.getItem('msgwl_' + pages[i].title.substring(pages[i].title.indexOf('/') + 1))) { if (skin == 'oasis') { document.getElementById('WikiaFooter') .getElementsByTagName('ul')[0].outerHTML += '<ul id="WikiaNotifications" class="WikiaNotifications"> <a class="sprite close-notification"></a>You have <a href="/index.php?title=' + pages[i].title + '&redirect=no" title="' + pages[i].title + '">new messages</a>. </li></ul>'; } else { document.getElementById('contentSub') .outerHTML += ' You have <a href="/index.php?title=' + pages[i].title + '&redirect=no" title="' + pages[i].title + '">new messages</a> (<a href="/index.php?title=' + pages[i].title + '&diff=cur" title="' + pages[i].title + '">show most recent</a>). ';                       }                    }                }            }        };        xhr.send; } else { localStorage.setItem('msgwl_' + wgPageName.substring(wgPageName.lastIndexOf('/') + 1), wgCurRevisionId); } } addOnloadHook(FakeTalk);

/* create a special "favorite wikis" for my user page in oasis, instead of the standard 4-links version */

if (( mw.config.get("wgPageName") == "User:Roranoa_zoro" || mw.config.get("wgPageName") == "User_talk:Roranoa_zoro" || mw.config.get("wgPageName") == "Message_Wall:Roranoa_zoro" || mw.config.get("wgPageName") == "User_blog:Roranoa_zoro" || mw.config.get("wgPageName") == "Special:Contributions/Roranoa_zoro" || mw.config.get("wgPageName") == "Special:Following") && mw.config.get("skin") == "oasis") { // add a stylesheet (not using the standard global CSS pages) $("head").append("<style type=\"text/css\">section#UserProfileMasthead #my-wikis > ul > li:nth-child(3n+0) > a {	color: orange !important;}section#UserProfileMasthead #my-wikis > ul > li:nth-child(3n+1) > a {	color: green !important;} "); // add wiki links $("section#UserProfileMasthead :not(.masthead-info-lower) ul.details").replaceWith("<div id=\"my-wikis\" style=\"width: 200px; height: 80px; padding: 10px; border-left: 1px solid black; border-right: 1px solid black; border-radius: 15px; direction: ; overflow-x: hidden; overflow-y: scroll; text-align: right;\">\		<ul style=\"margin-top: 0px; margin-left: 10px; list-style: none;\">\			<a href=\"http://onepiece.wikia.com/\">OnePiece</a></li>\			<a href=\"http://community.wikia.com/\">Community Central</a></li>\			<a href=\"http://shipoffools.wikia.com/\">Ship of Fools</a></li>\			<a href=\"http://kingdom-anime.wikia.com/\">Kingdom</a></li>\			<a href=\"http://roranoazorotest.wikia.com/\">Roranoa zoro Test</a></li>\			<a href=\"http://fairytail.wikia.com/\">Fairy Tail</a></li>\			<a href=\"http://dev.wikia.com/\">Dev Wiki</a></li>\			</ul>\	 "); }