MediaWiki: Common.js: Difference between revisions

From LINKS Community Center
Jump to: navigation, search
Cschwentker (talk | contribs)
No edit summary
Cschwentker (talk | contribs)
No edit summary
Line 19: Line 19:
             action: "query",
             action: "query",
             list: "recentchanges",
             list: "recentchanges",
             rcprop: "title|ids|sizes|flags|user|timestamp",
             rcprop: "title|user|timestamp",
             rclimit: "3",
             rclimit: "3",
             format: "json"
             format: "json"
Line 32: Line 32:
                 var recentchanges = response.query.recentchanges;
                 var recentchanges = response.query.recentchanges;
                 for (var rc in recentchanges) {
                 for (var rc in recentchanges) {
                    myElement.innerHTML += "<b>" + recentchanges[rc].title + recentchanges[rc].timestamp + "</b></br>";
                    myElement.innerHTML += "<b>" + recentchanges[rc].title + "" + recentchanges[rc].user +  " " + recentchanges[rc].timestamp + "</b>";
 


                     console.log(recentchanges[rc].title);
                     console.log(recentchanges[rc].title);

Revision as of 15:48, 10 February 2022

/* 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);


    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;
                for (var rc in recentchanges) {
                    myElement.innerHTML += "<b>" + recentchanges[rc].title + "" + recentchanges[rc].user +  " " + recentchanges[rc].timestamp + "</b>";


                    console.log(recentchanges[rc].title);
                }
            })
            .catch(function (error) { console.log(error); });
    }

})();

/* End Matomo Code */