Ejemplo n.º 1
0
 private function createGenerateKeysSetting()
 {
     $this->generateKeys = new SystemSetting('generateKeys', Piwik::translate('LoginEncrypted_SettingsGenerateKeysTitle'));
     $this->generateKeys->readableByCurrentUser = true;
     $this->generateKeys->type = static::TYPE_BOOL;
     $this->generateKeys->uiControlType = static::CONTROL_CHECKBOX;
     $this->generateKeys->description = Piwik::translate('LoginEncrypted_SettingsGenerateKeysDescription');
     $this->generateKeys->defaultValue = false;
     $this->generateKeys->transform = function ($value, $setting) {
         // check if check box got activated, and generate keys if so
         if ($value != $setting->defaultValue) {
             $publickey = Crypto::generateKeys($this->keyLength->getValue());
             $this->publicKey->setValue($publickey['e'] . ', ' . $publickey['n']);
         }
         return $setting->defaultValue;
         // reset checkbox
     };
     $this->addSetting($this->generateKeys);
 }
 public function setValue($value)
 {
     $newNumWorkers = $value;
     $oldNumWorkers = $this->getValue();
     parent::setValue($value);
     if ($newNumWorkers && $oldNumWorkers) {
         try {
             $manager = Factory::makeQueueManager(Factory::makeBackend());
             $manager->setNumberOfAvailableQueues($newNumWorkers);
             $manager->moveSomeQueuesIfNeeded($newNumWorkers, $oldNumWorkers);
         } catch (\Exception $e) {
             // it is ok if this fails. then it is most likely not enabled etc.
         }
     }
 }