bootoslist = $bootoslist; } public function setMaxorder($maxorder){ $this->maxorder = $maxorder; } public function setConfiglist($configlist){ $this->configlist = $configlist; } public function setKcl($kcl){ $this->kcl = $kcl; } public function init() { if(!isset($_POST['bootosID'])){ $firstbootos = array_slice($this->bootoslist,0,1); $_POST['bootosID'] = $firstbootos[0]->getID(); if(isset($this->kcl)) $_POST['kclactive'] = true; else $_POST['kclactive'] = false; } $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($_POST['kclactive']); $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', 'editbootmenuentry', array( 'required' => false, 'ignore' => true, 'label' => 'Edit Bootmenuentry', )); $this->addElement('button', 'Cancel', array( 'onclick' => 'self.location="/dev/bootmenu"' )); } }