diff --git a/include/simpleplugin/attributes/class_IntAttribute.inc b/include/simpleplugin/attributes/class_IntAttribute.inc index d54cab6bb72cd5a960e8124596a1bcd75e294ad2..4ee6404f2bbe1ac649663f86b27e12e8cd34e0ba 100644 --- a/include/simpleplugin/attributes/class_IntAttribute.inc +++ b/include/simpleplugin/attributes/class_IntAttribute.inc @@ -120,12 +120,13 @@ class IntAttribute extends Attribute function renderTemplateInput () { $id = $this->getHtmlId(); - $display = $this->renderInputField( - 'text', $id, - array( - 'value' => '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}' - ) + $attributes = array( + 'value' => '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}' ); + if ($this->isSubAttribute) { + $attributes['class'] = 'subattribute'; + } + $display = $this->renderInputField('text', $id, $attributes); return $this->renderAcl($display); } } diff --git a/include/simpleplugin/attributes/class_StringAttribute.inc b/include/simpleplugin/attributes/class_StringAttribute.inc index a51f6406861a4aebb982aaa4e36b8d8f403b0089..9ea60c5cb0a104fc571d0d00992a4b5186346f0f 100644 --- a/include/simpleplugin/attributes/class_StringAttribute.inc +++ b/include/simpleplugin/attributes/class_StringAttribute.inc @@ -91,6 +91,22 @@ class StringAttribute extends Attribute return $this->renderAcl($display); } + function renderTemplateInput () + { + $id = $this->getHtmlId(); + $attributes = array( + 'value' => '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}' + ); + if ($this->autocomplete !== NULL) { + $attributes['autocomplete'] = ($this->autocomplete ? 'on' : 'off' ); + } + if ($this->isSubAttribute) { + $attributes['class'] = 'subattribute'; + } + $display = $this->renderInputField('text', $id, $attributes); + return $this->renderAcl($display); + } + function fixPostValue ($value) { /* Replace CRLF by LF, to avoid non-ASCII chars in multiline values (mainly useful for textarea) */ @@ -166,6 +182,17 @@ class TextAreaAttribute extends StringAttribute '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}</textarea>'; return $this->renderAcl($display); } + + function renderTemplateInput () + { + $id = $this->getHtmlId(); + $display = '<textarea name="'.$id.'" id="'.$id.'"'. + ($this->disabled ? ' disabled="disabled"' : ''). + ($this->isSubAttribute ? ' class="subattribute"' : ''). + '>'. + '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}</textarea>'; + return $this->renderAcl($display); + } } /*! \brief This class allow to handle easily a String LDAP attribute that contains a password @@ -174,25 +201,14 @@ class TextAreaAttribute extends StringAttribute class PasswordAttribute extends StringAttribute { protected $autocomplete = FALSE; + protected $inputType = 'password'; function renderFormInput () { - $id = $this->getHtmlId(); - $display = $this->renderInputField( - 'password', $id, - array( - 'value' => '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}', - 'autocomplete' => ($this->autocomplete ? 'on' : 'off'), - ) - ); + $display = parent::renderFormInput(); if ($this->autocomplete === FALSE) { $display = '{literal}<input autocomplete="off" value="foolautocompleteworkaround" type="text" style="display:none;"/>{/literal}'.$display; } - return $this->renderAcl($display); - } - - function renderTemplateInput () - { - return parent::renderFormInput(); + return $display; } }