MediaWiki:Common.js

From LINKS Community Center
Revision as of 13:00, 15 February 2022 by Eschmidt (talk | contribs)
Jump to: navigation, search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */

/* Matomo */
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function () {
    var u = "//analytics.safetyinnovation.center/";
    _paq.push(['setTrackerUrl', u + 'matomo.php']);
    _paq.push(['setSiteId', '11']);
    var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
    g.async = true; g.src = u + 'matomo.js'; s.parentNode.insertBefore(g, s);
})();
/* End Matomo Code */

var myElement = document.getElementById('recentChanges');
if (myElement) {
    var url = "https://links.communitycenter.eu/api.php";
    var params = {
        action: "query",
        list: "recentchanges",
        rcprop: "title|user|timestamp",
        rclimit: "3",
        format: "json"
    };

    url = url + "?origin=*";
    Object.keys(params).forEach(function (key) { url += "&" + key + "=" + params[key]; });

    fetch(url)
        .then(function (response) { return response.json(); })
        .then(function (response) {
            var recentchanges = response.query.recentchanges;
            console.log(recentchanges);
            for (var rc in recentchanges) {
                myElement.innerHTML += "<div>" + recentchanges[rc].title + " " + recentchanges[rc].user + " " + recentchanges[rc].timestamp + "</div>";
            }
        })
        .catch(function (error) { console.log(error); });
}