diff --git a/lam/lib/html.inc b/lam/lib/html.inc
index 55688c02..0e122ee8 100644
--- a/lam/lib/html.inc
+++ b/lam/lib/html.inc
@@ -217,7 +217,25 @@ class htmlTableRow extends htmlElement {
$types = array();
echo "
\n";
for ($i = 0; $i < sizeof($this->cells); $i++) {
- echo "\n";
+ // check if alignment option was given
+ $align = '';
+ if ($this->cells[$i]->alignment !== null) {
+ switch ($this->cells[$i]->alignment) {
+ case htmlElement::ALIGN_BOTTOM:
+ $align = 'valign="bottom"';
+ break;
+ case htmlElement::ALIGN_TOP:
+ $align = 'valign="top"';
+ break;
+ case htmlElement::ALIGN_LEFT:
+ $align = 'align="left"';
+ break;
+ case htmlElement::ALIGN_RIGHT:
+ $align = 'align="right"';
+ break;
+ }
+ }
+ echo " | \n";
$types = array_merge($types, $this->cells[$i]->generateHTML($module, $input, $values, $restricted, $tabindex, $scope));
echo " | \n";
}
@@ -228,14 +246,12 @@ class htmlTableRow extends htmlElement {
}
/**
- * An extended input field that combines label, input field and help.
+ * A standard input field.
*
* @package metaHTML
*/
-class htmlTableExtendedInputField extends htmlElement {
+class htmlInputField extends htmlElement {
- /** Descriptive label */
- private $label;
/** unique field name */
private $fieldName;
/** field value */
@@ -244,24 +260,16 @@ class htmlTableExtendedInputField extends htmlElement {
private $fieldSize = 30;
/** field max length (default 255) */
private $fieldMaxLength = 255;
- /** help ID */
- private $helpID;
- /** required field */
- private $required = false;
/**
* Constructor
*
- * @param String $label descriptive label
* @param String $fieldName unique field name
* @param String $fieldValue value of input field (optional)
- * @param String $helpID help ID (optional)
*/
- function __construct($label, $fieldName, $fieldValue = null, $helpID = null) {
- $this->label = htmlspecialchars($label);
+ function __construct($fieldName, $fieldValue = null) {
$this->fieldName = htmlspecialchars($fieldName);
$this->fieldValue = htmlspecialchars($fieldValue);
- $this->helpID = $helpID;
}
/**
@@ -279,12 +287,6 @@ class htmlTableExtendedInputField extends htmlElement {
if (isset($values[$this->fieldName])) {
$this->fieldValue = $values[$this->fieldName][0];
}
- // print label text
- echo $this->label;
- if ($this->required) {
- echo '*';
- }
- echo "\n\n\n";
// print input field
$name = ' name="' . $this->fieldName . '"';
$value = '';
@@ -299,13 +301,84 @@ class htmlTableExtendedInputField extends htmlElement {
$fieldTabIndex = ' tabindex="' . $tabindex . '"';
$tabindex++;
echo '';
+ return array($this->fieldName => 'text');
+ }
+
+ /**
+ * Sets the maximum field length.
+ *
+ * @param int $fieldMaxLength length
+ */
+ public function setFieldMaxLength($fieldMaxLength) {
+ $this->fieldMaxLength = $fieldMaxLength;
+ }
+
+ /**
+ * Sets the field size.
+ *
+ * @param int $fieldSize size
+ */
+ public function setFieldSize($fieldSize) {
+ $this->fieldSize = $fieldSize;
+ }
+
+}
+
+/**
+ * An extended input field that combines label, input field and help.
+ *
+ * @package metaHTML
+ */
+class htmlTableExtendedInputField extends htmlInputField {
+
+ /** Descriptive label */
+ private $label;
+ /** help ID */
+ private $helpID;
+ /** required field */
+ private $required = false;
+
+ /**
+ * Constructor
+ *
+ * @param String $label descriptive label
+ * @param String $fieldName unique field name
+ * @param String $fieldValue value of input field (optional)
+ * @param String $helpID help ID (optional)
+ */
+ function __construct($label, $fieldName, $fieldValue = null, $helpID = null) {
+ parent::__construct($fieldName, $fieldValue);
+ $this->label = htmlspecialchars($label);
+ $this->helpID = $helpID;
+ }
+
+ /**
+ * Prints the HTML code for this element.
+ *
+ * @param string $module Name of account module
+ * @param array $input List of meta-HTML elements
+ * @param array $values List of values which override the defaults in $input (name => value)
+ * @param boolean $restricted If true then no buttons will be displayed
+ * @param integer $tabindex Start value of tabulator index for input fields
+ * @param string $scope Account type
+ * @return array List of input field names and their type (name => type)
+ */
+ function generateHTML($module, $input, $values, $restricted, &$tabindex, $scope) {
+ // print label text
+ echo $this->label;
+ if ($this->required) {
+ echo '*';
+ }
+ echo "\n | \n\n";
+ // print input field
+ $return = parent::generateHTML($module, $input, $values, $restricted, $tabindex, $scope);
// print help link
if ($this->helpID != null) {
echo "\n | \n\n";
$helpLink = new htmlHelpLink($this->helpID);
$helpLink->generateHTML($module, $input, $values, $restricted, $tabindex, $scope);
}
- return array($this->fieldName => 'text');
+ return $return;
}
/**
|