diff --git a/lib/visualpatterns/PatternListBox.inc b/lib/visualpatterns/PatternListBox.inc index 265fcb4..a863420 100644 --- a/lib/visualpatterns/PatternListBox.inc +++ b/lib/visualpatterns/PatternListBox.inc @@ -98,7 +98,10 @@ class PatternListBox { global $default; $sql = $default->db; - $sQuery = "SELECT DISTINCT $this->sDisplayColumn AS display, $this->sValueColumn AS value FROM $this->sTableName "; + $sQuery = "SELECT DISTINCT ST." . $this->sDisplayColumn . " AS display, ST." . $this->sValueColumn . " AS value FROM $this->sTableName AS ST "; + if (isset($this->sFromClause)) { + $sQuery .= $this->sFromClause . " "; + } if (isset($this->sWhereClause)) { $sQuery .= "WHERE " . $this->sWhereClause . " "; } diff --git a/lib/visualpatterns/PatternTableSqlQuery.inc b/lib/visualpatterns/PatternTableSqlQuery.inc index 5cfed44..1064ce9 100644 --- a/lib/visualpatterns/PatternTableSqlQuery.inc +++ b/lib/visualpatterns/PatternTableSqlQuery.inc @@ -37,8 +37,10 @@ class PatternTableSqlQuery { var $sWidth; /** link url used if a column type of 3 is specified */ var $sLinkURL; - /** database column value to append to link url if a column type of 3 is specified */ - var $sDBQueryStringColumn; + /** database column values to append to link url if a column type of 3 is specified */ + var $aDBQueryStringColumns; + /** variables names to give $aDBQueryStringColumns on the query string */ + var $aQueryStringVariableNames; /** display the column headings or not */ var $bDisplayColumnHeadings; /** table heading */ @@ -50,7 +52,7 @@ class PatternTableSqlQuery { /** message that will be displayed if the table is empty*/ var $sEmptyTableMessage; - function PatternTableSqlQuery($sTmpQuery, $aTmpColumns, $aTmpColumnTypes, $aTmpColumnHeaderNames, $sTmpWidth, $sTmpLinkURL = null, $sTmpDBQueryStringColumn = null, $bTmpDisplayColumnHeadings = false) { + function PatternTableSqlQuery($sTmpQuery, $aTmpColumns, $aTmpColumnTypes, $aTmpColumnHeaderNames, $sTmpWidth, $sTmpLinkURL = null, $sTmpDBQueryStringColumns = null, $aNewQueryStringVariableNames = null) { $this->sQuery = $sTmpQuery; $this->aColumns = & $aTmpColumns; $this->aColumnTypes = $aTmpColumnTypes; @@ -58,7 +60,8 @@ class PatternTableSqlQuery { $this->sWidth = $sTmpWidth; $this->bDisplayColumnHeadings = $bTmpDisplayColumnHeadings; $this->sLinkURL = $sTmpLinkURL; - $this->sDBQueryStringColumn = $sTmpDBQueryStringColumn; + $this->aDBQueryStringColumns = $sTmpDBQueryStringColumns; + $this->aQueryStringVariableNames = $aNewQueryStringVariableNames; } function setEmptyTableMessage($sNewValue) { @@ -77,6 +80,10 @@ class PatternTableSqlQuery { $this->bUseImageURLFromQuery = $bNewValue; } + function setDisplayColumnHeadings($bNewValue) { + $this->bDisplayColumnHeadings = $bNewValue; + } + /** * Build the HTML string used to render the object * @@ -121,7 +128,16 @@ class PatternTableSqlQuery { $sToRender .= $sql->f($this->aColumns[$i]) . ""; break; case 3: - $sToRender .= "