action = $action; } public function setPrebootlist($prebootlist) { $this->prebootlist = $prebootlist; } public function setGroupdepth($groupdepth) { $this->groupdepth = $groupdepth; } public function setPage($p) { $this->page = $p; } public function init() { $this->setName($this->action); $this->setMethod('post'); if (!Pbs_Acl::checkRight('be') && $this->action == 'editbootiso') { $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:', )); $this->addElement('textarea', 'description', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 50)), ), 'required' => false, 'rows' => 5, 'cols' => 50, 'label' => 'Description:', )); $preboottypefield = $this->createElement('select', 'preboottypeID'); $preboottypefield->setLabel('Type:'); $preboottypefield->setAttrib('readOnly', $meta); $preboottypefield->setAttrib('onChange', "document.getElementById('".$this->action."').submit();"); $preboottypefield->setValue($_POST['preboottypeID']); foreach($this->preboottype as $k => $pt) { $preboottypefield->addMultiOption($pt->getID(), $pt->getName()); } $this->addElement($preboottypefield); $serial = time(); for($i = 2; $i < 14; $i += 3) { $serial = substr($serial, 0, $i) .'-'. substr($serial, $i, strlen($serial)); } $this->addElement('text', 'serialnumber', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 50)), ), 'required' => true, 'size' => 50, 'label' => 'Serialnumber:', 'readOnly' => $meta, 'value' => $serial )); $date = new DateTime(); $date->add(new DateInterval('P1Y')); $this->addElement('text', 'expires', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 50)), ), 'required' => false, 'label' => 'Expires:', 'readOnly' => $meta, 'value' => $date->format('Y-m-d'), )); $publicfield = $this->createElement('select', 'public'); $publicfield->setLabel('Public:'); $publicfield->addMultiOption(-1, 'X. Not Visible'); $publicfield->addMultiOption(0, '0. Eigene Gruppe'); $publicfield->setAttrib('readOnly', $meta); $publicfield->setAttrib('id', 'depth'); $publicfield->setAttrib('onchange', "$('#groups .v1').show();changeDepth();"); for($i = 1; $i < $this->groupdepth; $i++) { $publicfield->addMultiOption($i, "$i. Untergruppe"); } $publicfield->setRegisterInArrayValidator(false); $this->addElement($publicfield); if($this->action == "createbootiso") { $label = "Create BootMedium"; } else { $label = "Edit BootMedium"; } $this->addElement('submit', $this->action, array( 'required' => false, 'ignore' => true, 'label' => $label, )); $this->addElement('button', 'Cancel', array( 'onclick' => 'self.location="/user/bootiso/index/page/'.$this->page.'"' )); ?>