diff --git a/lib/visualpatterns/PatternEditableListFromQuery.inc b/lib/visualpatterns/PatternEditableListFromQuery.inc new file mode 100644 index 0000000..001c6aa --- /dev/null +++ b/lib/visualpatterns/PatternEditableListFromQuery.inc @@ -0,0 +1,159 @@ +sQuery = $sNewQuery; + $this->sTableName = $sNewTableName; + $this->aDisplayColumns = $aNewDisplayColumns; + $this->aStoreColumns = $aNewStoreColumns; + $this->aColumnNames = $aNewColumnNames; + $this->aDisplayColumnTypes = $aNewDisplayColumnTypes; + $this->aDatabaseColumnTypes = $aNewDatabaseColumnTypes; + } + + function setUniqueName($sNewValue) { + $this->sUniqueName = $sNewValue; + } + + function setTableWidth($iNewValue) { + $this->iTableWidth = $iNewValue; + } + + function setTextAreaRows($iNewValue) { + $this->iTextAreaRows = $iNewValue; + } + + function setTextAreaDisplayColumns($iNewValue) { + $this->iTextAreaDisplayColumns = $iNewValue; + } + + function setTableHeading($sNewValue) { + $this->sTableHeading = $sNewValue; + } + + function setRenderIndividualTableForEachResult($bNewValue) { + $this->bIndividualTableForEachResult = $bNewValue; + } + + function & render() { + $sql = new Owl_DB(); + $sql->query($this->sQuery); + if ($sql->next_record()) {; + $sToRender = ""; + $sToRender .= "iTableWidth) ? ", width = $this->iTableWidth" : "") . " >\n"; + $sToRender .= "sUniqueName . "\" value=\"\" />\n"; + $sToRender .= "sUniqueName\" value=\"" . $sql->f("id") . "\" />\n"; + $sToRender .= "sUniqueName . "_tn\" value=\"$this->sTableName\" />\n"; + + if (isset($this->sTableHeading)) { + $sToRender .= "\n"; + } + + if ($sql->num_rows() == 0) { + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + } else { + for ($i = 0; $i < count($this->aDisplayColumns); $i++) { + $sToRender .= "\n"; + $sToRender .= "sUniqueName . "_tc\" value=\"" . $this->aStoreColumns[$i] . "\" />\n"; + $sToRender .= "sUniqueName . "_type\" value=\"" . $this->aDatabaseColumnTypes[$i] . "\" />\n"; + $sToRender .= "\t\n"; + switch ($this->aDisplayColumnTypes[$i]) { + case 1: + //plain text field + $sToRender .= "\t\n"; + break; + case 2: + //boolean value + //$sToRender .= "\t\n"; + break; + case 3: + break; + default: + break; + } + $sToRender .= "\n"; + } + + /*while ($sql->next_record()) { + //$sToRender .= "\n"; + $sToRender .= "sUniqueName . "_tc\" value=\"" . $this->aStoreColumns[$i] . "\" />\n"; + $sToRender .= "sUniqueName . "_type\" value=\"" . $this->aDatabaseColumnTypes[$i] . "\" />\n"; + $sToRender .= "\t\n"; + switch ($this->aDisplayColumnTypes[$i]) { + case 1: + //plain text field + $sToRender .= "\t\n"; + break; + case 2: + //boolean value + //$sToRender .= "\t\n"; + break; + case 3: + break; + default: + break; + } + $sToRender .= "\n"; + } + }*/ + } + $sToRender .= "sUniqueName . "\" value=\"\" />\n"; + $sToRender .= "
$this->sTableHeading
No " . (isset($this->sTableHeading) ? "$this->sTableHeading" : "") . " data
" . $this->aColumnNames[$i] . "sUniqueName . "_" . $i . "_value\" value=\"" . $sql->f($this->aDisplayColumns[$i]) . "\"
\n"; + for ($i = 0; $i < count($this->aDisplayColumns); $i++) { + $sToRender .= "
" . $this->aColumnNames[$i] . "sUniqueName . "_" . $i . "_value\" value=\"" . $sql->f($this->aDisplayColumns[$i]) . "\"
\n"; + } + return $sToRender; + } + + function replaceValues($sQueryStringText, $sql) { + return $sQueryStringText; + } + +} + +?>