Content added Content deleted
No edit summary |
(Update/normalise URLs) |
||
(143 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
mw.loader.load( '/MediaWiki:LastEdited.js?action=raw&ctype=text/javascript' ); |
|||
if(mw.config.get("wgNamespaceNumber") == 2){ |
|||
$('#profile-top').append($('.profile-actions')); |
|||
$('#firstHeading').html($('#firstHeading').html().replace('User:', '')); |
|||
$('.profile-actions').html($('.profile-actions').html().replace(' | ', '').replace(' | ', '').replace(' | ', '').replace(' | ', '')); |
|||
} |
|||
if ( $( '#mw-content .hgroup' ).length > 0 === true ) { |
|||
window.FastDeleteNoConfirm = true; |
|||
mw.loader.load( '/MediaWiki:TagRightsManagement.js?action=raw&ctype=text/javascript' ); |
|||
if(wgPageName == "Project_New_America_(Earth-2:_Post-Crisis)"){ |
|||
window.history.replaceState(null,null, "/wiki/Project:_New_America_(Earth-2:_Post-Crisis)"); |
|||
} |
} |
||
if ( $( '#mw-content a[href*="/Special:UpdateProfile"]' ).length > 0 === true ) { |
|||
if(wgPageName == "DC_Multiverse_Wiki:New_America_(Earth-2:_Post-Crisis)"){ |
|||
$( '#profile-top, #mw-content #cosmos-articleHeader-actions' ).hover( function () { |
|||
window.location.replace("/wiki/Project_New_America_(Earth-2:_Post-Crisis)"); |
|||
$( '#mw-content #cosmos-articleHeader-actions' ).css( 'visibility', 'visible' ); |
|||
}, function () { |
|||
$( '#mw-content #cosmos-articleHeader-actions' ).css( 'visibility', 'hidden' ); |
|||
}); |
|||
} |
} |
||
window.setInterval(function(){ |
|||
$('li[title="Project New America (Earth-2: Post-Crisis)"]').attr("title", "Project: New America (Earth-2: Post-Crisis)"); |
|||
$('li[title="Project: New America (Earth-2: Post-Crisis)"] a.wds-global-navigation__dropdown-link').html('<a class="wds-global-navigation__dropdown-link" style="color:black;">Project: New America (Earth-2: Post-Crisis)</a>'); |
|||
},0); |
|||
$(function() { |
|||
var actions = mw.config.get("wgWikiaPageActions"), |
|||
oldbtn = $(".UserProfileActionButton"), |
|||
masthead = $(".user-identity-box-edit"); |
|||
function getAction(id) { |
|||
return actions.filter(function(action){return action.id === "page:"+id})[0] |
|||
} |
|||
function renderSVGs(wds) { |
|||
wds.render(".user-identity-box-edit .wds-button-group") |
|||
} |
|||
if(mw.config.get("wgNamespaceNumber") == 2 && oldbtn.length && masthead.length) { |
|||
importArticle({type: "style", article: "u:dev:MediaWiki:ModernProfile/EditButton.css"}) |
|||
oldbtn.remove(); |
|||
if(actions) { |
|||
var newbtn, drop, dropbtns = []; |
|||
var a_edit = getAction("Edit") |
|||
if(a_edit) { |
|||
newbtn = $("<a>").attr({ |
|||
"class": "wds-button wds-is-secondary wds-is-squished", |
|||
"id": "ca-edit", |
|||
"href": a_edit.href |
|||
}).append( |
|||
$("<span>").attr({ |
|||
"class": "dev-wds-icon", |
|||
"id": "dev-wds-icons-pencil-small" |
|||
}), |
|||
$("<span>").text(a_edit.caption) |
|||
) |
|||
} |
|||
["History", "Move", "Protect", "Delete"].forEach(function(id){ |
|||
var a = getAction(id); |
|||
if(a) dropbtns.push($("<li>").append($("<a>").attr("href", a.href).text(a.caption))) |
|||
}) |
|||
if(dropbtns.length) { |
|||
var dropcontent = $("<ul>").attr("class", "wds-list wds-is-linked") |
|||
drop = $("<div>").attr("class", "wds-dropdown").append( |
|||
$("<div>") |
|||
.attr("class", "wds-button wds-is-secondary wds-is-squished wds-dropdown__toggle") |
|||
.append( |
|||
$("<span>").attr({ |
|||
"class": "dev-wds-icon", |
|||
"id": "dev-wds-icons-dropdown-tiny" |
|||
}) |
|||
), |
|||
$("<div>") |
|||
.attr("class", "wds-dropdown__content wds-is-not-scrollable wds-is-right-aligned") |
|||
.append(dropcontent) |
|||
); |
|||
dropbtns.forEach(function(e){dropcontent.append(e)}) |
|||
} |
|||
masthead.html( |
|||
$("<div>") |
|||
.attr("class", "wds-button-group") |
|||
.css({"float": "right"}) |
|||
.append(newbtn, drop) |
|||
) |
|||
if(!window.dev || !window.dev.wds) { |
|||
mw.hook("dev.wds").add(renderSVGs); |
|||
importArticle({type: "script", articles: "u:dev:WDSIcons/code.js"}) |
|||
} else renderSVGs(window.dev.wds) |
|||
} |
|||
} |
|||
}); |
|||
/** |
|||
* @name MultiUpload |
|||
* @author Gguigui1, KhangND, Universal Omega |
|||
* @desc Allows selecting multiple files directly from the dialog box and upload them |
|||
* <nowiki> |
|||
*/ |
|||
//License preview added by Universal Omega |
|||
wgAjaxLicensePreview=true; |
|||
window.MultiUploadLoaded = undefined; |
|||
function getLicensePreview(num) { |
|||
window.licenseSelectorCheck = function () { |
|||
var selector = document.getElementById("license" + num); |
|||
var selection = selector.options[selector.selectedIndex].value; |
|||
if (selector.selectedIndex > 0) { |
|||
if (selection == "") { |
|||
// Option disabled, but browser is broken and doesn't respect this |
|||
selector.selectedIndex = 0; |
|||
} |
|||
} |
|||
var wgUploadLicenseObj = { |
|||
'responseCache': { |
|||
'': '' |
|||
}, |
|||
'fetchPreview': function (license) { |
|||
if (!mw.config.get('wgAjaxLicensePreview')) |
|||
return; |
|||
for (cached in this.responseCache) { |
|||
if (cached == license) { |
|||
this.showPreview(this.responseCache[license]); |
|||
return; |
|||
} |
|||
} |
|||
$('#license' + num).injectSpinner('license' + num); |
|||
var title = document.getElementById('imagename' + num).value; |
|||
if (!title) |
|||
title = 'File:Sample.jpg'; |
|||
var url = mw.util.wikiScript('api') |
|||
+ '?action=parse&text={{' + encodeURIComponent(license) + '}}' |
|||
+ '&title=' + encodeURIComponent(title) |
|||
+ '&prop=text&pst&format=json'; |
|||
var req = sajax_init_object(); |
|||
req.onreadystatechange = function () { |
|||
if (req.readyState == 4 && req.status == 200) { |
|||
wgUploadLicenseObj.processResult(eval('(' + req.responseText + ')'), license); |
|||
} |
|||
}; |
|||
req.open('GET', url, true); |
|||
req.send(''); |
|||
}, |
|||
'processResult': function (result, license) { |
|||
$.removeSpinner('license' + num); |
|||
this.responseCache[license] = result['parse']['text']['*']; |
|||
this.showPreview(this.responseCache[license]); |
|||
}, |
|||
'showPreview': function (preview) { |
|||
var previewPanel = document.getElementById('mw-license-preview' + num); |
|||
if (previewPanel.innerHTML != preview) |
|||
previewPanel.innerHTML = preview; |
|||
} |
|||
}; |
|||
// We might show a preview |
|||
wgUploadLicenseObj.fetchPreview(selection); |
|||
}; |
|||
var wpLicense = document.getElementById('license' + num); |
|||
if (mw.config.get('wgAjaxLicensePreview') && wpLicense) { |
|||
// License selector check |
|||
wpLicense.onchange = licenseSelectorCheck; |
|||
// License selector table row |
|||
var wpLicenseRow = wpLicense.parentNode.parentNode; |
|||
var wpLicenseTbody = wpLicenseRow.parentNode; |
|||
var row = document.createElement('tr'); |
|||
var td = document.createElement('td'); |
|||
row.appendChild(td); |
|||
td = document.createElement('td'); |
|||
td.id = 'mw-license-preview' + num; |
|||
row.appendChild(td); |
|||
wpLicenseTbody.insertBefore(row, wpLicenseRow.nextSibling); |
|||
} |
|||
} |
|||
mw.loader.using([ |
|||
'mediawiki', |
|||
'mediawiki.user', |
|||
'mediawiki.api', |
|||
'jquery.client', |
|||
'jquery.spinner', |
|||
'ext.wikia.LinkSuggest' |
|||
], function() { |
|||
var groups = mw.config.get('wgUserGroups').join(), |
|||
config = mw.config.get([ |
|||
'wgCanonicalSpecialPageName', |
|||
'wgNamespaceNumber', |
|||
'wgTitle', |
|||
'wgUserLanguage', |
|||
'wgUserName' |
|||
]); |
|||
// load protections |
|||
if(window.MultiUploadLoaded |
|||
|| config.wgUserName === null |
|||
|| !/autoconfirmed/.test(groups)) { |
|||
return; |
|||
} window.MultiUploadLoaded = true; |
|||
var storage = 'MultiUploadLicenses'; |
|||
var content = $('#mw-content-text'); |
|||
var allowTypes = $.map( mw.config.get("wgFileExtensions"), function(file_extensions) { |
|||
return('.' + file_extensions) |
|||
}); |
|||
var style = { |
|||
block: { |
|||
display: 'inline-block', |
|||
margin: '0 8px' |
|||
}, |
|||
textarea: { |
|||
width: '100%', |
|||
height: 150, |
|||
boxSizing: 'border-box', |
|||
resize: 'none' |
|||
} |
|||
}; |
|||
function loadMWMessagesIfMissing(messages) { |
|||
var deferred = $.Deferred(), |
|||
missingMessages = messages.filter(function (message) { return !mw.messages.exists(message); }); |
|||
if (!missingMessages.length) { |
|||
deferred.resolve(); |
|||
} else { |
|||
$.get(mw.util.wikiScript('api'), { |
|||
format: 'json', |
|||
action: 'query', |
|||
meta: 'allmessages', |
|||
ammessages: missingMessages.join('|'), |
|||
amlang: config.wgUserLanguage |
|||
}).then(function (data) { |
|||
if ($.isArray(data.query.allmessages)) { |
|||
$.each(data.query.allmessages, function (_, message) { |
|||
if (message.missing !== '') { |
|||
mw.messages.set(message.name, message['*']); |
|||
} |
|||
}); |
|||
} |
|||
deferred.resolve(); |
|||
}, function () { |
|||
// Silently swallow failures; we don't want error reporting to stall just because we failed to fetch some messages. |
|||
deferred.resolve(); |
|||
}); |
|||
} |
|||
return deferred; |
|||
} |
|||
var MultiUpload = { |
|||
input: $(), // available on init |
|||
editor: $(), // available on init |
|||
button: $(), // available on init |
|||
fileCount: 0,// available on create |
|||
preload: function(i18n) { |
|||
$.extend(this, window.MultiUploadoption || {}); |
|||
this.i18n = i18n; |
|||
// prepends a link in My Tools menu |
|||
$('<li>', { |
|||
'class': 'custom', |
|||
prependTo: '#my-tools-menu', |
|||
append: $('<a>', { |
|||
href: mw.util.getUrl('Special:MultiUpload'), |
|||
text: this.i18n.msg('title').plain() |
|||
}) |
|||
}); |
|||
// creates Special page |
|||
if( |
|||
(config.wgNamespaceNumber === -1 && config.wgTitle === 'MultiUpload') || |
|||
(config.wgCanonicalSpecialPageName === 'Blankpage' && /MultiUpload/.test($.getUrlVar('blankspecial'))) |
|||
) { |
|||
$('.page-header__title').text(this.i18n.msg('title').plain()); |
|||
$('title').text(this.i18n.msg('title').plain()); |
|||
this.init(); |
|||
content.after( |
|||
$('<div>', { |
|||
id: 'mu-footer', |
|||
css: { |
|||
textAlign: 'center', |
|||
fontSize: 10, |
|||
borderTop: '1px solid', |
|||
marginTop: 10 |
|||
}, |
|||
text: this.i18n.msg('poweredby').plain() + ' ', |
|||
append: $('<a>', { |
|||
href: '//dev.fandom.com/wiki/MultiUpload', |
|||
text: 'MultiUpload' |
|||
}) |
|||
}) |
|||
); |
|||
} |
|||
}, |
|||
init: function() { |
|||
content.empty().append([ |
|||
$('<input>', { |
|||
id: 'fileinput', |
|||
type: 'file', |
|||
multiple: true, |
|||
accept: allowTypes.join(), |
|||
}), |
|||
$('<div>', { |
|||
id: 'editor', |
|||
css: { display: 'none' }, |
|||
}), |
|||
$('<button>', { |
|||
id: 'go', |
|||
text: this.i18n.msg('update').plain(), |
|||
click: $.proxy(this.getLicenses, this) |
|||
}) |
|||
]); |
|||
this.input = $('#fileinput'); |
|||
this.editor = $('#editor'); |
|||
this.button = $('#go'); |
|||
}, |
|||
notify: function(message, type) { |
|||
new BannerNotification(message, type, null).show(); |
|||
}, |
|||
getLicenses: function() { |
|||
var data = localStorage.getItem(storage); |
|||
if(data !== null) { |
|||
this.create(data); |
|||
var limit = this.max < this.fileCount ? this.max : this.fileCount; |
|||
for (i = 1; i <= limit; i++) { |
|||
getLicensePreview(i); |
|||
} |
|||
return; |
|||
} |
|||
$.get(mw.util.wikiScript('api'), { |
|||
action: 'query', |
|||
meta: 'allmessages', |
|||
ammessages: 'Licenses', |
|||
format: 'json' |
|||
}).success( |
|||
$.proxy(this.create, this) |
|||
).error($.proxy(function(data) { |
|||
this.notify(this.i18n.msg('errorapi').plain() + ' : ' + data.error.info, 'error'); |
|||
}), this); |
|||
}, |
|||
create: function(data) { |
|||
// conditions |
|||
var formatError = false; |
|||
this.fileCount = this.input[0].files.length; |
|||
$(this.input[0].files).each(function(i, file) { |
|||
if(!new RegExp(allowTypes.join('|\\'), 'i').test(file.name)) { |
|||
formatError = true; |
|||
return; |
|||
} |
|||
}); |
|||
if (formatError) { |
|||
this.notify(this.i18n.msg('fileformat').plain(), 'warn'); |
|||
return; |
|||
} |
|||
if (!this.input[0].files) { |
|||
this.notify(this.i18n.msg('browsersupport').plain(), 'notify'); |
|||
return; |
|||
} |
|||
if (this.fileCount === 0) { |
|||
this.notify(this.i18n.msg('nofile').plain(), 'warn'); |
|||
return; |
|||
} |
|||
if(!this.max |
|||
|| this.max < 0 |
|||
|| this.max > 101 |
|||
|| typeof this.max !== 'number') { |
|||
if (/staff|helper|util|bot-global/.test(groups)) { |
|||
this.max = 200; |
|||
} else if (/bureaucrat|bot/.test(groups)) { |
|||
this.max = 70; |
|||
} else if (/sysop/.test(groups)) { |
|||
this.max = 50; |
|||
} else if (/rollback/.test(groups)) { |
|||
this.max = 30; |
|||
} else { |
|||
this.max = 20; |
|||
} |
|||
} |
|||
if (!this.max) { |
|||
this.notify(this.i18n.msg('problem').plain(), 'error'); |
|||
return; |
|||
} |
|||
// creates form |
|||
data = typeof data === 'object' |
|||
? data.query.allmessages[0]['*'].trim() |
|||
: data; |
|||
localStorage.setItem(storage, data); // retrieves licenses 1 time only |
|||
var licenses = data.split('\n'); |
|||
var limit = this.max < this.fileCount ? this.max : this.fileCount; |
|||
for (i = 1; i <= limit; i++) { |
|||
$('<fieldset>', { |
|||
id: 'field' + i, |
|||
appendTo: this.editor, |
|||
append: [ |
|||
$('<legend>', { |
|||
text: this.i18n.msg('imagename').plain() + ' ' + i |
|||
}), |
|||
$('<div>', { |
|||
css: style.block, |
|||
text: this.i18n.msg('filename').plain(), |
|||
append: $('<input>', { |
|||
type: 'text', |
|||
id: 'imagename' + i, |
|||
'class': 'imagename', |
|||
val: this.input[0].files[i - 1].name |
|||
}) |
|||
}), |
|||
$('<div>', { |
|||
css: style.block, |
|||
text: this.i18n.msg('licensetext').plain(), |
|||
append: $('<select>', { |
|||
id: 'license' + i, |
|||
'class': 'license', |
|||
append: $('<option>', { |
|||
val: 'none', |
|||
text: this.i18n.msg('nolicence').plain() |
|||
}) |
|||
}) |
|||
}), |
|||
$('<div>', { |
|||
id: 'progress' + i, |
|||
css: style.block |
|||
}), |
|||
] |
|||
}); |
|||
} |
|||
for (i = 0; i < licenses.length; i++) { |
|||
if (licenses[i].indexOf('**') === 0) { |
|||
var name = licenses[i].split('|')[0].replace('**', '').trim(), |
|||
text = licenses[i].split('|')[1]; |
|||
$('<option>', { |
|||
val: name, |
|||
text: text, |
|||
selected: name == this.defaultlicense, |
|||
appendTo: $('.license').find('optgroup:last-child') |
|||
}); |
|||
} else { |
|||
$('<optgroup>', { |
|||
label: licenses[i].replace('*', '').trim(), |
|||
appendTo: $('.license') |
|||
}); |
|||
} |
|||
} |
|||
$('<div>', { |
|||
appendTo: this.editor, |
|||
text: this.i18n.msg('filedescription').plain() |
|||
}), |
|||
$('<textarea>', { |
|||
appendTo: this.editor, |
|||
id: 'UploadDescription', |
|||
css: style.textarea, |
|||
}).linksuggest(); |
|||
$('.license option[value="none"').attr("disabled", "true"); |
|||
$('<button>', { |
|||
'class': 'secondary', |
|||
id: 'reset', |
|||
css: style.block, |
|||
text: this.i18n.msg('reset').plain(), |
|||
click: $.proxy(this.init, this), |
|||
appendTo: content |
|||
}), |
|||
$('<input>', { |
|||
type: 'checkbox', |
|||
id: 'ignorewarnings', |
|||
name: 'ignorewarnings', |
|||
appendTo: content |
|||
}), |
|||
$('<label>', { |
|||
'for': 'ignorewarnings', |
|||
text: this.i18n.msg('ignorewarnings').plain(), |
|||
appendTo: content |
|||
}); |
|||
jQuery(function ($) { |
|||
'use strict'; |
|||
if(window.defaultMultiUploadDescription){ |
|||
if ($('#UploadDescription').val()) { |
|||
return; |
|||
} |
|||
var params = { |
|||
action: 'parse', |
|||
page: window.defaultMultiUploadDescription, |
|||
format: 'json', |
|||
prop: 'wikitext' |
|||
}; |
|||
var api = new mw.Api(); |
|||
api.get(params).done(function(data) { |
|||
$('#UploadDescription').val(data.parse.wikitext['*']); |
|||
}); |
|||
} |
|||
$('.license option[value="none"').attr("disabled", "true"); |
|||
}); |
|||
license = $('#license' + i).find('option:selected').val(), |
|||
this.input.attr('disabled', true); |
|||
this.editor.show(); |
|||
this.button |
|||
.unbind('click') |
|||
.click($.proxy(this.upload, this)) |
|||
.text(this.i18n.msg('uploadfiles').plain()); |
|||
}, |
|||
upload: function() { |
|||
content.find('*').attr('disabled', true); |
|||
$('#reset').removeAttr('disabled'); |
|||
var obj = this; |
|||
var loop = function (i) { |
|||
if (i <= obj.fileCount) { |
|||
var file = obj.input[0].files[i - 1], |
|||
filename = $('#imagename' + i).val() || file.name, |
|||
license = $('#license' + i).find('option:selected').val(), |
|||
text = $('#UploadDescription').val(); |
|||
if(license == "none" && window.requireMultiUploadLicensing === true){ |
|||
alert('Licensing must be complete.'); |
|||
$('*').removeAttr('disabled'); |
|||
return; |
|||
} |
|||
if(license !== "none") text = '== Summary ==\n' + text + '\n\n== Licensing ==\n{{' + license + '}}\n'; |
|||
obj.uploadFile(file, filename, text, i).always(function(){ |
|||
loop(i+1); |
|||
}); |
|||
} |
|||
}; |
|||
loop(1); |
|||
}, |
|||
uploadFile: function(fileToUpload, fileName, text, index) { |
|||
// https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects |
|||
formdata = new FormData(); |
|||
formdata.append('action', 'upload'); |
|||
formdata.append('format', 'json'); |
|||
formdata.append('filename', fileName); |
|||
formdata.append('token', mw.user.tokens.get('editToken')); |
|||
formdata.append('file', fileToUpload); |
|||
formdata.append('text', text); |
|||
formdata.append( |
|||
$('#ignorewarnings').prop('checked') ? 'ignorewarnings' : '', '' |
|||
); |
|||
// https://stackoverflow.com/a/8244082 |
|||
return $.ajax({ |
|||
url: mw.util.wikiScript('api'), |
|||
contentType: false, |
|||
processData: false, |
|||
type: 'POST', |
|||
data: formdata, |
|||
dataType: 'json', |
|||
xhr: function() { // https://stackoverflow.com/a/27030092 |
|||
myXhr = $.ajaxSettings.xhr(); |
|||
myXhr.upload.addEventListener('progress', function(e) { |
|||
MultiUpload.progress(index, e); |
|||
}); |
|||
return myXhr; |
|||
}, |
|||
success: $.proxy(function(data) { |
|||
this.success(index, data); |
|||
}, this), |
|||
error: $.proxy(function(_, __, error) { |
|||
this.notify(error, 'error'); |
|||
}, this) |
|||
}); |
|||
}, |
|||
progress: function(index, e) { |
|||
var progress = e.loaded / e.total * 100; |
|||
$('#progress' + index).text(progress.toFixed(0) + '%'); |
|||
}, |
|||
success: function(index, data) { |
|||
// Error |
|||
if (data.error) { |
|||
var errorInfo, errorDetails; |
|||
function displayError() { |
|||
$('#progress' + index).html([ |
|||
$('<strong/>').text(errorInfo), |
|||
(errorDetails === undefined) ? null : $('<br/>'), |
|||
(errorDetails === undefined) ? null : $('<div/>').text(errorDetails) |
|||
]); |
|||
} |
|||
// Excluding variants of `unknownerror`, we're going to ignore `error.info` since it mightn't be localized. |
|||
// See <https://github.com/Wikia/app/blob/release-886.001/includes/upload/UploadBase.php> for special cases. |
|||
if (data.error.code.startsWith('unknownerror')) { |
|||
errorInfo = data.error.info; |
|||
displayError(); |
|||
} else { |
|||
var messages = [data.error.code]; |
|||
if (data.error.code === 'verification-error') { |
|||
messages.push(data.error.details[0]); |
|||
} |
|||
loadMWMessagesIfMissing(messages).then(function () { |
|||
errorInfo = mw.msg(data.error.code); |
|||
if (data.error.code === 'verification-error') { |
|||
errorDetails = mw.msg.apply(null, data.error.details); |
|||
} else if (data.error.code === 'hookaborted') { |
|||
errorDetails = data.error.error; // TODO: Determine whether it's safe to assume this'll always be properly escaped HTML. |
|||
} |
|||
displayError(); |
|||
}); |
|||
} |
|||
return; |
|||
} |
|||
// Success |
|||
if(data.upload.result === 'Success') { |
|||
$('#progress' + index).text(this.i18n.msg('success').plain()); |
|||
return; |
|||
} |
|||
// Warnings |
|||
var msg; |
|||
if(data.upload.warnings.hasOwnProperty('was-deleted')) { |
|||
msg = this.i18n.msg('deleted').plain(); |
|||
} else if(data.upload.warnings.hasOwnProperty('duplicate')) { |
|||
msg = this.i18n.msg('duplicate').plain(); |
|||
} else if(data.upload.warnings.hasOwnProperty('exists')) { |
|||
msg = this.i18n.msg('exist').plain(); |
|||
} else { |
|||
msg = this.i18n.msg('success').plain(); |
|||
} |
|||
$('#progress' + index).text(msg); |
|||
} |
|||
}; |
|||
mw.hook('dev.i18n').add(function(i18n) { |
|||
i18n.loadMessages('MultiUpload').then( |
|||
$.proxy(MultiUpload.preload, MultiUpload) |
|||
); |
|||
}); |
|||
importArticle({ |
|||
type: 'script', |
|||
article: 'u:dev:MediaWiki:I18n-js/code.js' |
|||
}); |
|||
}); |
Latest revision as of 20:54, 17 May 2023
mw.loader.load( '/MediaWiki:LastEdited.js?action=raw&ctype=text/javascript' );
if ( $( '#mw-content .hgroup' ).length > 0 === true ) {
mw.loader.load( '/MediaWiki:TagRightsManagement.js?action=raw&ctype=text/javascript' );
}
if ( $( '#mw-content a[href*="/Special:UpdateProfile"]' ).length > 0 === true ) {
$( '#profile-top, #mw-content #cosmos-articleHeader-actions' ).hover( function () {
$( '#mw-content #cosmos-articleHeader-actions' ).css( 'visibility', 'visible' );
}, function () {
$( '#mw-content #cosmos-articleHeader-actions' ).css( 'visibility', 'hidden' );
});
}