diff --git a/lam/lib/html.inc b/lam/lib/html.inc
index 3fc47a2c..9d9da4ef 100644
--- a/lam/lib/html.inc
+++ b/lam/lib/html.inc
@@ -392,7 +392,7 @@ class htmlSelect implements htmlElement {
* @param array $selectedElements list of selected elements
* @param int $size size (optional, default = 1)
*/
- function __construct($name, $elements, $selectedElements, $size=1) {
+ function __construct($name, $elements, $selectedElements, $size = 1) {
$this->name = htmlspecialchars($name);
$this->elements = $elements;
$this->selectedElements = $selectedElements;
@@ -490,6 +490,61 @@ class htmlSelect implements htmlElement {
}
+/**
+ * Select with label and help link.
+ *
+ * @package metaHTML
+ */
+class htmlTableExtendedSelect extends htmlSelect {
+
+ /** descriptive label */
+ private $label;
+ /** help ID */
+ private $helpID;
+
+ /**
+ * Constructor.
+ *
+ * @param String $name element name
+ * @param array $elements list of elememts
+ * @param array $selectedElements list of selected elements
+ * @param String $label descriptive label
+ * @param String $helpID help ID (optional, default none)
+ * @param int $size size (optional, default = 1)
+ */
+ function __construct($name, $elements, $selectedElements, $label, $helpID = null, $size = 1) {
+ parent::__construct($name, $elements, $selectedElements, $size);
+ $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) {
+ echo $this->label;
+ echo "\n\n
\n";
+ $return = parent::generateHTML($module, $input, $values, $restricted, $tabindex, $scope);
+ echo "\n | \n\n";
+ // 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 $return;
+ }
+
+}
+
/**
* Prints the text and escapes contained HTML code by default.
*
@@ -602,7 +657,9 @@ class htmlTableExtendedInputCheckbox extends htmlInputCheckbox {
private $label;
/** help ID */
private $helpID;
-
+ /** specifies if label is printed before the checkbox */
+ private $labelFirst;
+
/**
* Constructor.
*
@@ -611,10 +668,11 @@ class htmlTableExtendedInputCheckbox extends htmlInputCheckbox {
* @param String $label descriptive label
* @param String $helpID help ID
*/
- function __construct($name, $checked, $label, $helpID) {
+ function __construct($name, $checked, $label, $helpID = null, $labelFirst = true) {
parent::__construct($name, $checked);
$this->label = htmlspecialchars($label);
$this->helpID = $helpID;
+ $this->labelFirst = $labelFirst;
}
/**
@@ -629,9 +687,16 @@ class htmlTableExtendedInputCheckbox extends htmlInputCheckbox {
* @return array List of input field names and their type (name => type)
*/
function generateHTML($module, $input, $values, $restricted, &$tabindex, $scope) {
- echo $this->label;
- echo "\n | \n\n";
- $return = parent::generateHTML($module, $input, $values, $restricted, $tabindex, $scope);
+ if ($this->labelFirst) {
+ echo $this->label;
+ echo "\n | \n\n";
+ $return = parent::generateHTML($module, $input, $values, $restricted, $tabindex, $scope);
+ }
+ else {
+ $return = parent::generateHTML($module, $input, $values, $restricted, $tabindex, $scope);
+ echo "\n | \n\n";
+ echo $this->label;
+ }
echo "\n | \n\n";
// print help link
if ($this->helpID != null) {
@@ -769,4 +834,63 @@ class htmlTableExtendedInputTextarea extends htmlInputTextarea {
}
+/**
+ * Prints the HTML code for an image.
+ *
+ * @package metaHTML
+ */
+class htmlImage implements htmlElement {
+
+ /** path to image */
+ private $path;
+ /** width */
+ private $width;
+ /** height */
+ private $height;
+ /** alt text */
+ private $alt;
+
+ /**
+ * Constructor.
+ *
+ * @param String $path image location
+ * @param int $width image width (optional, default original size)
+ * @param int $height image height (optional, default original size)
+ * @param String $alt alt text (optional)
+ */
+ function __construct($path, $width = null, $height = null, $alt = ' ') {
+ $this->path = htmlspecialchars($path);
+ $this->width = $width;
+ $this->height = $height;
+ $this->alt = htmlspecialchars($alt);
+ }
+
+ /**
+ * 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) {
+ $path = ' src="' . $this->path . '"';
+ $width = '';
+ if ($this->width != null) {
+ $width = ' width="' . $this->width . '"';
+ }
+ $height = '';
+ if ($this->height != null) {
+ $height = ' height="' . $this->height . '"';
+ }
+ $alt = ' alt="' . $this->alt . '"';
+ echo '\n";
+ return array();
+ }
+
+}
+
?>
\ No newline at end of file
|