X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2Fform%2FFormElement.class.php;h=0443e6c9ac84306f18f8e6891241c2a53a09f4a2;hb=75a1eedb8977b8f2db459128bab9aaf367e3b58b;hp=260fbefd7c0d072086bcd5c4db64d8ce049fa7f4;hpb=f2870ac71e6ea7272c9ed93d82f401e2d5344697;p=timetracker.git diff --git a/WEB-INF/lib/form/FormElement.class.php b/WEB-INF/lib/form/FormElement.class.php index 260fbefd..0443e6c9 100644 --- a/WEB-INF/lib/form/FormElement.class.php +++ b/WEB-INF/lib/form/FormElement.class.php @@ -39,63 +39,63 @@ class FormElement { var $label = ''; // Optional label for control. var $style = ''; // Control style. var $enabled = true; // Whether the control is enabled. - var $class = 'FormElement'; // Class name for the element. + var $class = 'FormElement'; // PHP class name for the element. + var $cssClass = null; // CSS class name for the element. function __construct() { } + function getName() { return $this->name; } function getClass() { return $this->class; } + function getCssClass() { return $this->cssClass; } + function setCssClass($cssClass) { $this->cssClass = $cssClass; } - // TODO: refactoring ongoing down from here. - 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 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 setLocalization($i18n) { - } - - function toStringControl() { - return ""; - } - - function toStringLabel() { - return ""; - } - - function toArray() { - return array( - "label"=>$this->toStringLabel(), - "control"=>$this->toStringControl() - ); - } + 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()); + } }