// For description, see [[User:Mr.Z-man/badimages]]
if(mw.config.get('wgAction') == 'view') {
preemptImages();
}
function preemptImages() {
appendCSS('#bodyContent img {visibility:hidden;}\n#bodyContent img.goodimage {visibility:visible;}');
}
function appendCSS(text) {
var s = document.createElement('style');
s.type = 'text/css';
s.rel = 'stylesheet';
if (s.styleSheet) s.styleSheet.cssText = text //IE
else s.appendChild(document.createTextNode(text + '')) //Safari sometimes borks on null
document.getElementsByTagName('head')[0].appendChild(s);
return s;
}
function badImageGet() {
var url = mw.config.get('wgScriptPath') + '/api.php?action=query&titles=MediaWiki:Bad%20image%20list&prop=links&format=json&plnamespace=6&pllimit=500&callback=badImages';
var scriptElem = document.createElement('script');
scriptElem.setAttribute('src',url);
scriptElem.setAttribute('type','text/javascript');
document.getElementsByTagName('head')[0].appendChild(scriptElem);
}
function badImages(obj) {
if(!obj['query'] || !obj['query']['pages']) return
badimages = obj['query']['pages']['1724570']['links'];
var badimagelist=[];
for (var q=0;q<badimages.length;q++) {
badimagelist[q] = badimages[q].title;
}
badimagelist = badimagelist.toString();
for (var i=0; i<document.images.length; i++) {
imagename = document.images[i].src.toString();
if (imagename.indexOf('upload.wikimedia.org') != -1) {
if (imagename.indexOf('/thumb/') == -1) {
imagename = imagename.replace(/http:\/\/upload\.wikimedia\.org\/wikipedia\/\w+\/\w\/\w\w\//, 'Image:');
} else {
imagename = imagename.replace(/http:\/\/upload\.wikimedia\.org\/wikipedia\/\w+\/thumb\/\w\/\w\w\//, 'Image:');
imagename = imagename.replace(/\/\w+px-.*/, '');
}
imagename = imagename.replace(/_/g, ' ');
if (badimagelist.indexOf(imagename) != -1) {
document.images[i].src = mw.config.get('wgServer') + mw.config.get('wgScript') +'?title=' + imagename;
document.images[i].alt = imagename;
document.images[i].className += ' badimage';
} else {
document.images[i].className += ' goodimage';
}
}
}
appendCSS('#bodyContent img.badimage {visibility:visible;}');
}
if(mw.config.get('wgAction') == "view") {
$(badImageGet);
}