MediaWiki:Common.js
Not: Yayımladıktan sonra değişiklikleri görmeniz için tarayıcınızın önbelleğini temizlemeniz gerekebilir.
- Firefox / Safari: Shift tuşuna basılıyken Yeniden Yükle'ye tıklayın ya da Ctrl-F5 ya da Ctrl-R tıklayın (Mac için ⌘-R)
- Google Chrome: Ctrl-Shift-R'ye basın. (Mac için ⌘-Shift-R)
- Edge: Ctrl basılıyken Yenile'ye tıklayın ya da Ctrl-F5'e basın.
// ==UserScript==
// @name Gelismeli ve Tecrübesiz Düzenleyici
// @namespace mycm.site
// @version 1.0
// @description Sayfa yetersizse Gelismeli, kullanıcı çok sayıda yetersiz sayfa yaparsa Tecrübesiz uyarısı
// @match https://wiki.mycm.site/*
// @grant none
// ==/UserScript==
(function() {
var ns = mw.config.get('wgNamespaceNumber');
var pageTitle = mw.config.get('wgTitle');
var username = mw.config.get('wgUserName');
// Sadece normal wiki sayfaları
if (ns !== 0) return;
var content = document.getElementById('mw-content-text');
if (!content) return;
var textLength = content.innerText.trim().length;
var images = content.querySelectorAll('img').length;
var links = content.querySelectorAll('a').length;
// Sayfa yetersiz mi?
if (textLength < 300 || images === 0 || links < 3) {
var div = document.createElement('div');
div.innerHTML = '{{Gelismeli}}';
content.prepend(div);
if (!username) return; // anonim kullanıcılar için dur
// Kullanıcının Gelismeli sayfalarını say
fetch(`https://wiki.mycm.site/api.php?action=query&list=allpages&apprefix=${username}:&apnamespace=0&format=json`)
.then(res => res.json())
.then(data => {
let gelismeliCount = 0;
data.query.allpages.forEach(page => {
fetch(`https://wiki.mycm.site/api.php?action=query&titles=${encodeURIComponent(page.title)}&prop=revisions&rvprop=content&format=json`)
.then(r => r.json())
.then(p => {
var pageContent = Object.values(p.query.pages)[0].revisions[0]['*'];
if (pageContent.includes('{{Gelismeli}}')) gelismeliCount++;
if (gelismeliCount >= 5) {
// Kullanıcı sayfasına Tecrübesiz-duzenleyici ekle
fetch(`https://wiki.mycm.site/api.php?action=edit&title=User:${username}&appendtext={{Tecrubesiz-duzenleyici}}&token=${mw.user.tokens.get('editToken')}&format=json`, {method:'POST'});
// Kullanıcıya mesaj gönder
fetch(`https://wiki.mycm.site/api.php?action=edit&title=Message:${username}&appendtext={{Tecrubesiz-mesaj}}&token=${mw.user.tokens.get('editToken')}&format=json`, {method:'POST'});
}
});
});
});
}
})();