Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
window.AutoCreateUserPagesConfig = {
content: {
2: '{{w:User:DragonBallZ050}}',
3: '{{w:User talk:DragonBallZ050}}',
1202: '{{w:Message Wall Greeting:DragonBallZ050}}'
},
summary: 'Automatic'
};
importArticles({
type: 'script',
articles: [
'u:kocka:User:KockaAdmiralac/AutoCreateUserPages.javascript',
'u:kocka:User:KockaAdmiralac/LinkModifications.javascript',
'u:dev:MediaWiki:AjaxBatchDelete.js',
'u:dev:MediaWiki:AjaxPatrol/code.js',
'u:dev:MediaWiki:AnalyticsShortcut.js',
'u:dev:MediaWiki:AnchoredRollback/code.js',
'u:dev:MediaWiki:AvatarLink.js',
'u:dev:MediaWiki:CancelButton.js',
'u:dev:MediaWiki:CategoryQuickRemove.js',
'u:dev:MediaWiki:CategoryRenameAuto-update/code.js',
'u:dev:MediaWiki:CodeSelectAll.js',
'u:dev:MediaWiki:ConsistentModules/code.js',
'u:dev:MediaWiki:ConsistentNotifications.js',
'u:dev:MediaWiki:ContribsLink/code.js',
'u:dev:MediaWiki:CopyCodeButton.js',
'u:dev:MediaWiki:DeleteTalkpage.js',
'u:dev:MediaWiki:DisableAccessKeys.js',
'u:dev:MediaWiki:DisableInfoboxBuilder.js',
'u:dev:MediaWiki:Discussions_Delete_All/code.js',
'u:dev:MediaWiki:DiscussionsViewer.js',
'u:dev:MediaWiki:EditBio/code.js',
'u:dev:MediaWiki:EditConflictAlert/code.js',
'u:dev:MediaWiki:FandomizedChat/code.2.js',
'u:dev:MediaWiki:FandomizedWikiFeatures/adaptable.js',
'u:dev:MediaWiki:FastCreate.js',
'u:dev:MediaWiki:FastFileDelete.js',
'u:dev:MediaWiki:FastOldImageDelete/code.js',
'u:dev:MediaWiki:FavoriteWikisPersistTab/code.js',
'u:dev:MediaWiki:FileLogs.js',
'u:dev:MediaWiki:FindAndReplace/code.js',
'u:dev:MediaWiki:HideExtraTestModeBanner.js',
'u:dev:MediaWiki:JavascriptEditor.js',
'u:dev:MediaWiki:ListFiles/code.js',
'u:dev:MediaWiki:MassEdit/code.js',
'u:dev:MediaWiki:MassNullEdit/code.js',
'u:dev:MediaWiki:MassPatrol/code.js',
'u:dev:MediaWiki:MessageWallImprovements.js',
'u:dev:MediaWiki:MinimalBanners.js',
'u:dev:MediaWiki:MinimalJSPages.js',
'u:dev:MediaWiki:MinimalTemplateClassification.js',
'u:dev:MediaWiki:MinimalTestModeAlert.js',
'u:dev:MediaWiki:MobileEditor.js',
'u:dev:MediaWiki:ModernLightbox.js',
'u:dev:MediaWiki:MoveSubcategoriesToTheTop.js',
'u:dev:MediaWiki:PrivateMessageAlert/code.js',
'u:dev:MediaWiki:PurgeButton/code.js',
'u:dev:MediaWiki:QQX/code.js',
'u:dev:MediaWiki:QuickAccessToCSSAndJS/code.js',
'u:dev:MediaWiki:QuickDelete/code.js',
'u:dev:MediaWiki:QuickDiff/code.js',
'u:dev:MediaWiki:RailWAM/code.js',
'u:dev:MediaWiki:RedirectManagement/code.js',
'u:dev:MediaWiki:RemoveTracking.js',
'u:dev:MediaWiki:ReplyBottom/code.js',
'u:dev:MediaWiki:RevealAnonIP/code.js',
'u:dev:MediaWiki:SeeMoreActivityButton/code.js',
'u:dev:MediaWiki:ShowOnlyMyClearCacheMessage.js',
'u:dev:MediaWiki:SmoothGlobalNav/code.js',
'u:dev:MediaWiki:Thread Inspection/code.js',
'u:dev:MediaWiki:TopEditors/code.js',
'u:dev:MediaWiki:UsefulDropdown/code.js',
'u:dev:MediaWiki:UserActivityTab/code.js',
'u:dev:MediaWiki:UserCheck/code.js',
'u:dev:MediaWiki:UserRightsRecord/code.js',
'u:dev:MediaWiki:UserUnusedFiles/code.js',
'u:dev:MediaWiki:ViewRemoved/code.js',
'u:dev:MediaWiki:VSTFReport.js',
'u:dev:MediaWiki:VSTF_Report_Menu/code.js',
'u:dev:MediaWiki:WHAM/code.2.js',
'u:dev:MediaWiki:WLHEditLinks/code.js',
]
});
/*This is borrowed from the Dev Wiki (!bang), just customizing a little */
$('.wds-global-navigation__search-input').on('keyup', function(){
var txt = $(this).val(),
m = txt.match(/^\!([a-z]+) /),
namespaces;
if (m) {
namespaces = {
t: "Template",
mw: "MediaWiki",
s: "Special",
f: "File",
u: "User",
p: "Project",
c: "Category",
me: "Message Wall",
mlg: "Message Wall Greeting"
};
if (namespaces.hasOwnProperty(m[1])) {
$(this).val(namespaces[m[1]] + ":" + txt.substr(m[1].length + 2));
}
}
});
/* ability to perform a rollback without being in the usergroup, author Ozank */
mw.loader.using('mediawiki.api', function() {
//Exit if normal rollback links are present
if ($('.mw-rollback-link').length) return;
var conf = mw.config.get([
'wgAction',
'wgCanonicalSpecialPageName',
'wgContentLanguage',
'wgPageName',
'wgUserLanguage',
'skin'
]),
i18n = {
en: {
rollback: "rollback",
description: ""Rollback" reverts edit(s) to this page of the last contributor in one click",
summary: "Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]] | [[Special:Block/$1|block]]) to last version by [[User:$2|$2]] ([[w:c:dev:Rollback|script]])",
summaryShort: "Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]) to last version by $2 ([[w:c:dev:Rollback|script]])",
editConflict: "Unable to rollback (edit conflict)",
contentFail: "Unable to rollback (failed to get page content)",
singleEditor: "Unable to rollback (no different editor found)",
revisionFail: "Unable to rollback (failed to get revisions)",
editFail: "Unable to rollback (failed to publish edit)",
success: "Rollback successful"
}
};
i18n = i18n[conf.wgUserLanguage] || i18n[conf.wgUserLanguage.split('-')[0]] || i18n[conf.wgContentLanguage] || i18n[conf.wgContentLanguage.split('-')[0]] || i18n.en;
conf.API = new mw.Api();
conf.token = mw.user.tokens.values.editToken;
//History
if (conf.wgAction == "history" && $('#pagehistory li').length > 1)
$('#pagehistory li:first .mw-history-undo a').before('<span class="mw-custom-rollback-link"><a title="' + i18n.description + '" data-id="' + conf.wgPageName + '" data-user="' + $('.mw-userlink:first').text() + '">' + i18n.rollback + '</a></span> | ');
//Contributions
else if (conf.wgCanonicalSpecialPageName == "Contributions") {
$('#mw-content-text ul').find('li').each(function() {
if ($(this).find('.mw-uctop').length)
$(this).append(' <span class="mw-custom-rollback-link">[<a title="' + i18n.description + '" data-id="' + $(this).find('a:first').attr('title') + '" data-user="' + conf.wgPageName.split('/')[1] + '">' + i18n.rollback + '</a>]</span>');
});
}
//Diffs
else if (($.getUrlVar('diff') || $.getUrlVar('oldid')) && $('#differences-nextlink').length === 0)
$('.mw-usertoollinks:last').after(' <span class="mw-custom-rollback-link">[<a title="' + i18n.description + '" data-id="' + conf.wgPageName + '" data-user="' + $('#mw-diff-ntitle2 .mw-userlink').text() + '">' + i18n.rollback + '</a>]</span>');
else
return;
mw.util.addCSS('.mw-custom-rollback-link a { cursor: pointer; }');
$('.mw-custom-rollback-link a').click(function() {
getRevisionIdAndContent($(this).data('id'),$(this).data('user').replace(/_/g, " "));
$(this).parent().remove();
});
window.AjaxBlock = {
blockReasons: {
'[[w:Help:Vandalism|Vandalism]]': 'Vandalism',
'[[w:Help:Spam|Spam]]': 'Spam',
'Repeated policy violations': 'Repeated violations',
'Sockpuppetry/Ban Evasion': 'Sockpuppetry',
'Moved to a new account': 'Moved account',
'Removing content/blanking pages': 'Page blanking',
'Inserting false information or nonsense': 'Gibberish',
'Intimidating behaviour/harassment/trolling': 'Troll/Harassment',
'Unacceptable username, avatar, or global masthead': 'Name/avatar',
'Under the legal age': 'COPPA',
'Failing to comply with the [[Project:File Policy|File Policy]]': 'File Policy',
'Posting/Discussing leaked content': 'Leaks'
},
check: {
creation: true,
talk: true,
autoBlock: true,
override: true
}
};
function getRevisionIdAndContent(title,target) {
conf.API.get({
action: 'query',
prop: 'revisions',
titles: title,
rvprop: 'user|ids',
rvlimit: 500000,
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 lastUser,
revId;
for (var j in revisions) {
if (revisions[j].user != target) {
lastUser = revisions[j].user; //remember last author
revId = revisions[j].revid; //get revision to revert to
break;
}
}
if (lastUser) {
conf.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
for (var i in d.query.pages) {
if (d.query.pages[i].revisions)
content = d.query.pages[i].revisions[0]["*"];
}
performRollback(title,content,target,lastUser);
}
else
outputError(i18n.contentFail + ': ' + d.error.code);
})
.fail(function() {
outputError(i18n.contentFail);
});
}
else
outputError(i18n.singleEditor);
}
else
outputError(i18n.revisionFail + ': ' + d.error.code);
})
.fail(function() {
outputError(i18n.revisionFail);
});
}
function performRollback(page,text,user,user2) {
var summary = i18n.summary.replace(/\$1/g,user).replace(/\$2/g,user2);
conf.API.post({
action: 'edit',
title: page,
text: text,
summary: summary,
minor: true,
token: conf.token
})
.done(function(d) {
if (!d.error) {
new BannerNotification(i18n.success,'confirm').show();
}
else
outputError(i18n.editFail + ': ' + d.error.code);
})
.fail(function() {
outputError(i18n.editFail);
});
}
function outputError(text) {
switch (conf.skin) {
case 'oasis':
case 'wikia':
new BannerNotification(text,'error').show();
break;
default:
alert(text);
break;
}
}
});
/* FindAndReplace configs */
window.cvCaseSensitive = 'checked';