Commit a869a0e04507187b57f7a6898dc8d37ccd25d431
1 parent
52472cce
Displays generic and specific meta data for editing
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@564 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
35 additions
and
16 deletions
lib/visualpatterns/PatternEditableTableSqlQuery.inc
| ... | ... | @@ -39,11 +39,13 @@ class PatternEditableTableSqlQuery { |
| 39 | 39 | /** columns visible or not (store columns) */ |
| 40 | 40 | var $aColumnsVisible; |
| 41 | 41 | /** column types: 1 = text, 2 = boolean, 3 = drop down list */ |
| 42 | - var $aColumnTypes; | |
| 42 | + var $aColumnDisplayTypes; | |
| 43 | + /** 0 = id, 1 = text, 2 = boolean*/ | |
| 44 | + var $aColumnDatabaseTypes; | |
| 43 | 45 | /** Unique name */ |
| 44 | 46 | var $sUniqueName; |
| 45 | 47 | |
| 46 | - function PatternEditableTableSqlQuery($sTmpQuery, $sTmpTableName, $aTmpStoreColumnNames, $aTmpDisplayColumnNames, $aTmpColumnsEditable, $aTmpColumnsVisible, $aTmpColumnTypes, $sTmpUniqueName) { | |
| 48 | + function PatternEditableTableSqlQuery($sTmpQuery, $sTmpTableName, $aTmpStoreColumnNames, $aTmpDisplayColumnNames, $aTmpColumnsEditable, $aTmpColumnsVisible, $aTmpColumnDisplayTypes, $aTmpColumnDatabaseTypes) { | |
| 47 | 49 | $this->sQuery = $sTmpQuery; |
| 48 | 50 | $this->sTableName = $sTmpTableName; |
| 49 | 51 | $this->aStoreColumnNames = $aTmpStoreColumnNames; |
| ... | ... | @@ -51,7 +53,13 @@ class PatternEditableTableSqlQuery { |
| 51 | 53 | $this->aColumnsEditable = $aTmpColumnsEditable; |
| 52 | 54 | $this->sUniqueName = $sTmpUniqueName; |
| 53 | 55 | $this->aColumnsVisible = $aTmpColumnsVisible; |
| 54 | - $this->aColumnTypes = $aTmpColumnTypes; | |
| 56 | + $this->aColumnDisplayTypes = $aTmpColumnDisplayTypes; | |
| 57 | + //echo "Types: " . $aTmpDatabaseColumnTypes; | |
| 58 | + $this->aColumnDatabaseTypes = $aTmpColumnDatabaseTypes; | |
| 59 | + } | |
| 60 | + | |
| 61 | + function setUniqueName($sNewValue) { | |
| 62 | + $this->sUniqueName = $sNewValue; | |
| 55 | 63 | } |
| 56 | 64 | |
| 57 | 65 | |
| ... | ... | @@ -92,37 +100,47 @@ class PatternEditableTableSqlQuery { |
| 92 | 100 | $iRowCount = 0; |
| 93 | 101 | while ($sql->next_record()) { |
| 94 | 102 | $sToRender .= "<tr>\n"; |
| 103 | + $sToRender .= "<input type=\"hidden\" name=\"unique_start_" . $this->sUniqueName . $iRowCount . "\" value=\"\" />\n"; | |
| 95 | 104 | $sToRender .= "<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "\" value=\"" . $sql->f("id") . "\" />\n"; |
| 96 | - $sToRender .= "<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_tc\" value=\"" . $this->sTableName . "\" />\n"; | |
| 97 | - for ($i = 0; $i < count($this->aStoreColumnNames); $i++) { | |
| 105 | + $sToRender .= "<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_tn\" value=\"" . $this->sTableName . "\" />\n"; | |
| 106 | + for ($i = 0; $i < count($this->aStoreColumnNames); $i++) { | |
| 98 | 107 | //generate the right kind of editable field |
| 99 | - $sToRender .= "\t<td>\n"; | |
| 100 | - switch ($this->aColumnTypes[$i]) { | |
| 108 | + $sToRender .= "\t<td>\n"; | |
| 109 | + switch ($this->aColumnDisplayTypes[$i]) { | |
| 101 | 110 | case 1: |
| 111 | + //output the table column name | |
| 112 | + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_tc\" value=\"" . $this->aStoreColumnNames[$i] . "\" />\n"; | |
| 113 | + //output the column type | |
| 114 | + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_type\" value=\"" . $this->aColumnDatabaseTypes[$i] . "\" />\n"; | |
| 115 | + //output the value | |
| 102 | 116 | if ($this->aColumnsVisible[$i]) { |
| 103 | 117 | if ($this->aColumnsEditable[$i]) { |
| 104 | - $sToRender .= "\t<input type=\"text\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />\n"; | |
| 118 | + $sToRender .= "\t<input type=\"text\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />\n"; | |
| 105 | 119 | } else { |
| 106 | - $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />".$sql->f($this->aDisplayColumnNames[$i])."\n"; | |
| 120 | + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />".$sql->f($this->aDisplayColumnNames[$i])."\n"; | |
| 107 | 121 | } |
| 108 | 122 | } else { |
| 109 | - $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />\n"; | |
| 123 | + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />\n"; | |
| 110 | 124 | } |
| 111 | - $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_tc\" value=\"" . $this->aStoreColumnNames[$i] . "\" />\n"; | |
| 112 | 125 | break; |
| 113 | 126 | case 2: |
| 127 | + //output the table column name | |
| 128 | + $sToRender .= "\t<input type=\"hidden\" name=\"tc_" . $this->sUniqueName . "_" . $iRowCount . $i . "_tc\" value=\"" . $this->aStoreColumnNames[$i] . "\" />\n"; | |
| 129 | + //output the column type | |
| 130 | + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_type\" value=\"" . $this->aColumnDatabaseTypes[$i] . "\" />\n"; | |
| 131 | + //output the value | |
| 114 | 132 | if ($this->aColumnsVisible[$i]) { |
| 115 | 133 | if ($this->aColumnsEditable[$i]) { |
| 116 | - $sToRender .= "\t<input type=\"checkbox\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_value\" value=\"" . ($sql->f($this->aStoreColumnNames[$i] ? "1\" checked" : "0\"")) . " />\n"; | |
| 134 | + $sToRender .= "\t<input type=\"checkbox\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_value\" value=\"" . ($sql->f($this->aStoreColumnNames[$i] ? "1\" checked" : "0\"")) . " />\n"; | |
| 117 | 135 | } else { |
| 118 | - $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />".$sql->f($this->aDisplayColumnNames[$i])."\n"; | |
| 136 | + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />".$sql->f($this->aDisplayColumnNames[$i])."\n"; | |
| 119 | 137 | } |
| 120 | 138 | } else { |
| 121 | - $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />\n"; | |
| 122 | - } | |
| 123 | - $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . "_tc\" value=\"" . $this->aStoreColumnNames[$i] . "\" />\n"; | |
| 139 | + $sToRender .= "\t<input type=\"hidden\" name=\"" . $this->sUniqueName . "_" . $iRowCount . $i . "_value\" value=\"" . $sql->f($this->aStoreColumnNames[$i]) . "\" />\n"; | |
| 140 | + } | |
| 124 | 141 | break; |
| 125 | 142 | case 3: |
| 143 | + $sToRender .= "<b>The column type for drop downs is not implemented yet</b>\n"; | |
| 126 | 144 | break; |
| 127 | 145 | default: |
| 128 | 146 | $sToRender .= "<b>You are attempting to render an unknown column type " . ($this->aColumnTypes[$i]) . " in PatternEditableTableSqlQuery</b>\n"; |
| ... | ... | @@ -131,6 +149,7 @@ class PatternEditableTableSqlQuery { |
| 131 | 149 | |
| 132 | 150 | $sToRender .= "\t</td>\n"; |
| 133 | 151 | } |
| 152 | + $sToRender .= "<input type=\"hidden\" name=\"unique_end_" . $this->sUniqueName . $iRowCount . "\" value=\"\" />\n"; | |
| 134 | 153 | $sToRender .= "</tr>\n"; |
| 135 | 154 | $iRowCount++; |
| 136 | 155 | } | ... | ... |