Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/WebsiteMeasurable/MeasurableSettings.php')
-rw-r--r--plugins/WebsiteMeasurable/MeasurableSettings.php26
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);