MediaWiki: Common.js: Difference between revisions

From LINKS Community Center
Jump to: navigation, search
Eschmidt (talk | contribs)
No edit summary
Eschmidt (talk | contribs)
No edit summary
Line 3: Line 3:
/* Matomo */
/* Matomo */
var _paq = window._paq = window._paq || [];
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
/* tracker methods like 'setCustomDimension' should be called before 'trackPageView' */
_paq.push(['trackPageView']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
_paq.push(['enableLinkTracking']);
(function () {
(function () {
     var u = "//analytics.safetyinnovation.center/";
     var u = '//analytics.safetyinnovation.center/';
     _paq.push(['setTrackerUrl', u + 'matomo.php']);
     _paq.push(['setTrackerUrl', u + 'matomo.php']);
     _paq.push(['setSiteId', '11']);
     _paq.push(['setSiteId', '11']);
Line 15: Line 15:
/* End Matomo Code */
/* End Matomo Code */


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


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


     fetch(url)
     fetch(url)
Line 33: Line 34:
         .then(function (response) {
         .then(function (response) {
             var recentchanges = response.query.recentchanges;
             var recentchanges = response.query.recentchanges;
             console.log(recentchanges);
             response.query.recentchanges.forEach(rc => console.log(rc));
            // console.log(recentchanges);
             for (var rc in recentchanges) {
             for (var rc in recentchanges) {
                 myElement.innerHTML += "<div>" + recentchanges[rc].title + " " + recentchanges[rc].user + " " + recentchanges[rc].timestamp + "</div>";
                 myElement.innerHTML += '<div>' + recentchanges[rc].title + ' ' + recentchanges[rc].user + ' ' + recentchanges[rc].timestamp + '</div>';
             }
             }
         })
         })
         .catch(function (error) { console.log(error); });
         .catch(function (error) { console.log(error); });
}
}
/* Recent Changes End */

Revision as of 13:02, 15 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);
})();
/* End Matomo Code */

/* Recent Changes Start */
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: '5',
        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;
            response.query.recentchanges.forEach(rc => console.log(rc));
            // 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); });
}
/* Recent Changes End */