User:JustLeafy/global.js

////////////////////////////////////////////////////////////////////////// /************************************************************************/ /************************** Upload File Button **************************/ /**************************** Author: Nanaki ****************************/ /*************** http://c.wikia.com/User:Nanaki/global.js ***************/ /************************************************************************/ ////////////////////////////////////////////////////////////////////////// $(function {   var newpage = $('.wds-community-header__wiki-buttons a[data-tracking="add-new-page"]');    newpage.clone.attr({href: '/wiki/Special:Upload', title: 'Upload File', 'data-tracking': 'upload'}).insertAfter(newpage)        .find('svg').attr('id', '').html('<path d="M 8.984375 0.98632812 A 1.0001 1.0001 0 0 0 8.203125 1.3828125 L 4.2929688 5.2929688 A 1.0001 1.0001 0 1 0 5.7070312 6.7070312 L 8 4.4140625 L 8 12 A 1.0001 1.0001 0 1 0 10 12 L 10 4.4140625 L 12.292969 6.7070312 A 1.0001 1.0001 0 1 0 13.707031 5.2929688 L 9.7910156 1.3769531 A 1.0001 1.0001 0 0 0 8.984375 0.98632812 z M 2.984375 10.986328 A 1.0001 1.0001 0 0 0 2 12 L 2 16 A 1.0001 1.0001 0 0 0 3 17 L 15 17 A 1.0001 1.0001 0 0 0 16 16 L 16 12 A 1.0001 1.0001 0 1 0 14 12 L 14 15 L 4 15 L 4 12 A 1.0001 1.0001 0 0 0 2.984375 10.986328 z "> '); });//End UFB*/ ////////////////////////////////////////////////////////////////////////// /************************************************************************/ /******************************** Imports *******************************/ /************************************************************************/ ////////////////////////////////////////////////////////////////////////// /* Universal Imports */ importArticles({ type: 'script', articles: [ 'w:c:dev:UserTags/code.js', 'u:dev:ImprovedFooter/code.js', 'u:dev:MediaWiki:ToggleSideBar/code.js', 'u:dev:MediaWiki:ConsistentModules/code.js', 'w:c:dev:RevealAnonIP/code.js', 'User:Monchoman45/ChatHacks.js', 'u:dev:MediaWiki:ExpandGlobalNavDropdownsOnHover/code.js', 'u:dev:View Source/code.js', 'u:dev:MediaWiki:NotesModule/code.js', ] }); window.UserTagsJS = { 	modules: {}, 	tags: { 		assistant: 'Assistant', 		threadmoderator: 'Discussions Moderator', 		'content-moderator': 'Content Moderator' 	}, 	oasisPlaceBefore: '' }; UserTagsJS.modules.inactive = 90; UserTagsJS.modules.newuser = true; UserTagsJS.modules.autoconfirmed = true; UserTagsJS.modules.mwGroups = [    'bureaucrat',     'sysop',     'assistant',     'rollback',     'chatmoderator',     'bannedfromchat' ]; UserTagsJS.modules.mwGroups = ['bureaucrat', 'sysop', 'assistant', 'rollback', 'chatmoderator', 'bannedfromchat']; /*  * Rollback * Perform rollbacks without needing to be in the usergroup * @author Ozuzanna */ ;(function($, mw) { var main = { init: function { //check if user has rollback permission already var userGroups = ["rollback","content-moderator","assistant","sysop","vstf","helper","staff"], ownGroups = mw.config.get('wgUserGroups'), hasPermissionAlready = false; for (var i in ownGroups) { if (userGroups.indexOf(ownGroups[i]) !== -1) { hasPermissionAlready = true; break; } 		} 		if (hasPermissionAlready) 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('&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [rollback] '); $('.mw-custom-rollback-link a').click(function { 			main.getRevisionIdAndContent($(this).attr('data-id')); 		}); }, 	getRevisionIdAndContent: function(title) { var API = new mw.Api; API.get({ 		action: 'query', 		prop: 'revisions', 		titles: title, 		rvprop: 'user|ids', 		rvlimit: 500, 		cb: new Date.getTime 		}) .done(function(d) { 			if (!d.error) { 				var revisions; 				for (var i in d.query.pages) { 					revisions = d.query.pages[i].revisions; 				} 				var currentUser = revisions[0].user, //current user rollbacking from 				lastUser, 				revId; 				for (var i in revisions) { 					if (revisions[i].user != currentUser) { 						lastUser = revisions[i].user; //remember last author 						revId = revisions[i].revid; //get revision to revert to 						break; 					} 				} 				if (lastUser) { 					API.get({ action: 'query', prop: 'revisions', rvprop: 'content', revids: revId, cb: new Date.getTime }) 					.done(function(d) { if (!d.error) { var content = ""; //can be no content on page so initialise empty as failsafe for (var i in d.query.pages) { if (d.query.pages[i].revisions) content = d.query.pages[i].revisions[0]["*"]; } 							main.performRollback(title,content,currentUser,lastUser); } 						else new BannerNotification('Unable to rollback (failed to get page content): ' + d.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): ' + d.error.code,'error').show; 		}) .fail(function { 			new BannerNotification('Unable to rollback: failed to get revisions!','error').show; 		}); }, 	performRollback: function(page,text,user,user2) { var API = new mw.Api; API.post({ 		action: 'edit', 		title: page, 		text: text, 		summary: 'Reverted edits by ' + user + ' (talk | block) to last version by ' + user2 + ' (script)', 		token: mw.user.tokens.values.editToken 		}) .done(function(d) { 			if (!d.error) { 				new BannerNotification('Rollback successful!','confirm').show;				 			} 			else 				new BannerNotification('Unable to rollback (failed to publish edit): ' + d.error.code,'error').show; 		}) .fail(function { 			new BannerNotification('Unable to rollback: failed to publish edit!','error').show; 		}); } }; main.init; }) (this.jQuery, this.mediaWiki); // Adds NavigationPopups // wikipedia:User:Lupin/popups mw.loader.load("//en.wikipedia.org/w/index.php?title=User:Lupin/popups.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400"); popupRevertSummary = 'Revert to revision dated %s by %s, oldid %s using popups'; popupQueriedRevertSummary = 'Revert to revision $1 dated $2 by $3 using popups'; popupExtendedRevertSummary = 'Revert to revision dated %s by %s, oldid %s using popups'; popupQueriedRevertToPreviousSummary = 'Revert to the revision prior to revision $1 dated $2 by $3 using popups'; popupRevertToPreviousSummary = 'Revert to the revision prior to revision %s using popups'; popupRevertSummaryPrompt = true; popupStructure = 'menus'; popupFixDabs = 'true'; popupFixDabsSummary = 'Disambiguate %s to %s using popups'; popupRmDabLinkSummary = 'Remove link to dab page %s using popups'; // END Adds NavigationPopups // install User:Cacycle/wikEdDiff enhanced diff importScriptURI('//en.wikipedia.org/w/index.php?title=User:Cacycle/wikEdDiff.js&action=raw&ctype=text/javascript'); // Add RevealAnonIP importArticle({type:'script', article:'w:c:dev:RevealAnonIP/code.js'}); // END Add RevealAnonIP importScriptPage('MediaWiki:ChatTags/code.js', 'shining-armor'); var loadedTester = setInterval(function {   if(typeof mainRoom !== "undefined") {        importScriptPage("MediaWiki:JacobsLadderSuite.js","d97"); // import the API        setTimeout(function { importScriptPage("MediaWiki:TitleNotifications.js","d97"); },500);       clearInterval(loadedTester);    }  },100); if (window.location.pathname.indexOf('Special:InfoboxBuilder') != -1) { var pname = window.location.pathname.split('Special:InfoboxBuilder/')[1];  location.replace(document.URL.replace(window.location.href.split('/wiki/')[1],'Template:'+pname+'?action=edit&useeditor=source'));  } /* Restoring old wikia logo */ $('svg.wds-global-navigation__logo-fandom').replaceWith('');

