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 %username% and %password% 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); } } ?>