Benutzer:P.Copp/scripts/markunreviewed.js
aus Wikipedia, der freien Enzyklopädie
< Benutzer:P.Copp | scripts
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 27. Februar 2022 um 16:05 Uhr durch imported>Ladsgroup(567577) (Maintenance: Fixing deprecated call to importScriptURI (mw:ResourceLoader/Migration_guide_(users)#importScriptURI)).
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
//===========================================================================
// Markiert Text- und Bildverweise auf ungesichtete Seiten mit den CSS-Klassen
// flaggedrevs-unreviewed2 bzw. flaggedrevs-unreviewed
//===========================================================================
var wgScriptPath = mw.config.get('wgScriptPath');
var markUnreviewed = {
queryUrlLinks : wgScriptPath + '/api.php?action=query&format=json&rawcontinue='
+ '&prop=flagged&titles=' + mw.config.get('wgPageName') + '&callback=markUnreviewed.storeLinks'
+ '&generator=links&redirects&gpllimit=max&gplnamespace=0|6|10',
queryUrlImages : wgScriptPath + '/api.php?action=query&format=json&rawcontinue='
+ '&prop=flagged&titles=' + mw.config.get('wgPageName') + '&callback=markUnreviewed.storeImages'
+ '&generator=images&gimlimit=max',
unreviewedUrls: {},
oldreviewedUrls: {},
linksFinished: false,
imagesFinished: false,
unreviewedClass: 'flaggedrevs-unreviewed2',
oldreviewedClass:'flaggedrevs-unreviewed',
unreviewedText : '(ungesichtet)',
oldreviewedText: '(wartet auf Sichtung)',
count : 0,
storeTitle : function(t,set) {
t = mw.config.get('wgArticlePath').replace(/\$1/g,encodeURI(t.replace(/ /g,'_'))
.replace(/'/g,'%27').replace(/~/g,'%7E').replace(/!/g,'%21')
.replace(/&/g,'%26').replace(/=/g,'%3D').replace(/\+/g,'%2B')
.replace(/\?/g,'%3F'));
set[t] = true;
this.count++;
},
storeLinks : function (res) {
if (res && res.query && res.query.pages) {
//Store redirect info
var redirects = {};
for (var i in res.query.redirects) {
var r = res.query.redirects[i];
if (!redirects[r.to]) redirects[r.to] = [];
redirects[r.to].push(r.from);
}
for (var pageid in res.query.pages) {
var page = res.query.pages[pageid];
if (page.missing != '' && (page.ns==0 || page.ns==6 || page.ns==10))
if (!page.flagged) {
this.storeTitle(page.title,this.unreviewedUrls);
for (var i in redirects[page.title])
this.storeTitle(redirects[page.title][i],this.unreviewedUrls);
} else if (page.flagged.pending_since) {
this.storeTitle(page.title,this.oldreviewedUrls);
for (var i in redirects[page.title])
this.storeTitle(redirects[page.title][i],this.oldreviewedUrls);
}
}
}
if (res && res['query-continue'])
mw.loader.load(this.queryUrlLinks + '&gplcontinue='
+ res['query-continue'].links.gplcontinue);
else
this.linksFinished = true;
if (this.linksFinished && this.imagesFinished && this.count) addOnloadHook(this.markLinks);
},
storeImages : function (res) {
if (res && res.query && res.query.pages)
for (var pageid in res.query.pages) {
var page = res.query.pages[pageid];
if (page.missing != '')
if (!page.flagged)
this.storeTitle(page.title,this.unreviewedUrls);
else if (page.flagged.pending_since)
this.storeTitle(page.title,this.oldreviewedUrls);
}
if (res && res['query-continue'])
mw.loader.load(this.queryUrlImages + '&gimcontinue='
+ res['query-continue'].images.gimcontinue);
else
this.imagesFinished = true;
if (this.linksFinished && this.imagesFinished && this.count) addOnloadHook(this.markLinks);
},
markLinks : function () {
var mU = markUnreviewed;
//add classname to links to unreviewed pages
var content = document.getElementById('bodyContent')
|| document.getElementById('mw_contentholder')
|| document.getElementById('article');
var links = content.getElementsByTagName('a');
for (var i = 0; i < links.length; i++)
if (mU.unreviewedUrls[links[i].getAttribute('href')]) {
links[i].className += ' ' + mU.unreviewedClass;
links[i].title += ' ' + mU.unreviewedText;
} else if (mU.oldreviewedUrls[links[i].getAttribute('href')]) {
links[i].className += ' ' + mU.oldreviewedClass;
links[i].title += ' ' + mU.oldreviewedText;
}
}
};
if (mw.config.get('wgNamespaceNumber') >= 0) {
if (typeof markUnreviewedImages == 'undefined' || markUnreviewedImages)
mw.loader.load(markUnreviewed.queryUrlImages);
else
markUnreviewed.imagesFinished = true;
mw.loader.load(markUnreviewed.queryUrlLinks);
}