MediaWiki:Common.js: Difference between revisions

From Zelda Dungeon Wiki
Jump to navigation Jump to search
Want an adless experience? Log in or Create an account.
No edit summary
mNo edit summary
Line 3: Line 3:
// Rights
// Rights
// Sets a variable "rights" which will return "false" if the  
// Sets a variable "rights" which will return "false" if the  
// currently logged in user is a bureaucrat, administrator, or autoconfirmed user. It will return true otherwise.
// currently logged in user is an administrator, patroller, or autoconfirmed user. It will return true otherwise.
// it also defines variables which may be used elsewhere in scripts.
// it also defines variables which may be used elsewhere in scripts.
// --------------------------------------------------------
// --------------------------------------------------------

Revision as of 03:45, October 24, 2011

/* Any JavaScript here will be loaded for all users on every page load. */
// --------------------------------------------------------
// Rights
// Sets a variable "rights" which will return "false" if the 
// currently logged in user is an administrator, patroller, or autoconfirmed user. It will return true otherwise.
// it also defines variables which may be used elsewhere in scripts.
// --------------------------------------------------------

if (wgUserGroups){
 var rights_isAuto = (wgUserGroups.toString().indexOf('autoconfirmed') != -1);
 var rights_isPatrol = (wgUserGroups.toString().indexOf('patroller') != -1);
 var rights_isAdmin = (wgUserGroups.toString().indexOf('sysop') != -1);
 var rights = true;
}
else {
 var rights = false;
}
//

// --------------------------------------------------------
// Rank Coloring
// (adapted from http://en.wikipedia.org/wiki/User:Ais523/adminrights.js)
// This script changes the color of links to admins' and patrollers' userpages in the bodyContent of Special, History pages, diff pages,
// and old page revisions.
// ("bodyContent" being everything but the tabs,personal links at the top of the screen and sidebar).
// --------------------------------------------------------

var patrollerrights=new Array();
 
importScript('MediaWiki:Patrollerlist.js');
 
//Highlighting script. Based on [[User:ais523/highlightmyname.js]].
 
function highlightpatrollers(n,p) //node, parent node
{
  while(n!=null)
  {
    if(n.nodeType==1&&n.tagName.toLowerCase()=="a") //anchor
    {
      if(n.href.indexOf("/User:")!=-1)
      {
        var u=n.href.split("/User:")[1];
        if(patrollerrights[u.split("_").join("%20")]==1)
        {
          n.style.color="#E99216";
        }
      }
      else if(n.href.indexOf("/index.php?title=User:")!=-1)
      {
        var u=n.href.split("/index.php?title=User:")[1];
        if(patrollerrights[u.split("_").join("%20")]==1)
        {
          n.style.color="#E99216";
        }
      }
      else
      {
        if(n.firstChild!=null) highlightpatrollers(n.firstChild,n);
      }
    }
    else
    {
      if(n.firstChild!=null) highlightpatrollers(n.firstChild,n);
    }
    n=n.nextSibling;
  }
}


if (wgCanonicalNamespace == 'Special' || wgAction == 'history' || document.URL.indexOf('diff=') > 0 || document.URL.indexOf('oldid=') > 0)
{
addOnloadHook(function() {
    highlightpatrollers(document.getElementById('bodyContent').firstChild,
                    document.getElementById('bodyContent'));
});
}

var adminrights=new Array();
 
importScript('MediaWiki:Adminlist.js');
 
//Highlighting script. Based on [[User:ais523/highlightmyname.js]].
 
function highlightadmins(n,p) //node, parent node
{
  while(n!=null)
  {
    if(n.nodeType==1&&n.tagName.toLowerCase()=="a") //anchor
    {
      if(n.href.indexOf("/User:")!=-1)
      {
        var u=n.href.split("/User:")[1];
        if(adminrights[u.split("_").join("%20")]==1)
        {
          n.style.color="#2BA206";
        }
      }
      else if(n.href.indexOf("/index.php?title=User:")!=-1)
      {
        var u=n.href.split("/index.php?title=User:")[1];
        if(adminrights[u.split("_").join("%20")]==1)
        {
          n.style.color="#2BA206";
        }
      }
      else
      {
        if(n.firstChild!=null) highlightadmins(n.firstChild,n);
      }
    }
    else
    {
      if(n.firstChild!=null) highlightadmins(n.firstChild,n);
    }
    n=n.nextSibling;
  }
}


if (wgCanonicalNamespace == 'Special' || wgAction == 'history' || document.URL.indexOf('diff=') > 0 || document.URL.indexOf('oldid=') > 0)
{
addOnloadHook(function() {
    highlightadmins(document.getElementById('bodyContent').firstChild,
                    document.getElementById('bodyContent'));
});
}
//