Community Central
Register
Community Central
mNo edit summary
mNo edit summary
Line 102: Line 102:
 
'u:dev:MediaWiki:Rollback/code.js',
 
'u:dev:MediaWiki:Rollback/code.js',
 
'u:dev:MediaWiki:SOAPReport.js',
 
'u:dev:MediaWiki:SOAPReport.js',
  +
'u:dev:MediaWiki:ThemeSwitcher.js',
 
'u:dev:MediaWiki:UserAccountAge/code2.js',
 
'u:dev:MediaWiki:UserAccountAge/code2.js',
 
'u:dev:MediaWiki:UserActivityLink.js',
 
'u:dev:MediaWiki:UserActivityLink.js',
Line 188: Line 189:
   
 
$(SkinPropagation.init);
 
$(SkinPropagation.init);
 
// FandomDesktop thing 2
 
$(function() {
 
if (mw.config.get('skin') !== 'fandomdesktop') return;
 
var theme = mw.util.getParamValue('usetheme');
 
if (['light','dark'].indexOf(theme) === -1) return;
 
$.get(mw.util.wikiScript('wikia')+'?controller=ThemeApi&method=brandThemeVariables&variant='+theme).done(function(data){
 
var $s = $('#pcjThemeSwitch')[0] || $('<style>').attr('id','pcjThemeSwitch').appendTo('body');
 
$($s).text(data);
 
$('body').removeClass('theme-fandomdesktop-light theme-fandomdesktop-dark').addClass('theme-fandomdesktop-'+theme);
 
});
 
});
 

Revision as of 16:48, 2 June 2021

window.AjaxBlock = {
    expiryTimes: {
        '2 hours': '2 hours',
        '1 day': '1 day',
        '3 days': '3 days',
        '1 week': '1 week',
        '2 weeks': '2 weeks',
        '1 month': '1 month',
        '3 months': '3 months',
        '6 months': '6 months',
        '1 year': '1 year',
        'infinite': 'infinite'
    },
    check: {
        talk: true,
        autoBlock: true,
        override: true,
        noCreate: true
    }
};

// AjaxDelete
window.AjaxDelete = {
    deleteReasons: {
        'Author request': 'Author request',
        'Broken redirect': 'Broken redirect',
        'Cleanup': 'Cleanup',
        'Marked for deletion': 'Marked for deletion',
        '[[w:Help:Spam|Spam]]': 'Spam',
        '[[w:Help:Vandalism|Vandalism]]': 'Vandalism',
    },
    reload: true
};

// CustomHeaderDropdown
window.CustomHeaderLinks = [
    {
        text: 'Local Administrators',
        href: mw.util.getUrl('Special:ListAdmins')
    },
    {
        text: 'Recent Changes',
        href: mw.util.getUrl('Special:RecentChanges')
    },
    {
        text: 'DiscussionsRC',
        href: mw.util.getUrl('Special:SocialActivity')
    },
    {
        text: 'Add New Image',
        href: mw.util.getUrl('Special:Upload')
    },
    {
        text: 'Add New Video',
        href: mw.util.getUrl('Special:Video')
    }
];

// GDM Dashboard link in the toolbar
$('#WikiaBar .toolbar .tools').append('<li><a href="https://discussions.fandom.com/wiki/Data:Dashboard">GDM Dashboard</a></li>');

// JWB
importScriptURI('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&action=raw&ctype=text/javascript');

// QuickCreate GDM userpage
window.qtUserPageTemplate = '{{w:User:TheKorraFanatic/GDM}}';

// Remove deletion autofills
if (mw.config.get('wgAction') === 'delete') {
    $('#wpReason').removeAttr('value');
}

// WHAM
window.WHAMBotMe = true;
window.WHAMDelay = 1000;
window.WHAMDeleteReason = "Cleanup";

