public function isTrackerPlugin(Plugin $plugin)
{
if (!$this->isPluginInstalled($plugin->getPluginName())) {
return false;
}
if ($plugin->isTrackerPlugin()) {
return true;
}
$dimensions = VisitDimension::getDimensions($plugin);
if (!empty($dimensions)) {
return true;
}
$dimensions = ActionDimension::getDimensions($plugin);
if (!empty($dimensions)) {
return true;
}
$hooks = $plugin->getListHooksRegistered();
$hookNames = array_keys($hooks);
foreach ($hookNames as $name) {
if (strpos($name, self::TRACKER_EVENT_PREFIX) === 0) {
return true;
}
if ($name === 'Request.initAuthenticationObject') {
return true;
}
}
$dimensions = ConversionDimension::getDimensions($plugin);
if (!empty($dimensions)) {
return true;
}
return false;
}