1<?php
2/**
3 * Matomo - free/libre analytics platform
4 *
5 * @link    https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 */
8
9namespace Piwik\Plugins\CustomJsTracker;
10
11use Piwik\Container\StaticContainer;
12use Piwik\Log;
13use Piwik\Plugin;
14
15class CustomJsTracker extends Plugin
16{
17    public function registerEvents()
18    {
19        return array(
20            'CoreUpdater.update.end' => 'updateTracker',
21            'PluginManager.pluginActivated' => 'updateTracker',
22            'PluginManager.pluginDeactivated' => 'updateTracker',
23            'PluginManager.pluginInstalled' => 'updateTracker',
24            'PluginManager.pluginUninstalled' => 'updateTracker',
25            'Updater.componentUpdated' => 'updateTracker',
26            'Controller.CoreHome.checkForUpdates.end' => 'updateTracker',
27            'CustomJsTracker.updateTracker' => 'updateTracker'
28        );
29    }
30
31    public function updateTracker()
32    {
33        try {
34            if (Plugin\Manager::getInstance()->isPluginActivated('CustomJsTracker')) {
35                $trackerUpdater = StaticContainer::get('Piwik\Plugins\CustomJsTracker\TrackerUpdater');
36                $trackerUpdater->update();
37            }
38        } catch (\Exception $e) {
39            Log::error('There was an error while updating the javascript tracker: ' . $e->getMessage());
40        }
41    }
42}
43