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:', )); $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(-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.'"' )); ? > < script type = "text/javascript" > $(document).ready(function() { changeDepth(); $('#groups .v1').show(); }); function changeDepth() { i = $("#depth option:selected").val(); $('#depthimg').attr('src', '/stats/graphgroup/level/' + i); } < / script > < div id = 'groups' style = 'text-align: center;' > < div class = 'v1' > < img alt = 'Please select a public level' id = 'depthimg' src = '/stats/graphgroup/level/0' / > < / div > < / div >