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