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

Материал из свободной русской энциклопедии «Традиция»
Перейти к: навигация, поиск

Замечание: Чтобы после сохранения вступили в силу изменения стилей, перезагрузите файл //traditio.wiki/w/load.php?debug=false&lang=ru&modules=site&only=styles&skin=vector&*, если используете скин Vector, или //traditio.wiki/w/load.php?debug=false&lang=ru&modules=site&only=styles&skin=common&*, если используете скин Common.

Чтобы вступили в силу изменения скриптов, перезагрузите файл //traditio.wiki/w/load.php?debug=false&lang=ru&modules=site&only=scripts&skin=vector&*, если используете скин Vector, или //traditio.wiki/w/load.php?debug=false&lang=ru&modules=site&only=scripts&skin=common&*, если используете скин Common.

Гаджеты и импортируемые скрипты загружаются отдельными файлами.

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;
}