summaryrefslogtreecommitdiffstats
path: root/application/modules/user/forms/Config.php
blob: 1d07e5acb2a4baf95862a18ab66094588f5dc90c (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

<? 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 user_Form_Config extends Zend_Form {

  private $action;
  private $page;
  private $type;

  public function setAction($action) {
    $this->action = $action;
  }
  public function setPage($p) {
    $this->page = $p;
  }
  public function setType($type) {
    $this->type = $type;
  }

  public function init() {
    $this->setName($this->action);
    $this->setMethod('post');

    if (!Pbs_Acl::checkRight('ce') && $this->action == 'editconfig')
      { $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:',
                      ));

    if($this->type == 'group') {
      $visible = $this->createElement('checkbox', 'visible');
      $visible->setLabel('Visible:');
      $visible->setAttrib('readOnly', $meta);
      $this->addElement($visible);
    }

    if($this->action == "createconfig")
      { $label = "Create Config"; }
    else
      { $label = "Edit Config"; }

    $this->addElement('submit', $this->action, array(
                        'required' => false,
                        'ignore'   => true,
                        'label'    => $label
                      ));

    $this->addElement('button', 'Cancel', array(
                        'onclick' => 'self.location="/user/config/index/type/'.$this->type.'/page/'.$this->page.'"'
                      ));

  }

}
? >