User:SunAfterRain/js/patrolmarks.js
外观
< User:SunAfterRain | js
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
(function() {
var pagename = mw.config.get('wgPageName');
var autotest = Morebits.userIsInGroup( "autoconfirmed" ) || Morebits.userIsInGroup( "confirmed" );
if (Morebits.userIsInGroup( "autoconfirmed" ) == 'false'||Morebits.userIsInGroup( "confirmed" ) == 'false'){
if (pagename == 'Special:最新页面'){
alert(wgULS("抱歉,只有自动确认用户方可显示新页面巡查标记","抱歉,只有自動確認用戶方可顯示新頁面巡查標記"));
}
}else{
mw.loader.using(['mediawiki.api']).done(function() {
let api = new mw.Api();
let is_autoreviewer = {};
let users = [];
$('#mw-content-text>ul>li').each((i, e) => {
let creator = $(e).find('a.mw-userlink').text();
if (!mw.util.isIPAddress(creator)) {
users.push(creator);
} else {
is_autoreviewer[creator] = false;
}
});
api.get({
'action': 'query',
'format': 'json',
'list': 'users',
'usprop': 'rights',
'ususers': users.join('|')
}).then(data => {
data.query.users.forEach(user => {
is_autoreviewer[user.name] = (user.rights.indexOf('autopatrol') !== -1);
});
}).then(() => {
$('#mw-content-text>ul>li').each((i, e) => {
let pagename = $(e).find('>a:nth-child(2)').text();
let oldpagename = $(e).find('.mw-newpages-oldtitle').text();
if (oldpagename) {
pagename = oldpagename.replace(/最初建立的名稱為 "(.+?)"/, '$1').replace(/最初创建为“(.+?)”/, '$1');
}
let creator = $(e).find('a.mw-userlink').text();
let oldid = mw.util.getParamValue('oldid', $(e).find('>a:first()').attr('href'));
api.get({
'action': 'query',
'format': 'json',
'list': 'logevents',
'letype': 'patrol',
'letitle': pagename
}).then(data => {
if (data.query.logevents.length == 0) {
if (!is_autoreviewer[creator]) {
e.classList.add('not-patrolled');
}
} else {
if (data.query.logevents[0].params.curid != oldid) {
e.classList.add('not-patrolled');
}
}
});
});
})
});
}
})();