summaryrefslogtreecommitdiffstats
path: root/application/modules/dev/forms/BootisoCreate.php
blob: eed1e87f4685a236f47a598ef1df549c23fbd6e7 (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
115
116
117
<? php
/*
 * Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg
* This program is free software distributed under the GPL version 2.
* See http://gpl.openslx.org/
*
* If you have any feedback please consult http://feedback.openslx.org/ and
* send your suggestions, praise, or complaints to feedback@openslx.org
*
* General information about OpenSLX can be found at http://openslx.org/
*/

class dev_Form_BootisoCreate extends Zend_Form {

  private $grouplist;
  private $prebootlist;

  public function setGrouplist($grouplist) {
    $this->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"'
                      ));

  }


}