rights = $rights; } public function setAction($action){ $this->action = $action; } public function setPrebootlist($prebootlist){ $this->prebootlist = $prebootlist; } public function setGroupdepth($groupdepth){ $this->groupdepth = $groupdepth; } public function init() { $this->setName($this->action); $this->setMethod('post'); if ($this->rights == 'meta') $meta = true; $this->addElement('text', 'title', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 50)), ), 'required' => true, 'label' => 'Title:', )); $prebootfield = $this->createElement('select','prebootID'); $prebootfield->setLabel('Preboot:'); $prebootfield->setAttrib('readOnly', $meta); if(count($this->prebootlist)>0){ foreach($this->prebootlist as $preboot => $p){ $prebootfield->addMultiOption($p->getID(), $p->getTitle()); } } $prebootfield->setRegisterInArrayValidator(false); $this->addElement($prebootfield); $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(0, '0. Eigene Gruppe'); $publicfield->setAttrib('readOnly', $meta); for($i=1; $i<$this->groupdepth; $i++){ $publicfield->addMultiOption($i, "$i. Untergruppe"); } $publicfield->setRegisterInArrayValidator(false); $this->addElement($publicfield); if($this->action == "createbootiso") $label = "Create Bootiso"; else $label = "Edit Bootiso"; $this->addElement('submit', $this->action, array( 'required' => false, 'ignore' => true, 'label' => $label, )); $this->addElement('button', 'Cancel', array( 'onclick' => 'self.location="/user/bootiso"' )); } }