පරිශීලක:බිඟුවා/created.js
සටහන: සුරැකීමෙන් පසුව, වෙනස් කම් දැකගැනුමට ඔබගේ බ්රවුසරයෙහි කෑෂය මගහැරයෑමට ඔබට සිදුවිය හැක. ගූගල් ක්රෝම්, ෆයර්ෆොක්ස්, මයික්රොසොෆ්ට් එජ් සහ සෆාරි: Reload ඔබන අතරතුර ⇧ Shift ඔබන්න. සවිස්තරාත්ම උපදෙස් සහ වෙනත් බ්රව්සර වලට අදාළ තොරතුරු සඳහා, විකිපීඩියා:කෑෂය මගහැරයෑම වෙතට යොමු වන්න.
// Only add edit count button on user pages
if (wgTitle == wgUserName && wgNamespaceNumber == 2) {
addOnloadHook(makeEditCountButton);
}
// Add a new link after "User contributions" in the toolbox
function makeEditCountButton() {
if (!document.getElementById('t-contributions')) {
alert('අපේක්ෂිත මූලාවයව ස්ථාපනය කර නොමැත. කරුණාකොට http://si.wikipedia.org/wiki/User_talk:බිඟුවා බලන්න.');
return;
};
var newlist = document.createElement('li');
newlist.id = "t-editcounter";
var newlink = document.createElement('a');
newlink.href = 'javascript:countEdits()';
var linkname = document.createTextNode('නව පිටු');
newlink.appendChild(linkname);
newlist.appendChild(newlink);
document.getElementById('t-contributions').parentNode.insertBefore(newlist, document.getElementById('t-contributions').nextSibling);
}
function countEdits() {
// Change edit counter link to let the user know it's thinking
document.getElementById('t-editcounter').getElementsByTagName('a')[0].innerHTML = 'ගණනය කරමින්...';
// Set up variables
if (wgServer == 'http://si.wikipedia.org') {
var editSummary = '[[User:බිඟුවා/edit counter.js|edit counter.js]] මගින් සංස්කරණය කිරීම';
var tableTop = '[[User:බිඟුවා/edit counter.js|සම්පූර්ණ සංස්කරණ සංඛ්යාව]]';
} else {
var editSummary = 'http://si.wikipedia.org/wiki/User:බිඟුවා/edit_counter.js මගින් සංස්කරණය කිරීම';
var tableTop = '<span class="plainlinks">[http://si.wikipedia.org/wiki/User:බිඟුවා/edit_counter.js සම්පූර්ණ සංස්කරණ සංඛ්යාව]</span>';
};
if (typeof editPage == 'undefined') {editPage = 'දායකත්වය3'};
if (typeof tableClass == 'undefined') {tableClass = ''};
if (typeof tableStyle == 'undefined') {tableStyle = ''};
if (editPage == '') {editPage = 'දායකත්වය3'};
var skipcaptcha = false;
var oldpage = false;
var edits;
var moves;
var namespaces = new Array();
var namespacessinhala = new Array();
var movelog = new Array();
var protectlog = new Array();
var deletelog = new Array();
var uploadlog = new Array();
var next;
var edittoken;
var imageupload;
var blockcount;
var rightscount;
var importcount;
var patrolcount;
var deletecount;
var movecount;
var brace = '{';
var table = '{| class="wikitable '+tableClass+'" style="'+tableStyle+'"\n!colspan="5"| '+tableTop+': '+brace+brace+'subst:formatnum:';
// Check if the user is autoconfirmed
for (var right in wgUserGroups)
if (wgUserGroups[right] == 'autoconfirmed') {skipcaptcha = true};
// Get full edit count, as tracked by MW, add it to table
queryApi('action=query&meta=userinfo&uiprop=editcount', function(uiResponse) {
table += uiResponse.query.userinfo.editcount+'}}';
});
table += '\n|-\n|colspan="5" align="center"|සවිස්තර දත්තයන්';
table += '\n|-\n| නාමවකාශය ||සංස්කරණය කිරීම් ||ගෙනයාම්||ආරක්ෂා කිරීම්||මකා දැමීම්';
table += '\n|-\n|colspan="5" align="center"| <small>අවසාන ගණනය කිරීම සිදු වූයේ: '+brace+brace+'subst:#time:F j, Y}}</small>\n|}';
// Get edit token and check if we'll be creating a new page (in the case of non-autoconfirmed users)
queryApi('action=query&prop=info|revisions&intoken=edit&titles=User:'+wgUserName+'/'+editPage, function(propResponse) {
for (var page in propResponse.query.pages) {
edittoken = propResponse.query.pages[page].edittoken.replace(/\+\\$/g,'%2B%5C');
if (propResponse.query.pages[page]["revisions"]) {
oldpage = true;
};
};
});
// If the user is not autoconfirmed and we're creating a new page, kick out of the script
if (!skipcaptcha && !oldpage) {
alert("කනගාටුයි, ඔබ ස්වයං-චිරස්ථිත පරිශීලකයෙක් නොවේ. එම නිසා මෙම පිටුව සාදා: User:"+wgUserName+"/"+editPage+", ආපසු අත්හදා බලන්න.");
document.getElementById('t-editcounter').getElementsByTagName('a')[0].innerHTML = 'දෝෂය!';
return;
};
// Edit the target page with the table, change edit count link to reflect the status of the page save
queryApi('action=edit&title=User:'+wgUserName+'/'+editPage+'&summary='+editSummary+'&minor=1&recreate=1&bot=1&text='+table+'&token='+edittoken, function(actionResponse) {
if (actionResponse.edit.result == "Success") {
document.getElementById('t-editcounter').getElementsByTagName('a')[0].innerHTML = 'අවසානයි!';
} else {
document.getElementById('t-editcounter').getElementsByTagName('a')[0].innerHTML = 'දෝෂය!';
};
});
}
// Accepts an API query and callback function for handling queries from the main function
function queryApi(query, callback) {
try {
var xmlRequest = new XMLHttpRequest();
} catch(e) {
try {
var xmlRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
var xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
throw "Could not create an XmlHttpRequest";
}
}
}
xmlRequest.open('POST', wgScriptPath+'/api.php', false);
xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlRequest.send(query+'&format=json');
var xmlResponse = new Function("return "+xmlRequest.responseText)();
if (!xmlResponse) {
alert('Problem retrieving information');
} else {
callback(xmlResponse);
};
}