summaryrefslogblamecommitdiffstats
path: root/application/modules/user/forms/Bootiso.php
blob: a7f931188dfc20e7fa6ac5ae9821a87600d56192 (plain) (tree)

















































































































                                                                                                
<?php

class user_Form_Bootiso extends Zend_Form
{

	private $prebootlist;
	private $groupdepth;
	private $action;
	private $rights;
	
    public function setRights($rights){
    	$this->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"'
        ));  

    }

	
}