AnonSec Shell
Server IP : 213.186.33.4  /  Your IP : 216.73.216.193
Web Server : Apache
System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : awebpaca ( 35430)
PHP Version : 8.5.0
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/awebpaca/piwik/plugins/CoreAdminHome/angularjs/trackingcode/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/awebpaca/piwik/plugins/CoreAdminHome/angularjs/trackingcode/imagetrackingcode.controller.js
/*!
 * Matomo - free/libre analytics platform
 *
 * @link https://matomo.org
 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
 */

/**
 * Controller for image tracking code generator
 */
(function () {

    // cache for not refetching data for same site twice
    var sitePromises = {}, goalPromises = {};

    angular.module('piwikApp').controller('ImageTrackingCodeController', ImageTrackingCodeController);

    ImageTrackingCodeController.$inject = ['piwikApi', '$q'];

    function ImageTrackingCodeController(piwikApi, $q) {

        this.allGoals = {};
        this.isLoading = false;

        var piwikHost = window.location.host,
            piwikPath = location.pathname.substring(0, location.pathname.lastIndexOf('/')),
            self = this;

        var currencyPromise = piwikApi.fetch({method: 'SitesManager.getCurrencySymbols', filter_limit: '-1'});

        function requestSiteData(idSite)
        {
            if (!sitePromises[idSite]) {
                sitePromises[idSite] = piwikApi.fetch({
                    module: 'API',
                    method: 'SitesManager.getSiteFromId',
                    idSite: idSite
                });
            }

            return sitePromises[idSite];
        }

        function requestGoalData(idSite)
        {
            if (!goalPromises[idSite]) {
                goalPromises[idSite] = piwikApi.fetch({
                    module: 'API',
                    method: 'Goals.getGoals',
                    filter_limit: '-1',
                    idSite: idSite
                });
            }

            return goalPromises[idSite];
        }

        // function that generates image tracker link
        var generateImageTrackingAjax = null,
            generateImageTrackerLink = function (trackingCodeChangedManually) {
            // get data used to generate the link
            var postParams = {
                piwikUrl: piwikHost + piwikPath,
                actionName: self.pageName,
                forceMatomoEndpoint: 1
            };

            if (self.trackGoal && self.trackIdGoal) {
                postParams.idGoal = self.trackIdGoal;
                postParams.revenue = self.revenue;
            }

            if (generateImageTrackingAjax) {
                generateImageTrackingAjax.abort();
            }

            generateImageTrackingAjax = piwikApi.post({
                module: 'API',
                format: 'json',
                method: 'SitesManager.getImageTrackingCode',
                idSite: self.site.id
            }, postParams).then(function (response) {
                generateImageTrackingAjax = null;

                self.trackingCode = response.value;

                if (trackingCodeChangedManually) {
                    var jsCodeTextarea = $('#image-tracking-text .codeblock');
                    jsCodeTextarea.effect("highlight", {}, 1500);
                }
            });
        };

        this.updateTrackingCode = function () {
            generateImageTrackerLink(true);
        };

        this.changeSite = function (changedManually) {

            self.isLoading = true;

            var sitePromise = requestSiteData(this.site.id);
            var goalPromise =  requestGoalData(this.site.id);

            return $q.all([currencyPromise, sitePromise, goalPromise]).then(function (data) {

                self.isLoading = false;

                var currencySymbols = data[0] || {};
                var currency = data[1].currency || '';
                var goals = data[2] || [];

                var goalsList = [{key: '', value: _pk_translate('UserCountryMap_None')}];
                for (var key in goals) {
                    goalsList.push({key: goals[key].idgoal, value: goals[key].name});
                }

                self.allGoals = goalsList;

                $('[name=image-revenue] .site-currency').text(currencySymbols[currency.toUpperCase()]);
                generateImageTrackerLink(changedManually);

            });
        };

        if (this.site && this.site.id) {
            this.changeSite(false);
        }

    }
})();

Anon7 - 2022
AnonSec Team