User:Euphoria/common.js: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
edit count |
Installing User:Euphoria/batchCategoryAssignment.js (script-installer) |
||
(16 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
/** |
|||
// Function to get edit count and display it |
|||
* PageCreatorInfo.js |
|||
function getEditCount() { |
|||
* Developer: Saroj |
|||
const apiUrl = 'https://testwiki.wiki/w/api.php?action=query&format=json&list=users&usprop=editcount&ususers=' + mw.config.get('wgTitle'); |
|||
* Date: 2023-12-26 |
|||
* |
|||
* This script fetches and displays the name of the creator of a MediaWiki page along with |
|||
* their total number of edits on the site. It is designed for MediaWiki environments. |
|||
*/ |
|||
$(document).ready(function() { |
|||
fetch(apiUrl) |
|||
// Only execute in view mode |
|||
.then(response => response.json()) |
|||
if (mw.config.get('wgAction') === "view") { |
|||
var apiURL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php'; |
|||
⚫ | |||
var wikiURL = mw.util.getUrl(''); |
|||
$('#editCountResult').text('Edit count: ' + editCount); |
|||
⚫ | |||
.catch(error => { |
|||
console.error('Error fetching data:', error); |
|||
$('#editCountResult').text('Error fetching edit count.'); |
|||
⚫ | |||
} |
|||
// Fetches the creator of the current page |
|||
// Add a button to trigger the edit count retrieval |
|||
function fetchPageCreator() { |
|||
$('#firstHeading').append('<button onclick="getEditCount()">Get Edit Count</button>'); |
|||
$.ajax({ |
|||
url: apiURL, |
|||
data: { |
|||
action: 'query', |
|||
format: 'json', |
|||
titles: mw.config.get('wgPageName'), |
|||
prop: 'revisions', |
|||
rvlimit: 1, |
|||
rvdir: 'newer', |
|||
rvprop: 'user' |
|||
}, |
|||
dataType: 'json', |
|||
success: function(response) { |
|||
var pageId = Object.keys(response.query.pages)[0]; |
|||
fetchUserEditCount(response.query.pages[pageId].revisions[0].user); |
|||
} |
|||
}); |
|||
⚫ | |||
// Fetches the edit count of the creator |
|||
function fetchUserEditCount(username) { |
|||
$('#firstHeading').append('<p id="editCountResult"></p>'); |
|||
$.ajax({ |
|||
url: apiURL, |
|||
data: { |
|||
action: 'query', |
|||
format: 'json', |
|||
list: 'users', |
|||
ususers: username, |
|||
usprop: 'editcount' |
|||
}, |
|||
dataType: 'json', |
|||
success: function(response) { |
|||
⚫ | |||
} |
|||
}); |
|||
⚫ | |||
// Displays creator info below the title bar |
|||
function displayCreator(creator, editCount) { |
|||
var creatorInfo = $('<div>') |
|||
.append('Page created by: ') |
|||
.append($('<a>').attr('href', wikiURL + 'User:' + encodeURIComponent(creator)).text(creator).css({'color': '#0645ad'})) |
|||
.append(' (') |
|||
.append($('<a>').attr('href', wikiURL + 'Special:Contributions/' + encodeURIComponent(creator)).text(editCount + ' edits').css({'color': '#0645ad'})) |
|||
.append(')') |
|||
.css({'font-size': '84%', 'color': '#666', 'margin-top': '5px'}); |
|||
$('#bodyContent').prepend(creatorInfo); |
|||
} |
|||
fetchPageCreator(); |
|||
} |
|||
}); |
|||
importScript('User:Euphoria/नेपालीकरण.js'); // Backlink: [[User:Euphoria/नेपालीकरण.js]] |
|||
importScript('User:Euphoria/massBlock.js'); // Backlink: [[User:Euphoria/massBlock.js]] |
|||
importScript('User:Euphoria/batchCategoryAssignment.js'); // Backlink: [[User:Euphoria/batchCategoryAssignment.js]] |
Latest revision as of 06:54, 15 August 2024
/**
* PageCreatorInfo.js
* Developer: Saroj
* Date: 2023-12-26
*
* This script fetches and displays the name of the creator of a MediaWiki page along with
* their total number of edits on the site. It is designed for MediaWiki environments.
*/
$(document).ready(function() {
// Only execute in view mode
if (mw.config.get('wgAction') === "view") {
var apiURL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php';
var wikiURL = mw.util.getUrl('');
// Fetches the creator of the current page
function fetchPageCreator() {
$.ajax({
url: apiURL,
data: {
action: 'query',
format: 'json',
titles: mw.config.get('wgPageName'),
prop: 'revisions',
rvlimit: 1,
rvdir: 'newer',
rvprop: 'user'
},
dataType: 'json',
success: function(response) {
var pageId = Object.keys(response.query.pages)[0];
fetchUserEditCount(response.query.pages[pageId].revisions[0].user);
}
});
}
// Fetches the edit count of the creator
function fetchUserEditCount(username) {
$.ajax({
url: apiURL,
data: {
action: 'query',
format: 'json',
list: 'users',
ususers: username,
usprop: 'editcount'
},
dataType: 'json',
success: function(response) {
displayCreator(username, response.query.users[0].editcount);
}
});
}
// Displays creator info below the title bar
function displayCreator(creator, editCount) {
var creatorInfo = $('<div>')
.append('Page created by: ')
.append($('<a>').attr('href', wikiURL + 'User:' + encodeURIComponent(creator)).text(creator).css({'color': '#0645ad'}))
.append(' (')
.append($('<a>').attr('href', wikiURL + 'Special:Contributions/' + encodeURIComponent(creator)).text(editCount + ' edits').css({'color': '#0645ad'}))
.append(')')
.css({'font-size': '84%', 'color': '#666', 'margin-top': '5px'});
$('#bodyContent').prepend(creatorInfo);
}
fetchPageCreator();
}
});
importScript('User:Euphoria/नेपालीकरण.js'); // Backlink: [[User:Euphoria/नेपालीकरण.js]]
importScript('User:Euphoria/massBlock.js'); // Backlink: [[User:Euphoria/massBlock.js]]
importScript('User:Euphoria/batchCategoryAssignment.js'); // Backlink: [[User:Euphoria/batchCategoryAssignment.js]]