Butun axtardiqlarinizi tapmaq ucun buraya: DAXIL OLUN
  Mp4 Mp3 Axtar Yukle
  Video Axtar Yukle
  Shekil Axtar Yukle
  Informasiya Melumat Axtar
  Hazir Inshalar Toplusu
  AZERI CHAT + Tanishliq
  Saglamliq Tibbi Melumat
  Whatsapp Plus Yukle(Yeni)

  • Ana səhifə
  • Təsadüfi
  • Yaxınlıqdakılar
  • Daxil ol
  • Nizamlamalar
İndi ianə et Əgər Vikipediya sizin üçün faydalıdırsa, bu gün ianə edin.
 Kömək
Kitab yaradıcısı ( deaktiv et )
 Bu səhifəni kitabınıza əlavə edin Kitabı göstər (0 səhifə) Səhifə təklif edin

İstifadəçi:Nemoralis/userinfo.js

  • İstifadəçi səhifəsi
  • Müzakirə
< İstifadəçi:Nemoralis
Etdiyiniz dəyişikliklərin yayımlanandan sonra effekt verməsi üçün brauzerinizin keşini təmizləməyə ehtiyacınız ola bilər. Bunun üçün Chrome, Firefox, Edge, yaxud Safari istifadəçisisinizsə, klaviaturanızın Shift düyməsini sıxaraq brauzerin ⟳ səhifə yeniləmək düyməsini klik edə bilərsiniz.
// Modernləşdirilmiş istifadəçi məlumatı qadceti (ES6 uyğun)
(function () {
    var numFmt = new Intl.NumberFormat('az', { maximumFractionDigits: 0 });
    var relFmt = new Intl.RelativeTimeFormat('az', { numeric: 'auto' });

    function fmtCount(n, unit) {
        return numFmt.format(n) + '\u00A0' + unit;
    }

    function fmtAgo(date) {
        var delta = (Date.now() - date.getTime()) / 1000;
        var units = [
            { name: 'year', secs: 31536000 },
            { name: 'month', secs: 2592000 },
            { name: 'week', secs: 604800 },
            { name: 'day', secs: 86400 },
            { name: 'hour', secs: 3600 },
            { name: 'minute', secs: 60 },
            { name: 'second', secs: 1 }
        ];
        for (var i = 0; i < units.length; i++) {
            var u = units[i];
            if (Math.abs(delta) >= u.secs || u.name === 'second') {
                var value = Math.floor(-delta / u.secs);
                return relFmt.format(value, u.name);
            }
        }
    }

    var ns = mw.config.get('wgNamespaceNumber');
    var title = mw.config.get('wgTitle');
    if ([2, 3].indexOf(ns) === -1 || title.indexOf('/') !== -1) return;

    mw.loader.using('mediawiki.util').then(function () {
        var et = encodeURIComponent(title);
        var url = mw.config.get('wgScriptPath') + '/api.php?' + new URLSearchParams({
            format: 'json',
            action: 'query',
            list: 'users|usercontribs',
            usprop: 'blockinfo|editcount|gender|registration|groups',
            uclimit: '1',
            ucprop: 'timestamp',
            ususers: et,
            ucuser: et,
            meta: 'allmessages',
            amprefix: 'group',
            amincludelocal: '1',
            amlang: 'az'
        }).toString();

        fetch(url).then(function (res) {
            return res.json();
        }).then(function (data) {
            var query = data.query;
            if (!query) return;

            var user = query.users[0];
            var contrib = query.usercontribs[0] || {};
            var invalid = user.invalid;
            var missing = user.missing;
            var groups = user.groups || [];
            var editcount = user.editcount || 0;
            var registration = user.registration;
            var blockedby = user.blockedby;
            var blockexpiry = user.blockexpiry;
            var gender = user.gender;
            var lastTs = contrib.timestamp;
            var regDate = registration ? new Date(registration) : null;
            var lastDate = lastTs ? new Date(lastTs) : null;

            var parts = [];

            if (blockedby) {
                var forever = blockexpiry === 'infinite';
                parts.push('<a href="' + mw.util.getUrl('Special:Log', {
                    page: 'User:' + user.name,
                    type: 'block'
                }) + '">' + (forever ? 'müddətsiz' : 'müvəqqəti') + ' bloklanmış</a>');
            }

            if (missing) {
                parts.push('istifadəçi adı qeydiyyatda yoxdur');
            } else if (invalid) {
                parts.push(
                    mw.util.isIPv4Address(user.name) ? 'anonim IPv4 istifadəçisi' :
                        mw.util.isIPv6Address(user.name) ? 'anonim IPv6 istifadəçisi' :
                            'səhv istifadəçi adı'
                );
            } else {
                var allMsg = query.allmessages || [];
                var groupPages = {};
                for (var i = 0; i < allMsg.length; i++) {
                    var msg = allMsg[i];
                    var key = msg.name.replace('grouppage-', '');
                    groupPages[key] = msg['*'].replace('{{ns:project}}:', 'Vikipediya:');
                }

                var IGNORED = ['*', 'user', 'autoconfirmed'];
                function stripGender(msg) {
                    return msg.replace(/\{\{GENDER:[^|}]+\|([^|}]+)(?:\|[^}]+)*\}\}/g, '$1');
                }

                var shownGroups = groups.filter(function (g) {
                    return IGNORED.indexOf(g) === -1;
                });

                var names = shownGroups.map(function (g) {
                    var msgObj = allMsg.find(function (m) {
                        return m.name === 'group-' + g + '-member';
                    });
                    var raw = msgObj ? msgObj['*'] : g;
                    var label = stripGender(raw);
                    if (groupPages[g]) {
                        var href = mw.util.getUrl(groupPages[g]);
                        return '<a href="' + href + '">' + label + '</a>';
                    }
                    return label;
                });

                parts.push(names.length ? names.join(' və ') : 'istifadəçi');
            }

            if (regDate) {
                parts.push('<a href="' + mw.util.getUrl('Special:Log/newusers', {
                    user: user.name,
                    dir: 'prev',
                    limit: 1
                }) + '">' + fmtAgo(regDate) + '</a> qeydiyyatdan keçib və');
            }

            parts.push(
                '<a href="//xtools.wmcloud.org/ec/' + mw.config.get("wgServerName") + '/' + et + '">' +
                fmtCount(editcount, 'yə sahibdir.') + '</a>'
            );

            if (lastDate) {
                parts.push(
                    'Son sini <a href="' +
                    mw.util.getUrl('Special:Contributions/' + user.name) + '">' +
                    fmtAgo(lastDate) + '</a> edib'
                );
            }

            var statusText = 'Bu ' + parts.join(' ') + '.';

            var fh = document.querySelector('#firstHeading, #section-0');
            if (!fh) return;
            if (blockedby) fh.classList.add('ps-blocked');
            if (invalid) fh.classList.add('ps-invalid');
            if (!invalid && !missing) fh.classList.add('ps-registered');
            groups.forEach(function (g) {
                fh.classList.add('ps-group-' + g);
            });

            var genderSym = gender === 'male' ? '♂' : gender === 'female' ? '♀' : '';
            fh.insertAdjacentHTML('beforeend',
                '<span id="ps-gender-' + (gender || 'unknown') + '" style="padding-left:.25em;font-size:.75em">' +
                genderSym + '</span>'
            );

            var ss = document.getElementById('siteSub');
            if (!ss) {
                var d = document.createElement('div');
                d.id = 'siteSub';
                d.textContent = 'Vikipediya, azad ensiklopediya';
                document.getElementById('bodyContent').insertBefore(d, document.getElementById('bodyContent').firstChild);
                ss = d;
            }

            ss.style.display = 'block';
            ss.innerHTML = '<span id="ps-userinfo">' + statusText + '</span> ' + ss.innerHTML + '.';
        });
    });
})();
Mənbə — "https://az.wikipedia.org/w/index.php?title=İstifadəçi:Nemoralis/userinfo.js&oldid=8129892"
Informasiya Melumat Axtar