importArticle({type: 'script', article: 'w:c:dev:VisualSpellCheck/code.js'});

WHAMDelay = 1000; importArticles({    type: "script",     articles: [         'u:dev:WHAM/code.2.js'     ] });

importArticles({   type: 'script',    articles: [        'u:dev:DedicatedTalkButton.js',    ] });

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

//__NOWYSIWYG__  ' + lng.undoedits + '  ');    $('#find-and-replace').click(function  { var searchfor = '', searchexp, $textarea = $('#wpTextbox1'), replacewith = $('#replace_with').val.replace(/\r/gi, ''), text = $textarea.val.replace(/\r/gi, ''), flagg = 'g', flagi = 'i'; if ($('#globl').prop('checked') === false) { flagg = ''; }       if ($('#case_sen').prop('checked') === true) { flagi = ''; }       var flags = flagg + flagi + 'm'; searchfor = $('#find_this').val.replace(/\r/gi, '').replace(/([.*+?^=!:${}|\[\]\/\\])/g,'\\$1'); searchexp = new RegExp(searchfor, flags); var rcount = 0; var matched = text.match(searchexp); if (matched !== null) { rcount = matched.length; }       text = text.replace(searchexp, replacewith); $textarea.val(text); $('#far-found').text( rcount + ' ' + lng.farfound ); });   function getOldContent {        $("#wpTextbox1").val($("#wpTextbox1").text);    }    $('a#far-alb').click(function { $('#replace_with').val($('#replace_with').val+'\n'); })   $('a#far-undo').click(function  { if (confirm(lng.undomsg)) getOldContent; });   $(".far-module h3").click(function  { var $header = $(this); var $content = $header.next; var $visible = $content.is(":visible"); $header.find('span').text(lng.far + " (" + ($visible ? lng.expand : lng.collapse) + ")"); $header.find(".chevron").addClass($visible ? "expand" : "collapse").removeClass($visible ? "collapse" : "expand"); $content.stop.slideToggle(500); });   $(window).bind("beforeunload", function{ $.storage.set("FindAndReplace", {sh: $("#findfielddiv").is(":visible"), gm: $('#globl').prop('checked'), cs: $('#case_sen').prop('checked')}); }); }); //