// Imports
importArticles({
    type: 'script',
    articles: [
        'u:dev:MediaWiki:AbuseLogRC.js',
        'u:dev:MediaWiki:AdminDashboard JS-Button/code.js',
        'u:dev:MediaWiki:AjaxBatchDelete.js',
        'u:dev:MediaWiki:AjaxBatchUndelete.js',
        'u:dev:MediaWiki:AjaxBlock/code.js',
        'u:dev:MediaWiki:AjaxDelete/code.js',
        'u:dev:MediaWiki:AnchoredRollback/code.js',
        'u:dev:MediaWiki:AjaxUndo/code.js',
        'u:dev:MediaWiki:BackToTopButton/code.js',
        'u:dev:MediaWiki:BlogLink/code.js',
        'u:dev:MediaWiki:CustomHeaderDropdown.js',
        'u:dev:MediaWiki:DisableInfoboxBuilder.js',
        'u:dev:MediaWiki:ListFiles/code.js',
        'u:dev:MediaWiki:MarkForDeletion/code.js',
        'u:dev:MediaWiki:MassBlock/code.js',
        'u:dev:MediaWiki:MassProtect/code.js',
        'u:dev:MediaWiki:PortableCSSPad/code.js',
        'u:dev:MediaWiki:ProtectionIcons.js',
        'u:dev:MediaWiki:QuickCreateUserPage/code.js',
        'u:dev:MediaWiki:QuickDiff/code.js',
        'u:dev:MediaWiki:Rollback/code.js',
        'u:dev:MediaWiki:SOAPReport.js',
        'u:dev:MediaWiki:ThemeSwitcher.js',
        'u:dev:MediaWiki:UserAccountAge/code2.js',
        'u:dev:MediaWiki:UserActivityLink.js',
        'u:dev:MediaWiki:VanguardTools.js',
        'u:dev:MediaWiki:WHAM/code.2.js',
    ]
});

// FandomDesktop thing
window.SkinPropagation = {
	skin: '',
	init: function() {
		if (window.location.href.indexOf('useskin=') == -1) return;
		var url = SkinPropagation.parseURL(window.location.href);
		if (url.query.useskin) {
			SkinPropagation.skin = (url.query.propagateskin || url.query.useskin);
		}
		if (SkinPropagation.skin != '') {
			$(document.body).bind('click.skinpropagation', SkinPropagation.clicEvent);
			$('form').bind('submit.skinpropagation', SkinPropagation.submitEvent);
		}
	},
	parseURL: function(url) {
		var ret = {base:'',qs:'',query:{},hash:''};
		var loc = url.indexOf('#');
		if (loc != -1) {
			ret.hash = url.substr(loc+1);
			url = url.substr(0,loc);
		}
		loc = url.indexOf('?');
		if (loc != -1) {
			ret.qs = url.substr(loc+1);
			url = url.substr(0,loc);
			var paras = ret.qs.split('&');
			for (var i = 0; i < paras.length; i++) {
				var p = paras[i].split('=');
				if (p.length == 2) {
					ret.query[p[0]] = p[1];
				}
			}
		}
		ret.base = url;
		return ret;
	},
	getURL: function(url) {
		var nurl = url.base + '?';
		for (var p in url.query) {
			nurl += p + '=' + url.query[p] + '&';
		}
		nurl = nurl.substr(0,nurl.length-1);
		if (url.hash != '') {
			nurl += '#'+ url.hash;
		}
		return nurl;
	},
	clicEvent: function(e) {
		if (e.target.tagName.toLowerCase() != 'a') return;
		if (e.target.href.indexOf(window.wgServer) != 0) return;
		var url = SkinPropagation.parseURL(e.target.href);
		var thisloc = SkinPropagation.parseURL(window.location.href);
		if (url.base == thisloc.base && url.qs == thisloc.qs && url.hash != '') {
			return;
		}
		if (url.query.useskin && url.query.useskin != SkinPropagation.skin) {
			url.query.propagateskin = SkinPropagation.skin;
		} else {
			url.query.useskin = SkinPropagation.skin;
		}
		e.target.href = SkinPropagation.getURL(url);
	},
	submitEvent: function(e) {
		if (this.action.indexOf(window.wgServer) != 0) return;
		if (this.method == 'post') {
			var url = SkinPropagation.parseURL(this.action);
			url.query.useskin = SkinPropagation.skin;
			this.action = SkinPropagation.getURL(url);
		} else {
			$(this).append('<input type="hidden" name="useskin" value="'+SkinPropagation.skin+'"/>');
		}
	},
	stop: function() {
		$(document.body).unbind('click.skinpropagation');
		$('form').unbind('submit.skinpropagation');
	}
};

$(SkinPropagation.init);