Gebruiker:Rots61/Gadget-LogTheCounter.js: verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 3: | Regel 3: | ||
function saveitlogthecounter() { | function saveitlogthecounter() { | ||
− | + | if (Array.isArray(allPages)) { | |
+ | allPages = JSON.stringify(allPages); | ||
+ | } | ||
+ | function addZero(number) { | ||
+ | return number < 10 ? "0" + number : number; | ||
+ | } | ||
+ | date = new Date.now(); | ||
+ | date = addZero(date.getDate()) + "-" + addZero((date.getMonth() + 1)) + "-" + date.getFullYear(); | ||
+ | api.get({ | ||
+ | action: 'query', | ||
+ | prop: 'info', | ||
+ | intoken: 'edit', | ||
+ | titles: 'kaslv', //Pagina moet niet bestaan. | ||
+ | }).done( | ||
+ | function (data) { | ||
+ | edit_token = data.query.pages['-1'].edittoken; | ||
+ | }).done(function (data) { | ||
+ | api.post({ | ||
+ | 'action': 'edit', | ||
+ | 'title': "Gebruiker:Rots61/User:Rots61/Statistieken/" + date, | ||
+ | 'text': allPages, | ||
+ | 'summary': "Pagina opgeslagen met LogTheCounter.", | ||
+ | 'bot': true, | ||
+ | 'token': edit_token, | ||
+ | }).done( | ||
+ | function (data) { | ||
+ | if (data.edit.result == "Success") { | ||
+ | mw.notify("Opgeslagen!", { autoHide: false }); | ||
+ | } else { | ||
+ | mw.notify("Mislukt, meldt dit!", { autoHide: false }); | ||
+ | } | ||
+ | console.log(data.edit); | ||
+ | document.getElementsByTagName("h1")[0].textContent = "Opslaan gelukt!"; | ||
+ | document.getElementById('bodyContent').innerHTML = "Herlaad de pagina."; | ||
+ | }); | ||
+ | }); | ||
} | } | ||
Regel 30: | Regel 65: | ||
var allPages = getPagesLogCounter(); | var allPages = getPagesLogCounter(); | ||
for (var x = 0; x < allPages.length; x++) { | for (var x = 0; x < allPages.length; x++) { | ||
− | if ((allPages[x]['normalVisitors'] + allPages[x]['mainPageVisitors']) | + | if ((allPages[x]['normalVisitors'] + allPages[x]['mainPageVisitors']) <= 2) { |
delete allPages[x]['updatedAt']; | delete allPages[x]['updatedAt']; | ||
} else { | } else { |
Versie van 31 jan 2023 21:02
/* jshint sub:true maxerr:100000 */
// [[User:MakiBoy/Gadget-LogTheCounter.js]] gemaakt door [[User:Rots61]]
function saveitlogthecounter() {
if (Array.isArray(allPages)) {
allPages = JSON.stringify(allPages);
}
function addZero(number) {
return number < 10 ? "0" + number : number;
}
date = new Date.now();
date = addZero(date.getDate()) + "-" + addZero((date.getMonth() + 1)) + "-" + date.getFullYear();
api.get({
action: 'query',
prop: 'info',
intoken: 'edit',
titles: 'kaslv', //Pagina moet niet bestaan.
}).done(
function (data) {
edit_token = data.query.pages['-1'].edittoken;
}).done(function (data) {
api.post({
'action': 'edit',
'title': "Gebruiker:Rots61/User:Rots61/Statistieken/" + date,
'text': allPages,
'summary': "Pagina opgeslagen met LogTheCounter.",
'bot': true,
'token': edit_token,
}).done(
function (data) {
if (data.edit.result == "Success") {
mw.notify("Opgeslagen!", { autoHide: false });
} else {
mw.notify("Mislukt, meldt dit!", { autoHide: false });
}
console.log(data.edit);
document.getElementsByTagName("h1")[0].textContent = "Opslaan gelukt!";
document.getElementById('bodyContent').innerHTML = "Herlaad de pagina.";
});
});
}
function getPagesLogCounter() {
var pages = [];
var request = new XMLHttpRequest();
request.open('GET', 'https://wikikids.martvanweeghel.nl/pages', false);
request.send(null);
if (request.status === 200) {
pages = JSON.parse(request.responseText);
}
// Sorteer de pagina's op het aantal bezoekers (hoog naar laag) (page.normalVisitors + page.mainPageVisitors)
pages.sort(function (a, b) {
return b.normalVisitors + b.mainPageVisitors - a.normalVisitors - a.mainPageVisitors;
});
return pages;
}
function reloadPagesLogCounter() {
var allPages = getPagesLogCounter();
showProjectLogCounter(allPages);
}
var allPages;
if (mw.config.get('wgNamespaceNumber') === -1 && mw.config.get('wgTitle') === "LogTheCounter") {
var allPages = getPagesLogCounter();
for (var x = 0; x < allPages.length; x++) {
if ((allPages[x]['normalVisitors'] + allPages[x]['mainPageVisitors']) <= 2) {
delete allPages[x]['updatedAt'];
} else {
deleteit('uA','updatedAt', x);
}
if (allPages[x]['mainPageVisitors'] === 0) {
delete allPages[x]['mainPageVisitors'];
} else {
deleteit('mPV', 'mainPageVisitors', x);
}
if (allPages[x]['normalVisitors'] === 0) {
delete allPages[x]['normalVisitors'];
} else {
deleteit('nV','normalVisitors', x);
}
deleteit('t','title', x);
}
console.log(allPages);
saveitlogthecounter();
}
function deleteit(new_key, old_key, x){
Object.defineProperty(allPages[x], new_key,
Object.getOwnPropertyDescriptor(allPages[x], old_key));
delete allPages[x][old_key];
}