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.'"' )); echo Pbs_Notifier::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); } }