MediaWiki:Gadget-HighlightAdmins.js

Tủ sách mở Wikibooks

Chú ý: Sau khi lưu trang, có thể bạn sẽ phải xóa bộ nhớ đệm của trình duyệt để xem các thay đổi.

  • Firefox / Safari: Nhấn giữ phím Shift trong khi nhấn Tải lại (Reload), hoặc nhấn tổ hợp Ctrl-F5 hay Ctrl-R (⌘R trên Mac)
  • Google Chrome: Nhấn tổ hợp Ctrl-Shift-R (⇧⌘R trên Mac)
  • Internet Explorer / Edge: Nhấn giữ phím Ctrl trong khi nhấn Làm tươi (Refresh), hoặc nhấn tổ hợp Ctrl-F5
  • Opera: Nhấn tổ hợp Ctrl-F5.
var adminrights=[];
 
//Start of section to update
adminrights.mxn=1;
//End of section to update
 
//Updating script
$(function(){
  if(mw.config.get("wgCanonicalSpecialPageName") === "Listusers" &&
     mw.util.getParamValue("group") === "sysop" &&
     mw.util.getParamValue("adminupdate") === "y")
  {
    var h=document.getElementById('bodyContent').innerHTML;
    var a=[];
    h=h.split(/< *li *\>/i);
    var i=0;
    while(++i<h.length)
    {
      a[h[i].split(">")[1].split("<")[0]]=h[i].split(/< *\/ *li *\>/i)[0];
    }
    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/>");
    }
  }
});
 
//Highlighting script. Based on [[:en:User:ais523/highlightmyname.js]].
 
function highlightadmins(n,p) //node, parent node
{
  var u;
  while(n!==null)
  {
    if(n.nodeType==1&&n.tagName.toLowerCase()=="a") //anchor
    {
      if(n.href.indexOf("http://vi.wikibooks.org/wiki/User:")!=-1)
      {
        u=n.href.split("http://vi.wikibooks.org/wiki/User:")[1];
        if(adminrights[u.split("_").join("%20")]==1)
        {
          n.style.backgroundColor="#FFFFFF";
          if(n.className===null||n.className==="") n.className="adminrights_admin";
          else n.className+="adminrights_admin";
        }
        n=n.nextSibling;
      }
      else if(n.href.indexOf("http://vi.wikibooks.org/wiki/User_talk:")!=-1)
      {
        u=n.href.split("http://vi.wikibooks.org/wiki/User_talk:")[1];
        if(adminrights[u.split("_").join("%20")]==1)
        {
          n.style.backgroundColor="#BBFFFF";
          if(n.className===null||n.className==="") n.className="adminrights_admin";
          else n.className+="adminrights_admin";
        }
        n=n.nextSibling;
      }
      else
      {
        if(n.firstChild!==null) highlightadmins(n.firstChild,n);
        n=n.nextSibling;
      }
    }
    else
    {
      if(n.firstChild!==null) highlightadmins(n.firstChild,n);
      n=n.nextSibling;
    }
  }
}
 
$(function() {
  var action = mw.config.get("wgAction");
  if(!mw.util.getParamValue("adminupdate") &&
     action !== "edit" && action !== "submit" &&
     mw.config.get("wgCanonicalSpecialPageName") !== "Preferences")
  {
    highlightadmins(document.getElementById('bodyContent').firstChild,
                    document.getElementById('bodyContent'));
  }
});