diff options
author | Matthieu Aubry <mattab@users.noreply.github.com> | 2016-12-12 13:54:03 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-12 13:54:03 +0300 |
commit | 53454e8efd0ab2a03dd9bb9f837aa63f36cfe552 (patch) | |
tree | be7dc483dad0dcac6577b73e9e82ede7bc097682 /plugins/WebsiteMeasurable/MeasurableSettings.php | |
parent | b1c09fa5123155ab9cd79342a4a0cef42e80de7f (diff) | |
parent | 67f2661f24602a07ebee66172f8446887ab83787 (diff) |
Merge pull request #10994 from piwik/3.x-dev3.0.0-rc2
3.0.0-rc2 release
Diffstat (limited to 'plugins/WebsiteMeasurable/MeasurableSettings.php')
-rw-r--r-- | plugins/WebsiteMeasurable/MeasurableSettings.php | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/plugins/WebsiteMeasurable/MeasurableSettings.php b/plugins/WebsiteMeasurable/MeasurableSettings.php index 95e4187f73..bcb3b5f228 100644 --- a/plugins/WebsiteMeasurable/MeasurableSettings.php +++ b/plugins/WebsiteMeasurable/MeasurableSettings.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\WebsiteMeasurable; use Piwik\IP; +use Piwik\Measurable\Type\TypeManager; use Piwik\Network\IPUtils; use Piwik\Piwik; use Piwik\Plugin; @@ -16,7 +17,6 @@ use Piwik\Settings\Setting; use Piwik\Settings\FieldConfig; use Piwik\Plugins\SitesManager; use Exception; -use Piwik\Url; /** * Defines Settings for ExampleSettingsPlugin. @@ -74,16 +74,38 @@ class MeasurableSettings extends \Piwik\Settings\Measurable\MeasurableSettings */ private $pluginManager; - public function __construct(SitesManager\API $api, Plugin\Manager $pluginManager, $idSite, $idMeasurableType) + /** + * @var TypeManager + */ + private $typeManager; + + public function __construct(SitesManager\API $api, Plugin\Manager $pluginManager, TypeManager $typeManager, $idSite, $idMeasurableType) { $this->sitesManagerApi = $api; $this->pluginManager = $pluginManager; + $this->typeManager = $typeManager; parent::__construct($idSite, $idMeasurableType); } + protected function shouldShowSettingsForType($type) + { + $isWebsite = $type === Type::ID; + + if ($isWebsite) { + return true; + } + + // if no such type exists, we default to website properties + return !$this->typeManager->isExistingType($type); + } + protected function init() { + if (!$this->shouldShowSettingsForType($this->idMeasurableType)) { + return; + } + $this->urls = new Urls($this->idSite); $this->addSetting($this->urls); |