Материал из Википедии — свободной энциклопедии
var wgAPIPath = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=json&'
var api
var success = false
var today = new Date()
var day = 1000 * 60 * 60 * 24
var months = new Array()
months[0] = 'января'
months[1] = 'февраля'
months[2] = 'марта'
months[3] = 'апреля'
months[4] = 'мая'
months[5] = 'июня'
months[6] = 'июля'
months[7] = 'августа'
months[8] = 'сентября'
months[9] = 'октября'
months[10] = 'ноября'
months[11] = 'декабря'
function ch(o) { for (var i in o) { return o[i] } }
function toDays(day) {
var exception = (day % 100) / 10 == 1;
var digit = day % 10;
if (digit == 1) return day + ' день'
else if (!exception && digit > 1 && digit < 5) return day + ' дня'
else return day + ' дней'
}
function show_result() {
if (api.readyState != 4) return
if (api.status != 200) {
start
return
}
var query = eval('(' + api.responseText + ')').query
var revisions = ch(query.pages).revisions
var users = new Array()
var numberOfUsers = 0
for (i = 0; i < revisions.length; i++) {
if (!users[revisions[i]['user']]) {
users[revisions[i]['user']] = 1
numberOfUsers++
}
}
var timestamp = revisions[0]['timestamp']
var firstEdit = new Date(parseInt(timestamp.substring(0, 4)),
parseInt(timestamp.substring(5, 7)) - 1,
parseInt(timestamp.substring(8, 10)),
parseInt(timestamp.substring(11, 13)),
parseInt(timestamp.substring(14, 16)),
parseInt(timestamp.substring(17)))
var diff = today.getTime() - firstEdit.getTime()
var days = Math.ceil(diff / day)
var result = document.getElementById('confirmdeletetext').children[2]
var resultTable = "<table class=\"tiles\" align=\"center\"><tr><th>Дата первой правки</th><td align='center'>"
resultTable += firstEdit.getUTCDate() + ' ' + months[firstEdit.getUTCMonth()] + ' ' + firstEdit.getUTCFullYear() + ' (' + toDays(days) + ')'
resultTable += "</td></tr><tr><th>Участников</th><td align='center'>"
resultTable += numberOfUsers
resultTable += "</td></tr><tr><th>Всего правок</th><td align='center'>"
resultTable += revisions.length
resultTable += "</td></tr></table>"
if (result.innerHTML.indexOf('<br>') != -1 || result.innerHTML.indexOf('<BR>') || result.innerHTML.indexOf('<br />')) {
result.innerHTML = resultTable
}
else {
result.innerHTML += resultTable
}
success = true;
}
function start() {
if (document.URL.indexOf('&action=delete') == -1) {
return
}
var select = document.getElementById('wpDeleteReasonList')
var reason = document.getElementById("wpReason")
onReasonChange()
addHandler(select, 'change', onReasonChange)
function isCopyvio() {
var val = select.options[select.selectedIndex].text
return val.indexOf('С6: ') != -1 || reason.value.indexOf('ВП:КБУ#С6') != -1
}
function onReasonChange() {
if (isCopyvio()) sendRequest()
}
function sendRequest() {
api = sajax_init_object()
api.onreadystatechange = show_result
api.open('GET', wgAPIPath + 'action=query&prop=revisions&titles=' + encodeURIComponent(mw.config.get('wgPageName')) + '&rvlimit=max&rvprop=timestamp|user&rvdir=newer',
true)
api.send(null)
}
}
$(start)