diff --git a/lib/visualpatterns/PatternTableGeneric.inc b/lib/visualpatterns/PatternTableGeneric.inc new file mode 100644 index 0000000..f611390 --- /dev/null +++ b/lib/visualpatterns/PatternTableGeneric.inc @@ -0,0 +1,210 @@ +oResultSet =& $oResultSet; + $this->aColumns = & $aTmpColumns; + $this->aColumnTypes = $aTmpColumnTypes; + $this->aColumnHeaderNames = $aTmpColumnHeaderNames; + $this->sWidth = $sTmpWidth; + $this->bDisplayColumnHeadings = $bTmpDisplayColumnHeadings; + $this->aLinkURLs = $aTmpLinkURLs; + $this->aDBQueryStringColumns = $aTmpDBQueryStringColumns; + $this->aQueryStringVariableNames = $aNewQueryStringVariableNames; + } + + function setEmptyTableMessage($sNewValue) { $this->sEmptyTableMessage = $sNewValue; } + function setTableHeading($sNewValue) { $this->sTableHeading = $sNewValue; } + function setImageURL($sNewValue) { $this->sImageURL = $sNewValue; } + function setUseImageURLFromQuery($bNewValue) { $this->bUseImageURLFromQuery = $bNewValue; } + function setDisplayColumnHeadings($bNewValue) { $this->bDisplayColumnHeadings = $bNewValue; } + function setIncludeBorder($bNewValue) { $this->bIncludeBorder = $bNewValue; } + function setChkPicPath($sNewChkPicPath) { $this->sChkPicPath = $sNewChkPicPath; } + function getChkPicPath() { return $this->sChkPicPath ; } + function setWordWrap($bNewValue) { $this->bWordWrap = $bNewValue; } + function setDisabled($bNewValue) { $this->bDisabled = $bNewValue; } + + /** + * Build the HTML string used to render the object + * + * @return String of HTML used to render object + * + * @todo possibly add in image size restraints for link types 2 and 3 + */ + function & render() { + global $default; + + $sToRender = "bIncludeBorder ? "1" : "0") . "\" width=\"" . $this->sWidth . "\">\n"; + if (isset($this->sTableHeading)) { + $sToRender .= "\n"; + } + if ($this->bDisplayColumnHeadings) { + for ($i = 0; $i < count($this->aColumnHeaderNames); $i++) { + $sToRender .= "\n"; + } + } + # $sql->query($this->sQuery); + $oResultSet =& $this->oResultSet; + if ($oResultSet->isEmpty()) { + $sToRender .= "\n"; + if (isset($this->sEmptyTableMessage)) { + $sToRender .= "\n"; + } else { + $sToRender .= "\n"; + } + $sToRender .= "\n"; + } else { + $iColour = 0; + while ($oResult = $oResultSet->next()) { + $sToRender .= "\n"; + $iColour++; + for ($i = 0; $i < count($this->aColumns); $i++) { + switch ($this->aColumnTypes[$i]) { + case 1: + //text + $sToRender .= ""; + } else { + $sToRender .= $oResult->get($this->aColumns[$i]) . ""; + } + } else { + $sToRender .= " "; + } + break; + case 2: + //boolean + $sToRender .= ""; + } else { + $sToRender .= " "; + } + + break; + case 3: + if ($this->bDisabled === true) { + $sToRender .= ''; + $sToRender .= "\n"; + break; + } + //hyperlink + $sToRender .= "\n"; + break; + default: + break; + } + } + $sToRender .= "\n"; + } + } + $sToRender .= "
aColumns) . "\" align=\"left\">$this->sTableHeading
" . $this->aColumnHeaderNames[$i] . "
$this->sEmptyTableMessageNo " . (isset($this->sTableHeading) ? $this->sTableHeading : "") . " data
"; + if (isset($this->sImageURL)) { + $sToRender .= $this->generateImageURL($this->sImageURL); + } else if ($this->bUseImageURLFromQuery) { + $sToRender .= $this->generateImageURL($oResult->get("image_url")); + } + if ($oResult->get($this->aColumns[$i]) != null) { + if ($this->bWordWrap) { + $sToRender .= wordwrap($oResult->get($this->aColumns[$i]), 25, " ", 1) . ""; + if ($oResult->get($this->aColumns[$i]) != null) { + $value = $oResult->get($this->aColumns[$i]); + if ($value) { + $sToRender .= "graphicsUrl/" . $this->sChkPicPath . "\">"; + } else { + $sToRender .= "graphicsUrl/" . $this->sUnChkPicPath . "\">"; + } + $sToRender .= " '; + $sToRender .= $oResult->get($this->aColumns[$i]); + $sToRender .= 'aLinkURLs[$i]; + for ($j = 0; $j < count($this->aDBQueryStringColumns); $j++) { + if (strpos($sLink, "?") === false) { + $sLink .= "?" . $this->aQueryStringVariableNames[$j] . "=" . $oResult->get($this->aDBQueryStringColumns[$j]); + } else { + $sLink .= "&" . $this->aQueryStringVariableNames[$j] . "=" . $oResult->get($this->aDBQueryStringColumns[$j]); + } + } + $sToRender .= $sLink . "\">"; + + if (isset($this->sImageURL)) { + $sToRender .= $this->generateImageURL($this->sImageURL); + } else if ($this->bUseImageURLFromQuery) { + $sToRender .= $this->generateImageURL($oResult->get("image_url")); + } + $sToRender .= $oResult->get($this->aColumns[$i]) . "
"; + return $sToRender; + } + + function generateImageURL($sURL) { + return ""; + } +} +?>