//***********************************************************************
// Marks admins with something
// by [[:de:Benutzer:Spongo]]
// 28. Dez. 2005
// Ex-Admin-Markierung von [[:de:Benutzer:Sir]] und [[:de:Benutzer:Olliminatore]]
// Adaptierung/zusätzliche Markierungen/Fixes: [[:de:Benutzer:PDD]]
// Aufgeräumt & beschleunigt: [[:de:Benutzer:Littl]]
//
// ! Feel free to translate this page to Russian, right here.
//***********************************************************************
// <nowiki>
// get URL parameters (used for page type variables)
var UrlParameters = new Array ();
readparams();
function readparams() {
var asReadInUrlParameters;
var asReadInUrlParameter;
// Get URL parameters
asReadInUrlParameters = location.search.substring(1, location.search.length).split("&");
for (i = 0; i < asReadInUrlParameters.length; i++) {
asReadInUrlParameter = asReadInUrlParameters[i].split("=");
UrlParameters[decodeURIComponent(asReadInUrlParameter[0])] = decodeURIComponent(asReadInUrlParameter[1]);
}
}
// page type variables: namespaces
var isArticle = (mw.config.get('wgNamespaceNumber') == 0);
var isArticleTalk = (mw.config.get('wgNamespaceNumber') == 1);
var isBild = (mw.config.get('wgCanonicalNamespace') == "Image");
var isCategory = (mw.config.get('wgCanonicalNamespace') == "Category");
var isTemplate = (mw.config.get('wgCanonicalNamespace') == "Template");
var isGeneric = false;
if ((!isBild) && (!isCategory) && (!isTemplate))
isGeneric = true;
var isProject = (mw.config.get('wgCanonicalNamespace') == "Project"); /* NS Wikipedia: */
var isHelp = (mw.config.get('wgCanonicalNamespace') == "Help"); /* NS Help */
// page type variables: namespace == -1
var isSpecial = (mw.config.get('wgCanonicalNamespace') == "Special");
var isRestore = (isSpecial && (mw.config.get('wgCanonicalSpecialPageName') == "Undelete"));
var isContrib = (isSpecial && (mw.config.get('wgCanonicalSpecialPageName') == "Contributions"));
var isWatchlist = (isSpecial && (mw.config.get('wgCanonicalSpecialPageName') == "Watchlist"));
// page type variables: namespace == -1
var isTalk = (!isSpecial && isOdd(mw.config.get('wgNamespaceNumber')));
// page type variables: other stuff
var isPHP = (document.URL.indexOf('index.php') > 0);
var isDiff = UrlParameters["diff"];
var isEdit = ((UrlParameters['action']=='edit') || (UrlParameters['action']=='submit'));
var isHistory = (UrlParameters['action']=='history');
var langUser = "%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA"; // in ru 'Участник:'
// Krimskrams
function isEven(myNumber) {
return (myNumber % 2 == 0);
}
function isOdd(myNumber) {
return (! isEven(myNumber));
}
// statische Liste (als Backup)
// last update: 21. Aug. 2007
var admins=new Array("A.I.","Alex_Spade","Alma_Pater","Altes","Amoses","Andrei_G_Kustov","Atorero","Boleslav1","Brion_VIBBER","Butko","CodeMonk","Ctac","D_V_S","DR","DaeX","Dennis_Myts","Dmitri_Lytov","Dmitry_Gerasimov","Dodonov","Drbug_","Dstary","EvgenyGenkin","George_Shuklin","HedgeHog","Ingwar_JR","Kalan","Kartmen","Kneiphof","Kv75","Levg","LoKi","MaxSem","Maxim_Razin","Maximaximax","Mitrius","Morpheios_Melas","Neon","Obersachse","OckhamTheFox","Ornil","Panther","Pauk","Paul_Pogonyshev","Pavelegorov","Putnik","Redline","Serguei_S._Dukachev","Solon","Spy1986","Stassats","Tassadar","Torin","Tosha","Vald","Vaya","Vinograd19","Volkov","Wind_","Wulfson","Yurik","%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%A1%D0%B8%D0%B3%D0%B0%D1%87%D1%91%D0%B2","%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9_%D0%A0%D0%BE%D0%BC%D0%B0%D0%BD%D0%B5%D0%BD%D0%BA%D0%BE","%D0%91%D0%B5%D0%BB%D0%BE%D0%BC%D0%BE%D0%B5%D0%B2_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9","%D0%92%D0%BB%D0%B0%D0%B4%D0%B8%D0%BC%D0%B8%D1%80_%D0%92%D0%BE%D0%BB%D0%BE%D1%85%D0%BE%D0%BD%D1%81%D0%BA%D0%B8%D0%B9","%D0%9A%D0%BE%D0%BD%D1%81%D1%82._%D0%9A%D0%B0%D1%80%D0%B0%D1%81%D1%91%D0%B2","%D0%9D%D0%B5_%D0%90","%D0%A1._%D0%9B.","%D0%A1%D0%B0%D0%B9%D0%B3%D0%B020%D0%9A");
function markAdmins() {
// Variables that should be defined in your monobook
if (typeof(markadmins) == 'undefined')
markadmins = true;
if (typeof(markcomadmins) == 'undefined')
markcomadmins = false;
if (typeof(markexadmins) == 'undefined')
markexadmins = false;
if (typeof(markarbcom) == 'undefined')
markarbcom = false;
if (typeof(markcheckuser) == 'undefined')
markcheckuser = false;
if (!markadmins && !markcomadmins && !markexadmins) return; //nichts zu tun, schnell weg hier
if (typeof(marksubpages) == 'undefined')
marksubpages = false;
if (typeof(dontmarkmyself) == 'undefined')
dontmarkmyself = false;
if (typeof(isSpecial) == 'undefined')
isSpecial = (mw.config.get('wgCanonicalNamespace') == "Special");
if (typeof(isHistory) == 'undefined')
isHistory = (UrlParameters['action']=='history');
if (typeof(isUserpage) == 'undefined')
isUserpage = ( (mw.config.get('wgCanonicalNamespace') == "User") || (mw.config.get('wgCanonicalNamespace') == "User_talk") );
if (typeof(isTalk) == 'undefined')
isTalk = (document.URL.indexOf('Diskussion') > 0); // kludge
if (typeof(isProject) == 'undefined')
isProject = (mw.config.get('wgCanonicalNamespace') == "Project");
if (typeof(isHelp) == 'undefined')
isHelp = (mw.config.get('wgCanonicalNamespace') == "Help");
if (typeof(isDiff) == 'undefined')
isDiff = UrlParameters["diff"];
if (markadmins) {
var admins_str = '|'+admins.join('|')+'|';
var bureaucrats=new Array("xxxxxxxxx");
var bureaucrats_str = '|'+bureaucrats.join('|')+'|';
var stewards=new Array("Fantasy", "Brion_VIBBER", "Snowdog", "Dbl2010", "Anthere", "Oscar", "Jimbo_Wales", "Angela", "MaxSem");
var stewards_str = '|'+stewards.join('|')+'|';
// renames
var renadmins=new Array("xxxxxxx");
var renadmins_str = '|'+renadmins.join('|')+'|';
if (typeof(markatxt) == 'undefined')
markatxt = "A";
if (typeof(markbureautxt) == 'undefined')
markbureautxt = "B";
if (typeof(markstewtxt) == 'undefined')
markstewtxt = "S";
if (typeof(markrenatxt) == 'undefined')
markrenatxt = "A-Ren";
}
if (markcomadmins) {
// Notes: Eigntlich = Notschrei on commons
// Kuru = D-Kuru on commons
var comadmins=new Array("xxxxxxxxxxx");
var comadmins_str = '|'+comadmins.join('|')+'|';
if (typeof(markcomatxt) == 'undefined')
markcomatxt = "Com-A";
}
if (markexadmins) {
/*
Notizen zu den Ex-Admins:
*/
var exadmins=new Array("xxxxxxx");
var exadmins_str = '|'+exadmins.join('|')+'|';
var exbureaucrats=new Array("xxxxxxxxxxxxx");
var exbureaucrats_str = '|'+exbureaucrats.join('|')+'|';
if (typeof(markexatxt) == 'undefined')
markexatxt = "Ex-A";
if (typeof(markexbureautxt) == 'undefined')
markexbureautxt = "Ex-B";
}
if (markcheckuser) {
// Notes:
var checkuser=new Array("xxxxxxxxx");
var checkuser_str = '|'+checkuser.join('|')+'|';
if (typeof(markcheckusertxt) == 'undefined')
markcheckusertxt = "CU";
}
if (markarbcom) {
// Notes: ab 22.5.2007
var arbcom=new Array("xxxxxxxxxxx");
var arbcom_str = '|'+arbcom.join('|')+'|';
if (typeof(markarbcomtxt) == 'undefined')
markarbcomtxt = "SG";
}
if (markarbcom || markadmins) {
// SG-only Admins
var admarbcom=new Array("xxxxxxxxxxxxx");
var admarbcom_str = '|'+admarbcom.join('|')+'|';
if (typeof(markadmarbcomtxt) == 'undefined')
markadmarbcomtxt = "SG-A";
}
if (isSpecial || isHistory || isUserpage || isTalk || isProject || isHelp || isDiff) {
var i;
var aNode;
var allanchors = document.getElementsByTagName("A");
var searchExp = /.wiki.%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA.(.+)/;
var trenn="/wiki/" + langUser;
var marker;
var mainpageanchor;
for (i=0; i < allanchors.length; i++) {
aNode = allanchors[i];
mainpageanchor = true;
// if it's a link to a user
if ((href = aNode.getAttribute("href")) && (href.indexOf(trenn) != -1)) {
currUser = searchExp.exec(href)[1];
/* if (isUserpage) */ currUserClean = currUser.replace(/\/.*/,'');
if (currUserClean != currUser) mainpageanchor = false;
currUser= "|" + currUserClean + "|";
marker = new Array();
if (markadmins) {
// don't mark SG-only Adm twice
if (!(admarbcom_str.indexOf(currUser) != -1)) {
// is this user an admin?
if (admins_str.indexOf(currUser) != -1) marker.push(markatxt);
// is this user a renamed admin?
if (renadmins_str.indexOf(currUser) != -1) marker.push(markrenatxt);
}
// is this user a bureaucrat?
if (bureaucrats_str.indexOf(currUser) != -1) marker.push(markbureautxt);
// is this user a steward?
if (stewards_str.indexOf(currUser) != -1) marker.push(markstewtxt);
}
if (markcomadmins) {
// is this user a commons admin?
if (comadmins_str.indexOf(currUser) != -1) marker.push(markcomatxt);
}
if (markexadmins) {
// was this user an admin?
if (exadmins_str.indexOf(currUser) != -1) marker.push(markexatxt);
// was this user a bureaucrat?
if (exbureaucrats_str.indexOf(currUser) != -1) marker.push(markexbureautxt);
}
if (markcheckuser) {
// does this user have checkuser rights?
if (checkuser_str.indexOf(currUser) != -1) marker.push(markcheckusertxt);
}
if (markarbcom) {
// is this user an arbcom member?
if (!(admarbcom_str.indexOf(currUser) != -1))
if (arbcom_str.indexOf(currUser) != -1) marker.push(markarbcomtxt);
}
if (markarbcom || markadmins) {
// is this user a (non-admin) arbcom member?
if (admarbcom_str.indexOf(currUser) != -1) marker.push(markadmarbcomtxt);
}
// don't mark certain pages, except link to user main page
if (mainpageanchor ||
(marksubpages && (mw.config.get('wgCanonicalSpecialPageName') != "Prefixindex")
&& (mw.config.get('wgCanonicalSpecialPageName') != "Allpages")) )
// check finished, now append node
if ((marker.length > 0) && !(dontmarkmyself && (currUserClean == mw.config.get('wgUserName')))) {
var aMark = document.createElement("b");
var aMarkText = document.createTextNode(" (" + marker.join("/") + ")");
aMark.appendChild(aMarkText);
aNode.appendChild(aMark.cloneNode(true));
}
}
}
}
}
addOnloadHook(markAdmins);
// </nowiki>