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);
}
}