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