Участник:Lockal/recent2.js

if (mw.config.get('wgNamespaceNumber') >= 0) {
	mw.loader.using('mediawiki.util').done(function () {
		$(pagePortlet);
	});
}

function pagePortlet()
{
    // добавить новый портлет 'страница'
    beforePortlet = document.getElementById('p-tb');
    if (!beforePortlet) return;
    var skin = mw.config.get('skin');

    pPage = document.createElement('div');
    pPage.className = (skin=="vector")?'portal collapsed':'portlet';
    pPage.id = 'p-page';

    pPageHeader = document.createElement('h3');
    pPageHeader.innerHTML = 'Страница';

    pPageDiv = document.createElement('div');
    pPageDiv.className = (skin=="vector")?'body':'pBody';
    var pPageUl = document.createElement('ul');
    pPageDiv.appendChild(pPageUl);
    pPage.appendChild(pPageHeader);
    pPage.appendChild(pPageDiv);
    
    beforePortlet.parentNode.insertBefore(pPage, beforePortlet);

    // переместить туда 'Ссылки сюда' и 'Связанные правки'
    moveLinkToPortlet('p-page', 't-whatlinkshere');
    moveLinkToPortlet('p-page', 't-recentchangeslinked');

    // вычислить переменные для тулсервера (например, dbname=ruwiki_p) 
    var wikilang = mw.config.get('wgServer').split('.')[0].substring(7);
    var wikifam = mw.config.get('wgServer').split('.')[1];
    var dbname = (wikifam == 'wikipedia')? 'wiki' : wikifam;
    dbname = wikilang + dbname + '_p';
    
    // Ссылки:
    mw.util.addPortletLink('p-page', '/wiki/Special:Prefixindex/' + mw.config.get('wgPageName') + '/', 'Подстраницы', '', 'Подстраницы этой страницы');
    mw.util.addPortletLink('p-page', '/wiki/Special:Log?page='+mw.config.get('wgPageName'), 'Журналы', 'ca-logs',  'Просмотр журналов для этой страницы');
    mw.util.addPortletLink('p-page', '/wiki/'+mw.config.get('wgPageName')+'?action=purge', 'Очистить кэш', 'ca-purge', 'Очистка кэша сервера для этой страницы');
    mw.util.addPortletLink('p-page', 'http://tools.wikimedia.de/~interiot/cgi-bin/contribution_tree?dbname='+dbname+'&article='+mw.config.get('wgPageName')+'&user='+mw.config.get('wgUserName'), 'Мои правки', 'mycontrib', 'Мой вклад в эту страницу');
    mw.util.addPortletLink('p-page', 'http://tools.wikimedia.de/~daniel/WikiSense/Contributors.php?wikilang=' +wikilang+'&wikifam=.'+wikifam+'.org&grouped=on&order=-edit_count&page='+encodeURIComponent(mw.config.get('wgPageName')), 'Все авторы','', 'Все авторы страницы');

    // editcount ° — ссылка на editcounter участника под ссылкой «Вклад участника»
    //if ((wgNamespaceNumber == 2 || wgNamespaceNumber == 3) && (tContributions = document.getElementById('t-contributions')))
    //   mw.util.addPortletLink('p-tb',  'http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?dbname='+dbname+ '&user=' + wgTitle, 'editcount °', 'editcount', 'Interiot\'s user counter','', tContributions.nextSibling); 
}

//вспомогательная функция перемещает  ссылку linkId в portlet portletId
function moveLinkToPortlet(portletId, linkId, newText)
{
    var portlet, ul, link;
    if (!(portlet = document.getElementById(portletId)) || !(ul = portlet.getElementsByTagName('ul')[0]) || !(link = document.getElementById(linkId))) return;
    ul.appendChild(link);
    if (newText) link.firstChild.innerHTML = newText;
}
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya