MediaWiki:Gadget-Gender.js: Difference between revisions

From Zelda Dungeon Wiki
Jump to navigation Jump to search
Want an adless experience? Log in or Create an account.
mNo edit summary
No edit summary
Line 21: Line 21:
         var genderSymbol = "";
         var genderSymbol = "";
         if (genderText == "female") {
         if (genderText == "female") {
           genderSymbol = "♀";
           genderSymbol = "<span style=\"color: pink;\">&#x2640;</span>";
         } else if (genderText == "male") {
         } else if (genderText == "male") {
           genderSymbol = "&#x2642;";
           genderSymbol = "<span style=\"color: pink;\">&#x2642;</span>";
         }
         }
   
   

Revision as of 21:55, April 5, 2012

// If on a user or user talk page, and not a subpage...
if ((wgNamespaceNumber == 2 || wgNamespaceNumber == 3) &&
    !/\//.test(wgTitle)) {
  // add a hook to...
  $(function() {
    // init AJAX and request the user's gender from the API
    var a = sajax_init_object();
    a.open("GET", wgServer + wgScriptPath + 
                  "/api.php?format=json&action=query&list=users&ususers=" + 
                  escape(wgTitle.replace(/ /, "_")) + "&usprop=gender",
           true);
 
    // when response arrives...
    a.onreadystatechange = function() {
      if(a.readyState == 4 && a.status == 200) {
        // parse the JSON response
        var genderText = 
          eval("(" + a.responseText + ")").query.users[0].gender;
 
        // U+2640 and U+2642 are female and male signs respectively.
        var genderSymbol = "";
        if (genderText == "female") {
          genderSymbol = "<span style=\"color: pink;\">&#x2640;</span>";
        } else if (genderText == "male") {
          genderSymbol = "<span style=\"color: pink;\">&#x2642;</span>";
        }
 
 
        // if gender was specified, append the symbol
        if (genderSymbol != "") {
          document.getElementById("firstHeading").innerHTML += 
            "&nbsp;" + genderSymbol;
        }
      }
    };
 
    // send the API request
    a.send();
  });
}