leftSection = new HalfPageSection('leftSection'); $this->rightSection = new HalfPageSection('rightSection'); $this->addSection($this->leftSection) ->addSection($this->rightSection); $this->initFields(); } private function initFields() { //Start $field = new Switcher('customconfigoption[permissionStart]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->leftSection->addField($field); //Reboot $field = new Switcher('customconfigoption[permissionReboot]'); $field->setDescription('tip'); $field->setDefaultValue("on"); $this->rightSection->addField($field); //Stop $field = new Switcher('customconfigoption[permissionStop]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->leftSection->addField($field); //Shutdown $field = new Switcher('customconfigoption[permissionShutdown]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->rightSection->addField($field); //noVNC Console $field = new Switcher('customconfigoption[permissionNovnc]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->leftSection->addField($field); //SPICE Console $field = new Switcher('customconfigoption[permissionSpice]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->rightSection->addField($field); //xterm.js Console $field = new Switcher('customconfigoption[permissionXtermjs]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->leftSection->addField($field); //Reinstallation $field = new Switcher('customconfigoption[permissionReinstall]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->rightSection->addField($field); //OS Templates $field = new Select('customconfigoption[permissionOsTemplates][]'); $field->setDescription('tip'); $field->enableMultiple(); $this->rightSection->addField($field); //MRTG Graphics $field = new Switcher('customconfigoption[permissionGraph]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->leftSection->addField($field); //Backup $field = new Switcher('customconfigoption[permissionBackup]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->rightSection->addField($field); //Scheduled Backup Jobs $field = new Switcher('customconfigoption[permissionBackupJob]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->leftSection->addField($field); //Task History $field = new Switcher('customconfigoption[permissionTaskHistory]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->rightSection->addField($field); //Network $field = new Switcher('customconfigoption[permissionNetwork]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->leftSection->addField($field); //Snapshots $field = new Switcher('customconfigoption[permissionSnapshot]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->rightSection->addField($field); //Firewall $field = new Switcher('customconfigoption[permissionFirewall]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->leftSection->addField($field); //Firewall Options $field = new Switcher('customconfigoption[permissionFirewallOption]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->rightSection->addField($field); //Disks Management $field = new Switcher('customconfigoption[permissionDisk]'); $field->setDefaultValue("on"); $field->setDescription('tip'); $this->leftSection->addField($field); //Snapshot Jobs $field = new Switcher('customconfigoption[permissionSnapshotJob]'); $field->setDescription('tip'); $field->setDefaultValue("on"); $this->leftSection->addField($field); //How Often $field = new Select('customconfigoption[permissionSnapshotJobPeriod][]'); $field->setDescription('tip'); $field->enableMultiple(); $this->rightSection->addField($field); //permissionfirewalOptions $field = new Select("customconfigoption[permissionFirewalOptions][]"); $field->enableMultiple(); $field->setDescription('description'); $this->addField($field); } public function addField($field){ $total = count($this->leftSection->getFields()) + count($this->rightSection->getFields()); if($total % 2 == 0){ $this->leftSection->addField($field); }else{ $this->rightSection->addField($field); } return $this; } }