2007-07-19 12:40:28 +02:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Multi-line text area.
|
|
|
|
*/
|
|
|
|
class TextareaField extends FormField {
|
2007-08-13 13:54:44 +02:00
|
|
|
protected $rows, $cols, $disabled = false, $readonly = false;
|
2007-07-19 12:40:28 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Create a new multi-line text area field.
|
2007-08-27 07:13:43 +02:00
|
|
|
* @param $name Field name
|
|
|
|
* @param $title Field title
|
|
|
|
* @param $rows The number of rows
|
|
|
|
* @param $cols The number of columns
|
|
|
|
* @param $value The current value
|
|
|
|
* @param $form The parent form. Auto-set when the field is placed in a form.
|
2007-07-19 12:40:28 +02:00
|
|
|
*/
|
|
|
|
function __construct($name, $title = "", $rows = 5, $cols = 20, $value = "", $form = null) {
|
|
|
|
$this->rows = $rows;
|
|
|
|
$this->cols = $cols;
|
|
|
|
parent::__construct($name, $title, $value, $form);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Returns a <textarea> tag - used in templates.
|
|
|
|
*/
|
|
|
|
function Field() {
|
|
|
|
if($extraClass = trim($this->extraClass())) {
|
|
|
|
$classAttr = "class=\"$extraClass\"";
|
|
|
|
} else {
|
|
|
|
$classAttr = '';
|
|
|
|
}
|
|
|
|
|
2007-08-13 13:54:44 +02:00
|
|
|
$disabled = $this->disabled ? " disabled=\"disabled\"" : "";
|
|
|
|
$readonly = $this->readonly ? " readonly=\"readonly\"" : "";
|
|
|
|
|
|
|
|
return "<textarea $disabled$readonly $classAttr id=\"" . $this->id() . "\" name=\"{$this->name}\" rows=\"{$this->rows}\" cols=\"{$this->cols}\">".Convert::raw2att($this->value)."</textarea>";
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Performs a readonly transformation on this field. You should still be able
|
|
|
|
* to copy from this field, and it should still send when you submit
|
|
|
|
* the form it's attached to.
|
|
|
|
* The element shouldn't be both disabled and readonly at the same time.
|
|
|
|
*/
|
|
|
|
function performReadonlyTransformation() {
|
|
|
|
$this->readonly = true;
|
|
|
|
$this->disabled = false;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Performs a disabled transformation on this field. You shouldn't be able to
|
|
|
|
* copy from this field, and it should not send any data when you submit the
|
|
|
|
* form it's attached to.
|
|
|
|
* The element shouldn't be both disabled and readonly at the same time.
|
|
|
|
*/
|
|
|
|
function performDisabledTransformation() {
|
|
|
|
$this->disabled = true;
|
|
|
|
$this->readonly = false;
|
|
|
|
return $this;
|
|
|
|
}
|
2007-07-19 12:40:28 +02:00
|
|
|
}
|
|
|
|
?>
|