mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-17 15:59:06 +01:00
LSattr_html: add $singleValue class variable to handle this common case
Also unify the usage of the class variable $LSformElement_type.
This commit is contained in:
parent
99f5cc3728
commit
2fa20316bc
4 changed files with 30 additions and 52 deletions
|
@ -29,11 +29,24 @@ LSsession :: loadLSclass('LSlog_staticLoggerClass');
|
|||
*/
|
||||
class LSattr_html extends LSlog_staticLoggerClass {
|
||||
|
||||
// The attribute name
|
||||
var $name;
|
||||
|
||||
// The attribute configuration
|
||||
var $config;
|
||||
|
||||
// The reference of the parent LSattribute object
|
||||
var $attribute;
|
||||
|
||||
// The corresponding LSformElement object type
|
||||
var $LSformElement_type = false;
|
||||
|
||||
// If true, this LSattr_html type is considered as able to only support
|
||||
// the first and unique value of the attribute. If more than one value
|
||||
// is passed to this LSattr_html type, an LSattr_html_03 error will be
|
||||
// triggered.
|
||||
protected $singleValue = false;
|
||||
|
||||
/**
|
||||
* Constructeur
|
||||
*
|
||||
|
@ -94,8 +107,16 @@ class LSattr_html extends LSlog_staticLoggerClass {
|
|||
LSerror :: addErrorCode('LSform_06',$this -> name);
|
||||
return;
|
||||
}
|
||||
if (!is_null($data))
|
||||
$element -> setValue($data);
|
||||
if (!is_null($data)) {
|
||||
$data = ensureIsArray($data);
|
||||
if ($this -> singleValue) {
|
||||
if (count($data) > 1)
|
||||
LSerror :: addErrorCode('LSattr_html_03', get_class($this));
|
||||
$element -> setValue($data[0]);
|
||||
}
|
||||
else
|
||||
$element -> setValue($data);
|
||||
}
|
||||
return $element;
|
||||
}
|
||||
|
||||
|
@ -144,5 +165,5 @@ ___("LSattr_html : The method addToForm() of the HTML type of the attribute %{at
|
|||
);
|
||||
// 02 : not yet used
|
||||
LSerror :: defineError('LSattr_html_03',
|
||||
___("LSattr_html_%{type} : Multiple data are not supported for this field type.")
|
||||
___("%{type} : Multiple data are not supported for this field type.")
|
||||
);
|
||||
|
|
|
@ -27,29 +27,7 @@
|
|||
*/
|
||||
class LSattr_html_image extends LSattr_html {
|
||||
|
||||
/**
|
||||
* Ajoute l'attribut au formualaire passer en paramètre
|
||||
*
|
||||
* @param[in] &$form LSform Le formulaire
|
||||
* @param[in] $idForm L'identifiant du formulaire
|
||||
* @param[in] $data Valeur du champs du formulaire
|
||||
*
|
||||
* @retval LSformElement L'element du formulaire ajouté
|
||||
*/
|
||||
function addToForm (&$form, $idForm, $data=NULL) {
|
||||
$element=$form -> addElement('image', $this -> name, $this -> getLabel(), $this -> config, $this);
|
||||
if(!$element) {
|
||||
LSerror :: addErrorCode('LSform_06',$this -> name);
|
||||
return;
|
||||
}
|
||||
|
||||
if ($data && count($data) > 1) {
|
||||
LSerror :: addErrorCode('LSattr_html_03','password');
|
||||
}
|
||||
|
||||
if ($data)
|
||||
$element -> setValue(ensureIsArray($data)[0]);
|
||||
return $element;
|
||||
}
|
||||
var $LSformElement_type = 'image';
|
||||
protected $singleValue = true;
|
||||
|
||||
}
|
||||
|
|
|
@ -27,29 +27,7 @@
|
|||
*/
|
||||
class LSattr_html_password extends LSattr_html {
|
||||
|
||||
/**
|
||||
* Ajoute l'attribut au formualaire passer en paramètre
|
||||
*
|
||||
* @param[in] &$form LSform Le formulaire
|
||||
* @param[in] $idForm L'identifiant du formulaire
|
||||
* @param[in] $data Valeur du champs du formulaire
|
||||
*
|
||||
* @retval LSformElement L'element du formulaire ajouté
|
||||
*/
|
||||
public function addToForm (&$form,$idForm,$data=NULL) {
|
||||
$element = $form -> addElement('password', $this -> name, $this -> getLabel(), $this -> config, $this);
|
||||
if(!$element) {
|
||||
LSerror :: addErrorCode('LSform_06', $this -> name);
|
||||
return;
|
||||
}
|
||||
|
||||
if ($data) {
|
||||
$data = ensureIsArray($data);
|
||||
if (count($data) > 1)
|
||||
LSerror :: addErrorCode('LSattr_html_03', 'password');
|
||||
$element -> setValue($data[0]);
|
||||
}
|
||||
return $element;
|
||||
}
|
||||
var $LSformElement_type = 'password';
|
||||
protected $singleValue = true;
|
||||
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
*/
|
||||
class LSattr_html_select_object extends LSattr_html{
|
||||
|
||||
var $LSformElement_type = 'select_object';
|
||||
var $unrecognizedValues=false;
|
||||
|
||||
/**
|
||||
|
@ -40,7 +41,7 @@ class LSattr_html_select_object extends LSattr_html{
|
|||
*/
|
||||
public function addToForm (&$form,$idForm,$data=NULL) {
|
||||
$this -> config['attrObject'] = $this;
|
||||
$element=$form -> addElement('select_object', $this -> name, $this -> getLabel(), $this -> config, $this);
|
||||
$element=$form -> addElement($this -> LSformElement_type, $this -> name, $this -> getLabel(), $this -> config, $this);
|
||||
if(!$element) {
|
||||
LSerror :: addErrorCode('LSform_06',$this -> name);
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue