bootoslist = $bootoslist; } public function setMaxorder($maxorder) { $this->maxorder = $maxorder; } public function setConfiglist($configlist) { $this->configlist = $configlist; } public function init() { if(!isset($_POST['bootosID'])) { $firstbootos = array_slice($this->bootoslist, 0, 1); $_POST['bootosID'] = $firstbootos[0]->getID(); $_POST['kclactive'] = true; } $this->setName("BootMenuEntryAdd"); $this->setMethod('post'); $this->addElement('text', 'title', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 50)), ), 'required' => true, 'label' => 'Title:', )); $bootosfield = $this->createElement('select', 'bootosID'); $bootosfield ->setLabel('BootOs:'); $bootosfield->setAttrib('onChange', "document.getElementById('BootMenuEntryAdd').submit();"); if(count($this->bootoslist) > 0) { foreach($this->bootoslist as $bootos => $b) { $bootosfield->addMultiOption($b->getID(), $b->getTitle()); } } $bootosfield->setRegisterInArrayValidator(false); $this->addElement($bootosfield); $kclactive = $this->createElement('checkbox', 'kclactive'); $kclactive->setAttrib('onChange', "document.getElementById('BootMenuEntryAdd').submit();"); $kclactive->setLabel('Use default KCL:'); $kclactive->setValue(true); $this->addElement($kclactive); if($_POST['kclactive']) { $this->addElement('textarea', 'kcl', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 50)), ), 'required' => false, 'cols' => 50, 'rows' => 5, 'label' => 'KCL:', 'readOnly' => true, 'value' => $this->bootoslist[$_POST['bootosID']]->getDefaultkcl() )); } if($_POST['kclactive']) { $kcllength = 175 - strlen($this->bootoslist[$_POST['bootosID']]->getDefaultkcl()); } else { $kcllength = 175; } $this->addElement('textarea', 'kclappend', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, $kcllength)), ), 'required' => false, 'cols' => 50, 'rows' => 5, 'label' => 'KCL-Append:', 'description' => 'Chars left: ' . $kcllength )); $defaultconfigid = $this->bootoslist[$_POST['bootosID']]->getConfigID(); $configfield = $this->createElement('select', 'configID'); $configfield->setLabel('Config:'); $configfield->addMultiOption($defaultconfigid, 'default'); if(count($this->configlist) > 0) { foreach($this->configlist as $config => $c) { if($c->getID() != $defaultconfigid) { $configfield->addMultiOption($c->getID(), $c->getTitle()); } } } $configfield->setRegisterInArrayValidator(false); $this->addElement($configfield); $orderfield = $this->createElement('select', 'order'); $orderfield ->setLabel('Position:'); for ($i = 0; $i <= $this->maxorder; $i++) { $orderfield->addMultiOption($i, $i + 1); } $orderfield->setRegisterInArrayValidator(false); $this->addElement($orderfield); $this->addElement('submit', 'addbootmenuentry', array( 'required' => false, 'ignore' => true, 'label' => 'Add Bootmenuentry', )); $this->addElement('button', 'Cancel', array( 'onclick' => 'self.location="/dev/bootmenu"' )); } }