User:Euphoria/common.js: Difference between revisions

Jump to navigation Jump to search
(modified script)
 
(11 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
/**
* 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() {
$(document).ready(function() {
     var pageTitle = mw.config.get('wgPageName'); // Get the current page title
     // Only execute in view mode
    var apiURL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php';
    if (mw.config.get('wgAction') === "view") {
        var apiURL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php';
        var wikiURL = mw.util.getUrl('');


    // Function to fetch page creator
        // Fetches the creator of the current page
    function fetchPageCreator() {
        function fetchPageCreator() {
        $.ajax({
            $.ajax({
            url: apiURL,
                url: apiURL,
            data: {
                data: {
                action: 'query',
                    action: 'query',
                format: 'json',
                    format: 'json',
                titles: pageTitle,
                    titles: mw.config.get('wgPageName'),
                prop: 'revisions',
                    prop: 'revisions',
                rvlimit: 1,
                    rvlimit: 1,
                rvdir: 'newer',
                    rvdir: 'newer',
                rvprop: 'user'
                    rvprop: 'user'
            },
                },
            dataType: 'json',
                dataType: 'json',
            success: function(response) {
                success: function(response) {
                if (response.query && response.query.pages) {
                     var pageId = Object.keys(response.query.pages)[0];
                    var pages = response.query.pages;
                     fetchUserEditCount(response.query.pages[pageId].revisions[0].user);
                     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
        // Fetches the edit count of the creator
    function fetchUserEditCount(username) {
        function fetchUserEditCount(username) {
        $.ajax({
            $.ajax({
            url: apiURL,
                url: apiURL,
            data: {
                data: {
                action: 'query',
                    action: 'query',
                format: 'json',
                    format: 'json',
                list: 'users',
                    list: 'users',
                ususers: username,
                    ususers: username,
                usprop: 'editcount'
                    usprop: 'editcount'
            },
                },
            dataType: 'json',
                dataType: 'json',
            success: function(response) {
                success: function(response) {
                if (response.query && response.query.users && response.query.users[0]) {
                    displayCreator(username, response.query.users[0].editcount);
                    var editCount = response.query.users[0].editcount;
                    displayCreator(username, 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'});


    // Function to display the creator with edit count
            $('#bodyContent').prepend(creatorInfo);
    function displayCreator(creator, editCount) {
        }
        var creatorInfo = $('<div>')
            .text('Page created by: ' + creator + ' (' + editCount + ' edits)')
            .css({
                'font-size': 'small',
                'color': '#666',
                'margin-top': '5px'
            });


         $('#firstHeading').append(creatorInfo); // Add the creator info below the title
         fetchPageCreator();
     }
     }
    fetchPageCreator();
});
});
importScript('User:Euphoria/नेपालीकरण.js'); // Backlink: [[User:Euphoria/नेपालीकरण.js]]
importScript('User:Euphoria/massBlock.js'); // Backlink: [[User:Euphoria/massBlock.js]]
152

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu