X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2Fform%2FFormElement.class.php;h=0443e6c9ac84306f18f8e6891241c2a53a09f4a2;hb=75a1eedb8977b8f2db459128bab9aaf367e3b58b;hp=fde8b40094ab30464cb0e803b2e2b3b0e9791764;hpb=5532fe6cfc2125063ff8040cfa80e20089ac64b0;p=timetracker.git diff --git a/WEB-INF/lib/form/FormElement.class.php b/WEB-INF/lib/form/FormElement.class.php index fde8b400..0443e6c9 100644 --- a/WEB-INF/lib/form/FormElement.class.php +++ b/WEB-INF/lib/form/FormElement.class.php @@ -38,67 +38,64 @@ class FormElement { var $on_click = ''; // What happens when the control is clicked. var $label = ''; // Optional label for control. var $style = ''; // Control style. + var $enabled = true; // Whether the control is enabled. + var $class = 'FormElement'; // PHP class name for the element. + var $cssClass = null; // CSS class name for the element. - // TODO: refactoring ongoing down from here. - var $mEnabled = true; - var $cClassName = "FormElement"; - var $mI18n = null; - - function __construct() { - } - - function getClass() { return $this->cClassName; } - - function setName($name) { $this->name = $name; } - function getName() { return $this->name; } - - function setFormName($name) { $this->form_name = $name; } - function getFormName() { return $this->form_name; } - - function setValue($value) { $this->value = $value;} - function getValue() { return $this->value; } - - function setValueSafe($value) { $this->value = $value;} - function getValueSafe() { return $this->value; } - - function setId($id) { $this->id = $id; } - function getId() { return $this->id; } - - function setSize($value) { $this->size = $value; } - function getSize() { return $this->size; } - - function setLabel($label) { $this->label = $label; } - function getLabel() { return $this->label; } - - function setMaxLength($value) { $this->max_length = $value; } - function getMaxLength() { return $this->max_length; } - - function setStyle($value) { $this->style = $value; } - function getStyle() { return $this->style; } - - function setEnable($flag) { $this->mEnabled = $flag; } - function isEnable() { return $this->mEnabled; } - - function setOnChange($str) { $this->on_change = $str; } - function setOnClick($str) { $this->on_click = $str; } - - function setLocalization($i18n) { - $this->mI18n = $i18n; - } - - function toStringControl() { - return ""; - } - - function toStringLabel() { - return ""; - } - - function toArray() { - return array( - "label"=>$this->toStringLabel(), - "control"=>$this->toStringControl() - ); - } + function __construct() { + } + function getName() { return $this->name; } + function getClass() { return $this->class; } + function getCssClass() { return $this->cssClass; } + function setCssClass($cssClass) { $this->cssClass = $cssClass; } + + function setFormName($name) { $this->form_name = $name; } + function getFormName() { return $this->form_name; } + + function setValue($value) { $this->value = $value; } + function getValue() { return $this->value; } + + // Safe function variations are used to store/read values in/from user session for further reuse. + // They may convert data in derived classes to some standard form. For example, floats are stored + // with a dot delimiter (not comma), and dates are stored in DB_DATEFORMAT. + // This allows to reuse data in session even when user changes the deliminter or date format. + function setValueSafe($value) { $this->value = $value;} + function getValueSafe() { return $this->value; } + + function setId($id) { $this->id = $id; } + function getId() { return $this->id; } + + function setSize($value) { $this->size = $value; } + function getSize() { return $this->size; } + + function setLabel($label) { $this->label = $label; } + function getLabel() { return $this->label; } + + function setMaxLength($value) { $this->max_length = $value; } + function getMaxLength() { return $this->max_length; } + + function setStyle($value) { $this->style = $value; } + function getStyle() { return $this->style; } + + function setEnabled($flag) { $this->enabled = $flag; } + function isEnabled() { return $this->enabled; } + + function setOnChange($str) { $this->on_change = $str; } + function setOnClick($str) { $this->on_click = $str; } + + function localize() {} // Localization occurs in derived classes and is dependent on control type. + // For example, in calendar control we need to localize day and month names. + + // getHtml returns HTML for the element. + function getHtml() { return ''; } + + // getLabelHtml returns HTML code for element label. + function getLabelHtml() { return ''; } + + function toArray() { + return array( + 'label'=>$this->getLabelHtml(), + 'control'=>$this->getHtml()); + } }