X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2Fform%2FFormElement.class.php;h=0443e6c9ac84306f18f8e6891241c2a53a09f4a2;hb=75a1eedb8977b8f2db459128bab9aaf367e3b58b;hp=6bdca866cafb12ae0c406a649e0d120f2d33bc27;hpb=2988c4c0c9eed1dd99cbdcbe29c3171db8fa54ba;p=timetracker.git diff --git a/WEB-INF/lib/form/FormElement.class.php b/WEB-INF/lib/form/FormElement.class.php index 6bdca866..0443e6c9 100644 --- a/WEB-INF/lib/form/FormElement.class.php +++ b/WEB-INF/lib/form/FormElement.class.php @@ -28,84 +28,74 @@ // FromElement is the base class for controls on forms. class FormElement { - var $id = ''; - var $name; - var $form_name = ''; - var $value = ''; - var $size = ''; - var $max_length = ''; - // TODO: refactoring ongoing down from here. - var $mOnSelect = ""; - var $mOnChange = ""; - var $mOnClick = ""; - var $mOnKeyPress = ""; - var $mOnFocus = ""; - var $mLabel = ""; - var $mStyle = ""; - var $mRenderable = true; - 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->mLabel = $label; } - function getLabel() { return $this->mLabel; } - - function setMaxLength($value) { $this->max_length = $value; } - function getMaxLength() { return $this->max_length; } - - function setStyle($value) { $this->mStyle = $value; } - function getStyle() { return $this->mStyle; } - - function setRenderable($flag) { $this->mRenderable = $flag; } - function isRenderable() { return $this->mRenderable; } - - function setEnable($flag) { $this->mEnabled = $flag; } - function isEnable() { return $this->mEnabled; } - - function setOnChange($str) { $this->mOnChange = $str; } - function setOnClick($str) { $this->mOnClick = $str; } - function setOnSelect($str) { $this->mOnSelect = $str; } - - function setLocalization($i18n) { - $this->mI18n = $i18n; - } - - function toStringControl() { - return ""; - } - - function toStringLabel() { - return ""; - } - - function toArray() { - return array( - "label"=>$this->toStringLabel(), - "control"=>$this->toStringControl() - ); - } + var $id = ''; // Control id. + var $name; // Control name. + var $form_name = ''; // Form name the control is in. + var $value = ''; // Value of the control. + var $size = ''; // Control size. + var $max_length = ''; // Max length of text in control. + var $on_change = ''; // What happens when value of control changes. + 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. + 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()); + } }