summaryrefslogtreecommitdiffstats
path: root/application/modules/user/forms/Bootiso.php
blob: a7f931188dfc20e7fa6ac5ae9821a87600d56192 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?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"'
        ));  

    }

	
}