initIds('generalSection'); $this->resourceManager = new ResourceManager(); $this->initFields(); } public function initFields() { /** * @deprecated * * //name $field = new Text('name'); $field->addValidator(new HostnameValidator()); $field->setDescription('description'); $this->addField($field); //description $field = new Textarea('description'); $field->setDescription('tip'); $this->addField($field); //osTemplate $field = new OsTemplateSelect('osTemplate'); $field->notEmpty(); $this->addField( $field); //ipv4 if($this->configuration()->isPermissionIpv4()){ $field = new Text('ipv4'); $field->addValidator(new NumberValidator($this->resourceManager->ipv4()->getMin(), $this->resourceManager->ipv4()->free(),false)); $field->setDefaultValue($this->configuration()->serverIpv4->min); $field->setDescription('description'); $this->addField($field); } //ipv6 if($this->configuration()->isPermissionIpv6()){ $field = new Text('ipv6'); $field->addValidator(new NumberValidator($this->resourceManager->ipv6()->getMin(), $this->resourceManager->ipv6()->free(),false)); $field->setDefaultValue($this->configuration()->serverIpv6->min); $field->setDescription('description'); $this->addField($field); } */ $cpuPrioryty = $this->configuration()->hasCpuPriority(); //location if($this->configuration()->getLocations()){ $field = new Select('location'); $field->notEmpty(); $field->setDescription('description'); $this->addField($field); } //cores if($this->configuration()->isPermissionCores()){ $field = new Text('cores'); $field->addValidator(new NumberValidator($this->resourceManager->cores()->getMin(), $this->resourceManager->cores()->free(),true)); $field->setDefaultValue($this->configuration()->serverCores->min); $field->setDescription('description'); $this->addField($field); } //cpu priority if($cpuPrioryty){ $field = new Range('cpuPriority', $this->resourceManager->cpuPriority()->getMin(), $this->resourceManager->cpuPriority()->free()); $field->addValidator(new NumberValidator($this->resourceManager->cpuPriority()->getMin(), $this->resourceManager->cpuPriority()->free(),true)); $field->setDefaultValue($this->resourceManager->cpuPriority()->free() >= 3 ? 3 : 1); $field->addHtmlAttribute('data-label1', sl('lang')->abtr("Very Low")); $field->addHtmlAttribute('data-label2', sl('lang')->abtr("Low")); $field->addHtmlAttribute('data-label3', sl('lang')->abtr("Normal")); $field->addHtmlAttribute('data-label4', sl('lang')->abtr("High")); $field->addHtmlAttribute('data-label5', sl('lang')->abtr("Medium")); $field->setDescription('description'); $this->addField($field); } //cpulimit if($this->configuration()->isPermissionCpuLimit() && !$cpuPrioryty){ $field = new Text('cpulimit'); $field->addValidator(new CpulimitValidator($this->resourceManager->cpulimit()->getMin(), $this->resourceManager->cpulimit()->free(),true)); $field->setDefaultValue($this->configuration()->serverCpulimit->min); $field->setDescription('description'); $this->addField($field); } //cpuunits if($this->configuration()->isPermissionCpuunits() && !$cpuPrioryty){ $field = new Text('cpuunits'); $field->addValidator(new NumberValidator($this->resourceManager->cpuunits()->getMin(), $this->resourceManager->cpuunits()->free(),true)); $field->setDefaultValue($this->configuration()->serverCpuunit->min); $field->setDescription('description'); $this->addField($field); } //memory $field = new Text('memory'); $field->addValidator(new NumberValidator($this->resourceManager->memory()->getMin(), $this->resourceManager->memory()->free(),true)); $field->setDefaultValue($this->configuration()->serverMemory->min); $field->setDescription('description'); $this->addField($field); //swap lxc only if($this->configuration()->isPermissionSwap()){ $field = new Text('swap'); $field->addValidator(new NumberValidator($this->resourceManager->swap()->getMin(), $this->resourceManager->swap()->free(),true)); $field->setDefaultValue($this->configuration()->serverSwap->min); $field->setDescription('description'); $this->addField($field); } //disk $field = new Text('disk'); $field->addValidator(new DiskSizeValidator('additionalDiskSize',true)); $field->setDefaultValue($this->configuration()->serverDiskSize->min); $field->setDescription('description'); $this->addField($field); //password if($this->configuration()->isPermissionPassword()){ $field = new Text('password'); $field->addValidator(new PasswordValidator()); $field->setDescription('description'); $this->addField($field); } //sshkey if($this->configuration()->isPermissionSshkeys() && !$this->configuration()->isSshKeyPairs()){ $field = new Textarea('sshkeys'); $field->addValidator(new SshPublicKeyValidator(false)); $field->setDescription('description'); $this->addField($field); } //dnsdomain if($this->configuration()->isPermissionSearchdomain()){ $field = new Text('searchdomain'); $field->addValidator(new HostnameValidator(false)); $field->setDescription('description'); $this->addField($field); } if($this->configuration()->isPermissionNameservers()){ //ns1 $field = new Text('nameserver[0]'); $field->addValidator(new IpAddressValidator()); $field->setDescription('description'); $this->addField($field); //ns2 $field = new Text('nameserver[1]'); $field->addValidator(new IpAddressValidator()); $field->setDescription('description'); $this->addField($field); } } }