مدیاویکی:Gadget-editors.js

از ویکی‌پدیا، دانشنامهٔ آزاد

نکته: برای دیدن تغییرات، ممکن است نیاز باشد که حافظهٔ نهانی مرورگر خود را پس از انتشار پاک‌سازی کنید. گوگل کروم، فایرفاکس، مایکروسافت اج و سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload در نوار ابزار مرورگر کلیک کنید. برای آگاهی از جزئیات و نحوهٔ پاک‌سازی حافظهٔ نهانی سایر مرورگرها، صفحهٔ ویکی‌پدیا:میانگیر مرورگرتان را خالی کنید را ببینید.

// User:Yamaha5
(function($, mw) {
    'use strict';
    $(mw.util.addPortletLink('p-tb', '#', 'ویرایشگران اصلی صفحه', 't-most-edits', 'مشارکت‌کنندگان اصلی در این صفحه')).click(function(e) {
        e.preventDefault();
        if ( mw.config.get('wgNamespaceNumber') == 8 ) {
        	$('#t-most-edits').remove(); // Not available for Special pages
        }

        function en2fa(txt) {
            var persianDigits = '۰۱۲۳۴۵۶۷۸۹'
            var englishDigits = '0123456789'
            for (var i = 0; i <= 9; i = i + 1) {
                txt = txt.replace(new RegExp('[' + englishDigits[i] + ']', 'g'), persianDigits[i]);
            }
            return txt.replace('%', '٪').replace('%', '٪').replace('.', '٫').replace('،', '٬')
        }

        function showTables(MyList) {//from User:Ebrahim/ArticleTranslator.js
            $('#firstHeading').after('</br>این جدول بر پایهٔ میزان مطلب افزوده شده توسط کاربران تنظیم شده‌است. ویرایش‌های واگردانی‌شده حساب نشده‌اند و حداکثر ۱۰ کاربری که بیشترین سهم در ایجاد این صفحه داشتند، فهرست شده‌اند.</br>', $('<div>', {
                style: 'line-height: 1.25; font-size: 100%;',
                id: 'linkstranslator-missings-wrapper'
            }).append(
                $('<div>', {
                    style: 'height: 20em; overflow-y: scroll; overflow-x: hidden; width: 100em; align: "left"'
                }).append(
                    $('<div>', {
                        style: 'float: center'
                    }).append(
                        $('<table>', {
                            'class': 'wikitable sortable'
                        }).append(
                            $('<tr>').append(
                                $('<th>').text('کاربر'),
                                $('<th>').text('حجم افزوده (بایت)'),
                                $('<th>').text('درصد سهم کاربر')
                            )
                        ).append(MyList.map(function(x) {
                            return $('<tr>').append(
                                $('<td>').append($('<a>', {
                                    href: linkFromWikiLang('کاربر:' + x[0]),
                                    text: x[0]
                                })),
                                $('<td align="center">').text(en2fa(x[1])),
                                $('<td align="center">').text(en2fa(x[2]))
                            );
                        }))
                    )
                )
            ));
        }

        function linkFromWikiLang(page) {
            return 'https://fa.wikipedia.org' + mw.util.getUrl(page);
        }

        function loadXMLDoc(theURL) {
            if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari, SeaMonkey
                xmlhttp = new XMLHttpRequest();
            } else { // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    //alert(xmlhttp.responseText);
                }
            }
            xmlhttp.open("GET", theURL, false);
            xmlhttp.send();
        }


        var xmlhttp = false;
        loadXMLDoc('https://xtools.wmcloud.org/articleinfo/fa.wikipedia.org/' + mw.config.get('wgPageName'));
        if (xmlhttp != false) {
            var stats = xmlhttp.responseText
            var xml = jQuery(jQuery.parseHTML(stats));
            xml = xml.find("div.legend-body")[4].textContent.replace(/ \·\n/g, '|').replace(/\s{3,}/g, '  ')
            var xmlList = xml.replace(/[\r\n]+/g, '').replace(/ +\| +/g, '|').replace(/\s{2,}/g, '|').replace(/ \(/g, '|(').split('|')
            var Listlength = xmlList.length - 2
            var MyList = []
            for (var i = 1; i < xmlList.length - 2; i += 3) {
                MyList.push([xmlList[i], xmlList[i + 1], xmlList[i + 2]])
            }
            showTables(MyList)
        }
    })
}(jQuery, mediaWiki));