User:Legoktm/disambig.js
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.
/*
disambig.js - Script to update descriptions
for an item to indicate its a disambiguation
page.
Written by Legoktm, and Ebraminio
Released as CC-Zero
*/
/*jslint browser: true, unparam: true*/
/*global jQuery: false, mediaWiki: false*/
(function ($, mw) {
'use strict';
var disambigClaim = {
'entity-type': 'item',
'numeric-id': 11651459 // [[Q11651459]]: Wikipedia:Disambiguation
}, descriptions = {
'descriptions': {
'gu': {
'value': 'સ્પષ્ટતા પાનું',
'language': 'gu'
},
'en': {
'value': 'Wikipedia disambiguation page',
'language': 'en'
},
'is': {
'value': 'aðgreiningarsíða á Wikipediu',
'language': 'is'
},
'it': {
'value': 'pagina di disambiguazione di Wikipedia',
'language': 'it'
},
'cs': {
'value': 'rozcestník',
'language': 'cs'
},
'gl': {
'value': 'páxina de homónimos',
'language': 'gl'
},
'id': {
'value': 'Halaman disambiguasi',
'language': 'id'
},
'jv': {
'value': 'Kaca sambungan',
'language': 'jv'
},
'su': {
'value': 'Kaca disambiguasi',
'language': 'su'
},
'es': {
'value': 'desambiguación de Wikipedia',
'language': 'es'
},
'ru': {
'value': 'страница значений',
'language': 'ru'
},
'nl': {
'value': 'doorverwijspagina',
'language': 'nl'
},
'pt': {
'value': 'página de desambiguação',
'language': 'pt'
},
'nb': {
'value': 'Wikipedia-pekerside',
'language': 'nb'
},
'ca': {
'value': 'Pàgina de desambiguació',
'language': 'ca'
},
'fr': {
'value': "page d'homonymie",
'language': 'fr'
},
'de': {
'value': 'Begriffsklärungsseite',
'language': 'de'
},
'fa': {
'value': 'یک صفحهٔ ابهام\u200cزدایی در ویکی\u200cپدیا',
'language': 'fa'
},
'hi': {
'value': 'बहुविकल्पी पृष्ठ',
'language': 'hi'
},
'fi': {
'value': 'täsmennyssivu',
'language': 'fi'
},
'ko': {
'value': '위키백과 동음이의어 문서',
'language': 'ko'
},
'ur': {
'value': 'ویکیپیڈیا ضد ابہام صفحہ',
'language': 'ur'
},
'ms': {
'value': 'Laman nyahkekaburan',
'language': 'ms'
},
'dsb': {
'value': 'wěcejwóznamowosć',
'language': 'dsb'
},
'or': {
'value': 'ବହୁବିକଳ୍ପ ପୃଷ୍ଠା',
'language': 'or'
},
'pl': {
'value': 'Strona ujednoznaczniająca',
'language': 'pl'
},
}
};
/**
* Finished! Reload the page please!
*/
function done() {
window.location = mw.util.getUrl(mw.config.get('wgPageName'));
}
/**
* Log data on async calls
*/
function log(data) {
// console.log(data);
return;
}
/**
* Add the disambiguation claim then call #done
*/
function secondStep() {
if ($('.wb-claim-section-p107 a[href="/wiki/Q11651459"]').length !== 0) {
// Okay, there is a disambig P107 claim
done();
return;
}
new mw.Api().post({
action: 'wbcreateclaim',
entity: mw.config.get('wgPageName'),
property: 'P107',
snaktype: 'value',
token: mw.user.tokens.get('editToken'),
value: JSON.stringify(disambigClaim)
}).always(log).done(done);
}
/**
* Add the descriptions then call #secondStep
*/
function firstStep() {
new mw.Api().post({
action: 'wbeditentity',
id: mw.config.get('wgPageName'),
token: mw.user.tokens.get('editToken'),
bot: 1,
summary: 'changed descriptions in 25 languages ([[User:legoktm/disambig.js|js]])',
data: JSON.stringify(descriptions)
}).always(log).done(secondStep);
}
if (mw.config.get('wgNamespaceNumber') === 0) {
$(mw.util.addPortletLink('p-cactions', '#', 'Disambig', 'ca-disambig', 'Update descriptions for a disambig page'))
.click(firstStep);
}
}(jQuery, mediaWiki));