Exemplo n.º 1
0
 /**
  * @return Application_Model_ServerSetting2Server[]
  */
 public function getServerSettings()
 {
     if ($this->_serverSettings === null) {
         $serverSettings = $this->_getServerSetting2ServerMapper()->fetchAll(array('server_id = ?' => $this->getId()));
         $allPossibleServerSettings = $this->_getServerSettingMapper()->fetchAll(array('server_type_id = ? OR server_type_id IS NULL' => $this->getServerTypeId()));
         $allPossibleServerSettingIds = array_map(function ($serverSetting) {
             /** @var $serverSetting Application_Model_ServerSetting */
             return $serverSetting->getId();
         }, $allPossibleServerSettings);
         $serverSettingIds = array_map(function ($serverSetting) {
             /** @var $serverSetting Application_Model_ServerSetting2Server */
             return $serverSetting->getSettingId();
         }, $serverSettings);
         $missingServerSettingIds = array_diff($allPossibleServerSettingIds, $serverSettingIds);
         foreach ($missingServerSettingIds as $missingServerSettingId) {
             $serverSetting = new Application_Model_ServerSetting2Server();
             $serverSetting->setFromArray(array('server_id' => $this->getId(), 'setting_id' => $missingServerSettingId));
             $serverSettings[] = $serverSetting;
         }
         $this->_serverSettings = $serverSettings;
     }
     return $this->_serverSettings;
 }
Exemplo n.º 2
0
 protected function _getElementForServerSetting(Application_Model_ServerSetting2Server $serverSetting)
 {
     $name = $serverSetting->getSetting()->getName();
     switch ($name) {
         case 'MaxUser':
             $element = new \SAP\Form\Element\Text($name);
             $element->setRequired(true)->setAllowEmpty(false)->addValidator(new Zend_Validate_Int(), true)->addValidator(new Zend_Validate_GreaterThan(0));
             break;
         case 'Password':
             $element = new \SAP\Form\Element\Text($name);
             $element->setRequired(true)->setAllowEmpty(false)->addValidator(new Zend_Validate_Alnum(false));
             break;
         case 'PortBase':
             $element = new \SAP\Form\Element\Text($name);
             $element->setRequired(true)->setAllowEmpty(false)->addValidator(new Zend_Validate_Int(), true)->addValidator(new Zend_Validate_GreaterThan(1024));
             break;
         case 'ShowLastSongs':
             $element = new \SAP\Form\Element\Text($name);
             $element->setRequired(true)->setAllowEmpty(false)->addValidator(new Zend_Validate_Int(), true)->addValidator(new Zend_Validate_GreaterThan(0))->addValidator(new Zend_Validate_LessThan(21));
             break;
         case 'SrcIP':
             $element = new \SAP\Form\Element\Text($name);
             $element->setRequired(true)->setAllowEmpty(false)->addValidator(new Zend_Validate_Callback(array($this, 'validateIpOrAny')));
             break;
         case 'AdminPassword':
             $element = new \SAP\Form\Element\Text($name);
             $element->setRequired(true)->setAllowEmpty(false)->addValidator(new Zend_Validate_Alnum(false));
             break;
         case 'AutoDumpUsers':
             $element = new Zend_Form_Element_Checkbox($name);
             $element->setRequired(true)->setAllowEmpty(false);
             break;
         case 'AutoDumpSourceTime':
             $element = new \SAP\Form\Element\Text($name);
             $element->setRequired(true)->setAllowEmpty(false)->addValidator(new Zend_Validate_Int())->addValidator(new Zend_Validate_GreaterThan(0));
             break;
         case 'IntroFile':
             $element = new \SAP\Form\Element\Text($name);
             break;
         case 'BackupFile':
             $element = new \SAP\Form\Element\Text($name);
             break;
         case 'TitleFormat':
             $element = new \SAP\Form\Element\Text($name);
             break;
         case 'URLFormat':
             $element = new \SAP\Form\Element\Text($name);
             break;
         case 'PublicServer':
             $element = new Zend_Form_Element_Select($name);
             $element->setRequired(true)->setAllowEmpty(false)->setMultiOptions(array('default', 'always', 'never'));
             break;
         case 'AllowRelay':
             $element = new Zend_Form_Element_Checkbox($name);
             $element->setRequired(true)->setAllowEmpty(false);
             break;
         case 'AllowPublicRelay':
             $element = new Zend_Form_Element_Checkbox($name);
             $element->setRequired(true)->setAllowEmpty(false);
             break;
         case 'MetaInterval':
             $element = new \SAP\Form\Element\Text($name);
             $element->setRequired(true)->setAllowEmpty(false)->addValidator(new Zend_Validate_Int());
             break;
     }
     $element->setLabel($name)->setValue($serverSetting->getValue());
     return $element;
 }