diff options
Diffstat (limited to 'application/modules/user/forms/BootosUser.php')
| -rw-r--r-- | application/modules/user/forms/BootosUser.php | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/application/modules/user/forms/BootosUser.php b/application/modules/user/forms/BootosUser.php new file mode 100644 index 0000000..d5700d5 --- /dev/null +++ b/application/modules/user/forms/BootosUser.php @@ -0,0 +1,161 @@ + <?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_BootosUser extends Zend_Form +{ + + private $action; + private $type; + private $configID; + private $hometype; + + public function setAction($action){ + $this->action = $action; + } + public function setType($type){ + $this->type = $type; + } + public function setConfigID($configID){ + $this->configID = $configID; + } + public function setHometype($hometype){ + $this->hometype = $hometype; + } + + + public function init() + { + $this->setName($this->action); + $this->setMethod('post'); + + if (!Pbs_Acl::checkRight('ce') && $this->action == 'editbootosuser') + $meta = true; + else + $meta = null; + + if(!isset($_POST['hometypeID'])){ + $_POST['hometypeID'] = '0'; + } + + $this->addElement('text', 'login', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'required' => true, + 'label' => 'Login-Name:', + 'value' => $_POST['login'], + 'description' => 'Tip: Use %username% as a Wildcard' + )); + + $this->addElement('password', 'password', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(6)), + ), + 'required' => true, + 'label' => 'Password:', + 'errorMessages' => array('Please enter a password with more than 6 characters') + )); + + $this->addElement('password', 'repeat_password', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(6)), + ), + 'required' => true, + 'label' => 'Repeat Password:', + 'errorMessages' => array('Please repeat the password correctly'), + 'description' => 'Tip: Use %password% as a Wildcard' + )); + + + + $hometypefield = $this->createElement('select','hometypeID'); + $hometypefield->setLabel('Hometype:'); + $hometypefield->setAttrib('readOnly', $meta); + $hometypefield->setAttrib('onChange', "document.getElementById('".$this->action."').submit();"); + $hometypefield->setValue($_POST['hometypeID']); + foreach($this->hometype as $k => $ht){ + $hometypefield->addMultiOption($ht->getID(), $ht->getName()); + } + + $this->addElement($hometypefield); + + if($_POST['hometypeID'] == 0){ + $this->addElement('text', 'homepath', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'required' => true, + 'label' => 'Home-Path:', + 'size' => '30', + 'readOnly' => true, + 'value' => '/home/%login-name%' + )); + }elseif($_POST['hometypeID'] == 1){ + $this->addElement('text', 'homepath', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'required' => true, + 'label' => 'Home-Path:', + 'size' => '30', + 'readOnly' => true, + 'value' => 'usbstick://home/%login-name%' + )); + }else{ + $this->addElement('text', 'homepath', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'size' => '30', + 'required' => true, + 'label' => 'Home-Path:', + 'readOnly' => $meta + )); + } + + if($this->action == "addbootosuser") + $label = "Add User"; + else + $label = "Edit User"; + + $this->addElement('submit', $this->action, array( + 'required' => false, + 'ignore' => true, + 'label' => $label + )); + + $this->addElement('button', 'Cancel', array( + 'onclick' => 'self.location="/user/config/showconfig/type/'.$this->type.'/configID/'.$this->configID.'"' + )); + + + $pbsNotifier = new Pbs_Notifier(); + echo $pbsNotifier->notify('Use <b>%username%</b> and <b>%password%</b> as Wildcards for Login and Password.','info'); + } + + public function isValid($data) + { + $this->getElement('repeat_password')-> + addValidator(new Zend_Validate_Identical($data['password'])); + + return parent::isValid($data); + } + +} +?> + |
