grouplist = $grouplist; } public function setPrebootlist($prebootlist) { $this->prebootlist = $prebootlist; } public function init() { $this->setName("BootIsoCreate"); $this->setMethod('post'); $this->addElement('text', 'title', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 50)), ), 'required' => true, 'label' => 'Title:', )); $groupfield = $this->createElement('select', 'groupID'); $groupfield ->setLabel('Group:'); if(count($this->grouplist) > 0) { foreach($this->grouplist as $group => $g) { $groupfield->addMultiOption($g->getID(), $g->getTitle()); } } $groupfield->setRegisterInArrayValidator(false); $this->addElement($groupfield); $prebootfield = $this->createElement('select', 'prebootID'); $prebootfield ->setLabel('Preboot:'); 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:', '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:', 'value' => $date->format('Y-m-d'), )); $this->addElement('text', 'public', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 50)), ), 'required' => true, 'label' => 'Public-Level:', 'value' => '0' )); $this->addElement('submit', 'createbootiso', array( 'required' => false, 'ignore' => true, 'label' => 'Create BootISO', )); $this->addElement('button', 'Cancel', array( 'onclick' => 'self.location="/dev/bootiso"' )); } }