Участник:Afinogenoff/recents.js

Материал из свободной русской энциклопедии «Традиция»
Перейти к: навигация, поиск
if (wgNamespaceNumber >= 0) addOnloadHook(pagePortlet);
function pagePortlet(){
 var ul, list, obj, ii;
 //добавить новый портлет 'страница'
 beforePortlet = document.getElementById('p-tb');
 if (!beforePortlet) return;
 var pPage = document.createElement('div');
 pPage.innerHTML = '<h5>страница</h5><div class=pBody><ul></ul></div>';
 pPage.className = 'portlet';  pPage.id = 'p-page';
 beforePortlet.parentNode.insertBefore(pPage, beforePortlet);
 //переместить туда 'Ссылки сюда' и 'Связанные правки'
 moveLinkToPortlet('p-page', 't-whatlinkshere');
 moveLinkToPortlet('p-page', 't-recentchangeslinked');
 //вычислить переменные для тулсервера (например dbname=ruwiki_p) 
 var wikilang = wgServer.split('.')[0].substring(7);
 var wikifam = wgServer.split('.')[1];
 var dbname = (wikifam == 'wikipedia')? 'wiki' : wikifam;
 dbname = wikilang + dbname + '_p';
 //Ссылки:
 addPortletLink('p-page', 
  '/index.php/Special:Prefixindex/' + wgPageName + '/', 'Подстраницы','',
  'Подстраницы этой страницы');
 addPortletLink('p-page', 
 '/index.php/Special:Log?page='+wgPageName, 'Журналы', 'ca-logs', 
 'Просмотр журналов для этой страницы');
 addPortletLink('p-page', 
  '/index.php/'+wgPageName+'?action=purge', 'Очистить кеш', 'ca-purge', 
  'Очистка кэша сервера для этой страницы');
 addPortletLink('p-page',
  'http://wiki.traditio.ru/index.php/Special:Patrol', 'Патрулировать', 'mycontrib', 
  'Патрулировать свежие правки');
 addPortletLink('p-page', 
  'http://wiki.traditio.ru/index.php/Служебная:Contributions/newbies', 'Новички','',
  'Правки новичков');
  
}
//вспомогательная функция перемещает  ссылку linkId в portlet portletId
function moveLinkToPortlet(portletId, linkId, newText){
 var portlet, ul, link;
 if (!(portlet = document.getElementById(portletId))) return;
 if (!(ul = portlet.getElementsByTagName('ul')[0])) return;
 if (!(link = document.getElementById(linkId))) return;
 ul.appendChild(link);
 if (newText) link.firstChild.innerHTML = newText;
}