User:Peoplelikeyou/common.js: Difference between revisions

From Test Wiki
Jump to navigation Jump to search
Content deleted Content added
No edit summary
mNo edit summary
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
var adminrights = {};
//adapted from [[User:ais523/adminrights.js]]
//
// This script highlights bluelinks to selected users' userpages or talkpages in bodyContent
//Start of section to update

adminrights['3PPYB6']=1;
var userlist=new Array();
adminrights['Abuse%20filter']=1;

adminrights['AlPaD']=1;
importScript('User:Peoplelikeyou/userlist.js');
adminrights['Brewster239']=1;

adminrights['C1K98V']=1;
//Highlighting script. Based on [[User:ais523/highlightmyname.js]].
//End of section to update

function highlightusers_inner(n,h) //node, relevant hyperlink fragment
//Updating script
{
$( function() {
if (n.nodeType!=1||n.tagName.toLowerCase()!="a") return 0; // not an anchor
if(location.href==mw.config.get( 'wgServer' )+ mw.config.get( 'wgScript') + "?title=Special:ListUsers&limit=5000&"+
if (n.href.indexOf(wgScript+"?title="+h) == -1 &&
"group=sysop&adminupdate=y")
n.href.indexOf(wgArticlePath.split("$1")[0]+h) == -1) return 0; // to the wrong target
var u=n.href.split(h)[1];
if(userlist[u.split("_").join("%20")]==1)
{
{
n.style.backgroundColor="#FACDD5";
var h=document.getElementById('bodyContent').innerHTML;
}
var a= [];
return 1;
h=h.split(/\< *li *\>/i);
}
var i=0;

while(++i<h.length)
function highlightusers(n) //node
{
while(n!=null)
{
if(highlightusers_inner(n,"User:")) n=n.nextSibling;
else if(highlightusers_inner(n,"User_talk:")) n=n.nextSibling;
else if(highlightusers_inner(n,"Special:Contributions:")) n=n.nextSibling;
else
{
{
if(n.firstChild!=null) highlightusers(n.firstChild);
a[h[i].split(">")[1].split("<")[0]]=h[i].split(/\< *\/ *li *\>/i)[0];
n=n.nextSibling;
}
}
for(i in a)
{
document.write("adminrights['"+
encodeURIComponent(i).split("\\").join("\\\\").split("'").join("%27")
.split("(").join("%28").split(")").join("%29")
.split("!").join("%21").split(",").join("%2C")
.split("%3A").join(":")+"']=1;<BR/>");
}
}
});
$( function() {
if( location.href.indexOf("?adminupdate") == -1 && location.href.indexOf("&adminupdate")==-1 &&
mw.config.get( 'wgAction') != 'edit' && mw.config.get( 'wgAction') != 'submit' &&
mw.config.get( 'wgPageName')!="Special:Preferences")
{
$("#bodyContent a").each(function() {
var component;
linkTarget = $(this).attr("href");
if(linkTarget !== undefined && linkTarget.startsWith("/wiki/User_talk:")) {
pageTitle = linkTarget.split("/wiki/User_talk:")
try {
component = decodeURIComponent(pageTitle[1].replace("_", " "));
} catch (e) {
component = null;
}
if(component && adminrights[component]==1) {
$(this).addClass("adminrights_admin");
$(this).css("background-color", "#BBFFFF");
}
}
});
}
}
}

$(function() {
highlightusers(document.getElementById('bodyContent'));
});
});

Latest revision as of 01:07, 20 October 2023

//adapted from [[User:ais523/adminrights.js]]
//
// This script highlights bluelinks to selected users' userpages or talkpages in bodyContent 

var userlist=new Array();

importScript('User:Peoplelikeyou/userlist.js'); 

//Highlighting script. Based on [[User:ais523/highlightmyname.js]].

function highlightusers_inner(n,h) //node, relevant hyperlink fragment
{
  if (n.nodeType!=1||n.tagName.toLowerCase()!="a") return 0; // not an anchor
  if (n.href.indexOf(wgScript+"?title="+h) == -1 &&
      n.href.indexOf(wgArticlePath.split("$1")[0]+h) == -1) return 0; // to the wrong target
  var u=n.href.split(h)[1];
  if(userlist[u.split("_").join("%20")]==1)
  {
    n.style.backgroundColor="#FACDD5";
  }
  return 1;
}

function highlightusers(n) //node
{
  while(n!=null)
  {
    if(highlightusers_inner(n,"User:")) n=n.nextSibling;
    else if(highlightusers_inner(n,"User_talk:")) n=n.nextSibling;
    else if(highlightusers_inner(n,"Special:Contributions:")) n=n.nextSibling;
    else
    {
      if(n.firstChild!=null) highlightusers(n.firstChild);
      n=n.nextSibling;
    }
  }
}

$(function() {
    highlightusers(document.getElementById('bodyContent'));
});