User:Euphoria/common.js: Difference between revisions
From Test Wiki
Content deleted Content added
No edit summary |
Cleanup Tag: Blanked |
||
| (80 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
// This script assumes you are on a Wikimedia page and have jQuery available |
|||
$(document).ready(function() { |
|||
var pageTitle = mw.config.get('wgPageName'); // Get the current page title |
|||
var apiURL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php'; |
|||
// Function to fetch page creator |
|||
function fetchPageCreator() { |
|||
$.ajax({ |
|||
url: apiURL, |
|||
data: { |
|||
action: 'query', |
|||
format: 'json', |
|||
titles: pageTitle, |
|||
prop: 'revisions', |
|||
rvlimit: 1, |
|||
rvdir: 'newer', |
|||
rvprop: 'user' |
|||
}, |
|||
dataType: 'json', |
|||
success: function(response) { |
|||
if (response.query && response.query.pages) { |
|||
var pages = response.query.pages; |
|||
var pageId = Object.keys(pages)[0]; |
|||
if (pages[pageId].revisions && pages[pageId].revisions[0]) { |
|||
var creator = pages[pageId].revisions[0].user; |
|||
fetchUserEditCount(creator); |
|||
} |
|||
} |
|||
} |
|||
}); |
|||
} |
|||
// Function to fetch user's edit count |
|||
function fetchUserEditCount(username) { |
|||
$.ajax({ |
|||
url: apiURL, |
|||
data: { |
|||
action: 'query', |
|||
format: 'json', |
|||
list: 'users', |
|||
ususers: username, |
|||
usprop: 'editcount' |
|||
}, |
|||
dataType: 'json', |
|||
success: function(response) { |
|||
if (response.query && response.query.users && response.query.users[0]) { |
|||
var editCount = response.query.users[0].editcount; |
|||
displayCreator(username, editCount); |
|||
} |
|||
} |
|||
}); |
|||
} |
|||
// Function to display the creator with edit count |
|||
function displayCreator(creator, editCount) { |
|||
var creatorInfo = $('<div>') |
|||
.text('Page created by: ' + creator + ' (' + editCount + ' edits)') |
|||
.css({ |
|||
'font-size': 'small', |
|||
'color': '#666', |
|||
'margin-top': '5px' |
|||
}); |
|||
// Append the creator info below the title bar |
|||
$('#bodyContent').prepend(creatorInfo); // Try '#mw-content-text' if '#bodyContent' doesn't work |
|||
} |
|||
fetchPageCreator(); |
|||
}); |
|||