User:Roranoa zoro/global.js

/* ............Roranoa's JS............. // ============================================================ //                      Chat Hacks // ============================================================

//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:community:User:LiaSakura/Gadget-HotCat.js' // ...	] }); //importScriptURI('http://roranoazorotest.wikia.com/wiki/MediaWiki:ChatToolbox.js?action=raw&ctype=text/javascript');

/* InactiveUsers */ InactiveUsers = { months: 1 }; importScriptPage('InactiveUsers/code.js', 'dev');

/* 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 Button In Footer */ importScriptPage('BackToTopButton/code.js', 'dev'); var Speed = 50; /* 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);