disableVisitorLog = $this->makeVisitorLogSetting(); $this->disableVisitorProfile = $this->makeVisitorProfileSetting(); $systemSettings = new SystemSettings(); $this->disableVisitorLog->setIsWritableByCurrentUser(!$systemSettings->disableVisitorLog->getValue()); $this->disableVisitorProfile->setIsWritableByCurrentUser(!$systemSettings->disableVisitorProfile->getValue()); } private function makeVisitorLogSetting(): MeasurableSetting { $defaultValue = false; $type = FieldConfig::TYPE_BOOL; return $this->makeSetting('disable_visitor_log', $defaultValue, $type, function (FieldConfig $field) { $field->title = Piwik::translate('Live_DisableVisitsLogAndProfile'); $field->inlineHelp = Piwik::translate('Live_DisableVisitsLogAndProfileDescription'); $field->uiControl = FieldConfig::UI_CONTROL_CHECKBOX; }); } private function makeVisitorProfileSetting(): MeasurableSetting { $defaultValue = false; $type = FieldConfig::TYPE_BOOL; return $this->makeSetting('disable_visitor_profile', $defaultValue, $type, function (FieldConfig $field) { $field->title = Piwik::translate('Live_DisableVisitorProfile'); $field->inlineHelp = Piwik::translate('Live_DisableVisitorProfileDescription'); $field->uiControl = FieldConfig::UI_CONTROL_CHECKBOX; $field->condition = 'disable_visitor_log==0'; }); } }