コード例 #1
0
 private function createSettings()
 {
     $settings = new MeasurableSettings($this->idSite, MobileAppType::ID);
     $settings->addSetting($this->createSetting('test2'));
     $settings->addSetting($this->createSetting('test3'));
     return $settings;
 }
コード例 #2
0
ファイル: Type.php プロジェクト: FluentDevelopment/piwik
 public function configureMeasurableSettings(MeasurableSettings $settings)
 {
     $appId = new MeasurableSetting('app_id', 'App-ID');
     $appId->validate = function ($value) {
         if (strlen($value) > 100) {
             throw new \Exception('Only 100 characters are allowed');
         }
     };
     $settings->addSetting($appId);
 }
コード例 #3
0
 public function getSettingValue($name)
 {
     $settings = new MeasurableSettings($this->id, $this->getType());
     $setting = $settings->getSetting($name);
     if (!empty($setting)) {
         return $setting->getValue();
         // Calling `getValue` makes sure we respect read permission of this setting
     }
     throw new Exception(sprintf('Setting %s does not exist', $name));
 }
コード例 #4
0
ファイル: MeasurableTest.php プロジェクト: mgou-net/piwik
 public function testGetSettingValue_shouldReturnValue_IfSettingExistsAndIsReadable()
 {
     $setting = new MeasurableSettings($this->idSite, Measurable::getTypeFor($this->idSite));
     $setting->getSetting($this->settingName)->setValue('mytest');
     $value = $this->measurable->getSettingValue($this->settingName);
     $this->assertNull($value);
     $setting->save();
     // actually save value
     $value = $this->measurable->getSettingValue($this->settingName);
     $this->assertSame('mytest', $value);
 }
コード例 #5
0
 public function getMeasurableTypeSettings()
 {
     $idSite = Common::getRequestVar('idSite', 0, 'int');
     $idType = Common::getRequestVar('idType', '', 'string');
     if ($idSite >= 1) {
         Piwik::checkUserHasAdminAccess($idSite);
     } else {
         if ($idSite === 0) {
             Piwik::checkUserHasSomeAdminAccess();
         } else {
             throw new Exception('Invalid idSite parameter. IdSite has to be zero or higher');
         }
     }
     $view = new View('@SitesManager/measurable_type_settings');
     $propSettings = new MeasurableSettings($idSite, $idType);
     $view->settings = $propSettings->getSettingsForCurrentUser();
     return $view->render();
 }
コード例 #6
0
ファイル: API.php プロジェクト: CaptainSharf/SSAD_Project
 private function updateMeasurableSettings($idSite, $settings)
 {
     $idType = Site::getTypeFor($idSite);
     $measurableSettings = new MeasurableSettings($idSite, $idType);
     foreach ($measurableSettings->getSettingsForCurrentUser() as $measurableSetting) {
         $name = $measurableSetting->getName();
         if (!empty($settings[$name])) {
             $measurableSetting->setValue($settings[$name]);
         }
         // we do not clear existing settings if the value is missing.
         // There can be so many settings added by random plugins one would always clear some settings.
     }
     $measurableSettings->save();
 }