kcl = $kcl; } public function setAction($action){ $this->action = $action; } public function setBootoslist($bootoslist){ $this->bootoslist = $bootoslist; } public function setMaxorder($maxorder){ $this->maxorder = $maxorder; } public function setConfiglist($configlist){ $this->configlist = $configlist; } public function setPage($page){ $this->page = $page; } 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($this->action); $this->setMethod('post'); if (Pbs_Acl::checkRight('booeem')) $meta = true; else $meta = null; $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('".$this->action."').submit();"); $bootosfield->setAttrib('readOnly', $meta); 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('".$this->action."').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:', 'readOnly' => $meta, 'description' => 'Chars left: ' . $kcllength )); $defaultconfigid = $this->bootoslist[$_POST['bootosID']]->getConfigID(); $configfield = $this->createElement('select','configID'); $configfield->setLabel('Config:'); $configfield->addMultiOption($defaultconfigid, 'default'); $configfield->setAttrib('readOnly', $meta); 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:'); $orderfield->setAttrib('readOnly', $meta); for ($i = 0; $i <= $this->maxorder; $i++) { $orderfield->addMultiOption($i, $i+1); } $orderfield->setRegisterInArrayValidator(false); $this->addElement($orderfield); if($this->action == "addbootmenuentry") $label = "Add Bootmenuentry"; else $label = "Edit Bootmenuentry"; $this->addElement('submit', $this->action, array( 'required' => false, 'ignore' => true, 'label' => $label, )); $this->addElement('button', 'Cancel', array( 'onclick' => 'self.location="/user/bootmenu/index/page/'.$this->page.'"' )); } }