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.
No edit summary
m (update deprecated wg variables to mw.config)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
// If on a user or user talk page, and not a subpage...
// If on a user or user talk page, and not a subpage...
if ((wgNamespaceNumber == 2 || wgNamespaceNumber == 3) &&
if ((mw.config.get('wgNamespaceNumber') == 2 || mw.config.get('wgNamespaceNumber') == 3) &&
     !/\//.test(wgTitle)) {
     !/\//.test(mw.config.get('wgTitle'))) {
   // add a hook to...
   // add a hook to...
   $(function() {
   $(function() {
     // init AJAX and request the user's gender from the API
     // init AJAX and request the user's gender from the API
     var a = sajax_init_object();
     $.getJSON(
    a.open("GET", wgServer + wgScriptPath +
      mw.util.wikiScript( 'api' ),
                  "/api.php?format=json&action=query&list=users&ususers=" +
      {
                  escape(wgTitle.replace(/ /, "_")) + "&usprop=gender",
        format: 'json',
          true);
        action: 'query',
        list: 'users',
    // when response arrives...
        ususers: escape(mw.config.get('wgTitle').replace(/ /, "_")),
    a.onreadystatechange = function() {
        usprop: 'gender'
      if(a.readyState == 4 && a.status == 200) {
      },
        // parse the JSON response
      function( response ) {
         var genderText =  
         var genderText = response.query.users[0].gender;
          eval("(" + a.responseText + ")").query.users[0].gender;
 
         // U+2640 and U+2642 are female and male signs respectively.
         // U+2640 and U+2642 are female and male signs respectively.
         var genderSymbol = "";
         var genderSymbol = "";
         if (genderText == "female") {
         if (genderText == "female") {
           genderSymbol = "<span style=\"color: #F299EC; text-shadow: #757 2px 1px 1px;\">&#x2640;</span>";
           genderSymbol = "<span class=\"female-icon\">&#x2640;</span>";
         } else if (genderText == "male") {
         } else if (genderText == "male") {
           genderSymbol = "<span style=\"color: #188AC7; text-shadow: #757 2px 1px 1px\">&#x2642;</span>";
           genderSymbol = "<span class=\"male-icon\">&#x2642;</span>";
         }
         }
 
         // if gender was specified, append the symbol
         // if gender was specified, append the symbol
         if (genderSymbol != "") {
         if (genderSymbol != "") {
Line 33: Line 31:
         }
         }
       }
       }
     };
     );
    // send the API request
    a.send();
   });
   });
}
}

Latest revision as of 04:41, March 19, 2017

// If on a user or user talk page, and not a subpage...
if ((mw.config.get('wgNamespaceNumber') == 2 || mw.config.get('wgNamespaceNumber') == 3) &&
    !/\//.test(mw.config.get('wgTitle'))) {
  // add a hook to...
  $(function() {
    // init AJAX and request the user's gender from the API
    $.getJSON(
      mw.util.wikiScript( 'api' ),
      {
        format: 'json',
        action: 'query',
        list: 'users',
        ususers: escape(mw.config.get('wgTitle').replace(/ /, "_")),
        usprop: 'gender'
      },
      function( response ) {
        var genderText = response.query.users[0].gender;

        // U+2640 and U+2642 are female and male signs respectively.
        var genderSymbol = "";
        if (genderText == "female") {
          genderSymbol = "<span class=\"female-icon\">&#x2640;</span>";
        } else if (genderText == "male") {
          genderSymbol = "<span class=\"male-icon\">&#x2642;</span>";
        }

        // if gender was specified, append the symbol
        if (genderSymbol != "") {
          document.getElementById("firstHeading").innerHTML += 
            "&nbsp;" + genderSymbol;
        }
      }
    );
  });
}