@@ -36,7 +36,7 @@ discard block |
||
36 | 36 | private $_record; |
37 | 37 | |
38 | 38 | /** |
39 | - * @return TDbMetaData table/view information |
|
39 | + * @return TDbTableInfo table/view information |
|
40 | 40 | */ |
41 | 41 | protected function getTableInfo() |
42 | 42 | { |
@@ -84,6 +84,7 @@ discard block |
||
84 | 84 | /** |
85 | 85 | * Name of the Active Record class to be viewed or scaffolded. |
86 | 86 | * @param string Active Record class name. |
87 | + * @param string $value |
|
87 | 88 | */ |
88 | 89 | public function setRecordClass($value) |
89 | 90 | { |
@@ -183,6 +184,7 @@ discard block |
||
183 | 184 | |
184 | 185 | /** |
185 | 186 | * @param boolean enable default stylesheet, default is true. |
187 | + * @param boolean $value |
|
186 | 188 | */ |
187 | 189 | public function setEnableDefaultStyle($value) |
188 | 190 | { |
@@ -52,7 +52,7 @@ discard block |
||
52 | 52 | protected function getRecordPropertyValues($record) |
53 | 53 | { |
54 | 54 | $data = array(); |
55 | - foreach($this->getTableInfo()->getColumns() as $name=>$column) |
|
55 | + foreach ($this->getTableInfo()->getColumns() as $name=>$column) |
|
56 | 56 | $data[] = $record->getColumnValue($name); |
57 | 57 | return $data; |
58 | 58 | } |
@@ -63,10 +63,10 @@ discard block |
||
63 | 63 | */ |
64 | 64 | protected function getRecordPkValues($record) |
65 | 65 | { |
66 | - $data=array(); |
|
67 | - foreach($this->getTableInfo()->getColumns() as $name=>$column) |
|
66 | + $data = array(); |
|
67 | + foreach ($this->getTableInfo()->getColumns() as $name=>$column) |
|
68 | 68 | { |
69 | - if($column->getIsPrimaryKey()) |
|
69 | + if ($column->getIsPrimaryKey()) |
|
70 | 70 | $data[] = $record->getColumnValue($name); |
71 | 71 | } |
72 | 72 | return $data; |
@@ -106,7 +106,7 @@ discard block |
||
106 | 106 | */ |
107 | 107 | protected function clearRecordObject() |
108 | 108 | { |
109 | - $this->_record=null; |
|
109 | + $this->_record = null; |
|
110 | 110 | } |
111 | 111 | |
112 | 112 | /** |
@@ -115,26 +115,26 @@ discard block |
||
115 | 115 | * @param array primary key value |
116 | 116 | * @return TActiveRecord record instance |
117 | 117 | */ |
118 | - protected function getRecordObject($pk=null) |
|
118 | + protected function getRecordObject($pk = null) |
|
119 | 119 | { |
120 | - if($this->_record===null) |
|
120 | + if ($this->_record === null) |
|
121 | 121 | { |
122 | - if($pk!==null) |
|
122 | + if ($pk !== null) |
|
123 | 123 | { |
124 | - $this->_record=$this->getRecordFinder()->findByPk($pk); |
|
125 | - if($this->_record===null) |
|
124 | + $this->_record = $this->getRecordFinder()->findByPk($pk); |
|
125 | + if ($this->_record === null) |
|
126 | 126 | throw new TConfigurationException('scaffold_invalid_record_pk', |
127 | 127 | $this->getRecordClass(), $pk); |
128 | 128 | } |
129 | 129 | else |
130 | 130 | { |
131 | 131 | $class = $this->getRecordClass(); |
132 | - if($class!==null) |
|
133 | - $this->_record=Prado::createComponent($class); |
|
132 | + if ($class !== null) |
|
133 | + $this->_record = Prado::createComponent($class); |
|
134 | 134 | else |
135 | 135 | { |
136 | 136 | throw new TConfigurationException('scaffold_invalid_record_class', |
137 | - $this->getRecordClass(),$this->getID()); |
|
137 | + $this->getRecordClass(), $this->getID()); |
|
138 | 138 | } |
139 | 139 | } |
140 | 140 | } |
@@ -146,7 +146,7 @@ discard block |
||
146 | 146 | */ |
147 | 147 | protected function setRecordObject(TActiveRecord $value) |
148 | 148 | { |
149 | - $this->_record=$value; |
|
149 | + $this->_record = $value; |
|
150 | 150 | } |
151 | 151 | |
152 | 152 | /** |
@@ -195,10 +195,10 @@ discard block |
||
195 | 195 | public function onPreRender($param) |
196 | 196 | { |
197 | 197 | parent::onPreRender($param); |
198 | - if($this->getEnableDefaultStyle()) |
|
198 | + if ($this->getEnableDefaultStyle()) |
|
199 | 199 | { |
200 | - $url = $this->publishAsset($this->getDefaultStyle().'.css'); |
|
201 | - $this->getPage()->getClientScript()->registerStyleSheetFile($url,$url); |
|
200 | + $url = $this->publishAsset($this->getDefaultStyle() . '.css'); |
|
201 | + $this->getPage()->getClientScript()->registerStyleSheetFile($url, $url); |
|
202 | 202 | } |
203 | 203 | } |
204 | 204 | } |
@@ -52,8 +52,9 @@ discard block |
||
52 | 52 | protected function getRecordPropertyValues($record) |
53 | 53 | { |
54 | 54 | $data = array(); |
55 | - foreach($this->getTableInfo()->getColumns() as $name=>$column) |
|
56 | - $data[] = $record->getColumnValue($name); |
|
55 | + foreach($this->getTableInfo()->getColumns() as $name=>$column) { |
|
56 | + $data[] = $record->getColumnValue($name); |
|
57 | + } |
|
57 | 58 | return $data; |
58 | 59 | } |
59 | 60 | |
@@ -66,8 +67,9 @@ discard block |
||
66 | 67 | $data=array(); |
67 | 68 | foreach($this->getTableInfo()->getColumns() as $name=>$column) |
68 | 69 | { |
69 | - if($column->getIsPrimaryKey()) |
|
70 | - $data[] = $record->getColumnValue($name); |
|
70 | + if($column->getIsPrimaryKey()) { |
|
71 | + $data[] = $record->getColumnValue($name); |
|
72 | + } |
|
71 | 73 | } |
72 | 74 | return $data; |
73 | 75 | } |
@@ -122,16 +124,16 @@ discard block |
||
122 | 124 | if($pk!==null) |
123 | 125 | { |
124 | 126 | $this->_record=$this->getRecordFinder()->findByPk($pk); |
125 | - if($this->_record===null) |
|
126 | - throw new TConfigurationException('scaffold_invalid_record_pk', |
|
127 | + if($this->_record===null) { |
|
128 | + throw new TConfigurationException('scaffold_invalid_record_pk', |
|
127 | 129 | $this->getRecordClass(), $pk); |
128 | - } |
|
129 | - else |
|
130 | + } |
|
131 | + } else |
|
130 | 132 | { |
131 | 133 | $class = $this->getRecordClass(); |
132 | - if($class!==null) |
|
133 | - $this->_record=Prado::createComponent($class); |
|
134 | - else |
|
134 | + if($class!==null) { |
|
135 | + $this->_record=Prado::createComponent($class); |
|
136 | + } else |
|
135 | 137 | { |
136 | 138 | throw new TConfigurationException('scaffold_invalid_record_class', |
137 | 139 | $this->getRecordClass(),$this->getID()); |
@@ -1,13 +1,13 @@ |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * TScaffoldBase class file. |
|
4 | - * |
|
5 | - * @author Wei Zhuo <weizhuo[at]gmail[dot]com> |
|
6 | - * @link https://github.com/pradosoft/prado |
|
7 | - * @copyright Copyright © 2005-2015 The PRADO Group |
|
8 | - * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT |
|
9 | - * @package System.Data.ActiveRecord.Scaffold |
|
10 | - */ |
|
3 | + * TScaffoldBase class file. |
|
4 | + * |
|
5 | + * @author Wei Zhuo <weizhuo[at]gmail[dot]com> |
|
6 | + * @link https://github.com/pradosoft/prado |
|
7 | + * @copyright Copyright © 2005-2015 The PRADO Group |
|
8 | + * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT |
|
9 | + * @package System.Data.ActiveRecord.Scaffold |
|
10 | + */ |
|
11 | 11 | |
12 | 12 | /** |
13 | 13 | * Include the base Active Record class. |
@@ -129,6 +129,8 @@ discard block |
||
129 | 129 | * Instantiate the external edit renderer. |
130 | 130 | * @param TActiveRecord record to be edited |
131 | 131 | * @param string external edit renderer class name. |
132 | + * @param TActiveRecord $record |
|
133 | + * @param string $classPath |
|
132 | 134 | * @throws TConfigurationException raised when renderer is not an |
133 | 135 | * instance of IScaffoldEditRenderer. |
134 | 136 | */ |
@@ -260,6 +262,7 @@ discard block |
||
260 | 262 | /** |
261 | 263 | * Create the default scaffold editor control factory. |
262 | 264 | * @param TActiveRecord record instance. |
265 | + * @param TActiveRecord $record |
|
263 | 266 | * @return TScaffoldInputBase scaffold editor control factory. |
264 | 267 | */ |
265 | 268 | protected function getScaffoldInputBuilder($record) |
@@ -300,6 +303,7 @@ discard block |
||
300 | 303 | /** |
301 | 304 | * This method should update the record with the user input data. |
302 | 305 | * @param TActiveRecord record to be saved. |
306 | + * @param TActiveRecord $record |
|
303 | 307 | */ |
304 | 308 | public function updateRecord($record); |
305 | 309 | } |
@@ -57,7 +57,7 @@ discard block |
||
57 | 57 | */ |
58 | 58 | public function onLoad($param) |
59 | 59 | { |
60 | - if($this->getVisible()) |
|
60 | + if ($this->getVisible()) |
|
61 | 61 | $this->initializeEditForm(); |
62 | 62 | } |
63 | 63 | |
@@ -110,7 +110,7 @@ discard block |
||
110 | 110 | { |
111 | 111 | $record = $this->getCurrentRecord(); |
112 | 112 | $classPath = $this->getEditRenderer(); |
113 | - if($classPath === '') |
|
113 | + if ($classPath === '') |
|
114 | 114 | { |
115 | 115 | $columns = $this->getTableInfo()->getColumns(); |
116 | 116 | $this->getInputRepeater()->setDataSource($columns); |
@@ -118,7 +118,7 @@ discard block |
||
118 | 118 | } |
119 | 119 | else |
120 | 120 | { |
121 | - if($this->_editRenderer===null) |
|
121 | + if ($this->_editRenderer === null) |
|
122 | 122 | $this->createEditRenderer($record, $classPath); |
123 | 123 | else |
124 | 124 | $this->_editRenderer->setData($record); |
@@ -135,10 +135,10 @@ discard block |
||
135 | 135 | protected function createEditRenderer($record, $classPath) |
136 | 136 | { |
137 | 137 | $this->_editRenderer = Prado::createComponent($classPath); |
138 | - if($this->_editRenderer instanceof IScaffoldEditRenderer) |
|
138 | + if ($this->_editRenderer instanceof IScaffoldEditRenderer) |
|
139 | 139 | { |
140 | 140 | $index = $this->getControls()->remove($this->getInputRepeater()); |
141 | - $this->getControls()->insertAt($index,$this->_editRenderer); |
|
141 | + $this->getControls()->insertAt($index, $this->_editRenderer); |
|
142 | 142 | $this->_editRenderer->setData($record); |
143 | 143 | } |
144 | 144 | else |
@@ -154,11 +154,11 @@ discard block |
||
154 | 154 | protected function createRepeaterEditItem($sender, $param) |
155 | 155 | { |
156 | 156 | $type = $param->getItem()->getItemType(); |
157 | - if($type==TListItemType::Item || $type==TListItemType::AlternatingItem) |
|
157 | + if ($type == TListItemType::Item || $type == TListItemType::AlternatingItem) |
|
158 | 158 | { |
159 | 159 | $item = $param->getItem(); |
160 | 160 | $column = $item->getDataItem(); |
161 | - if($column===null) |
|
161 | + if ($column === null) |
|
162 | 162 | return; |
163 | 163 | |
164 | 164 | $record = $this->getCurrentRecord(); |
@@ -173,7 +173,7 @@ discard block |
||
173 | 173 | */ |
174 | 174 | public function bubbleEvent($sender, $param) |
175 | 175 | { |
176 | - switch(strtolower($param->getCommandName())) |
|
176 | + switch (strtolower($param->getCommandName())) |
|
177 | 177 | { |
178 | 178 | case 'save': |
179 | 179 | return $this->doSave() ? false : true; |
@@ -192,14 +192,14 @@ discard block |
||
192 | 192 | */ |
193 | 193 | protected function doSave() |
194 | 194 | { |
195 | - if($this->getPage()->getIsValid()) |
|
195 | + if ($this->getPage()->getIsValid()) |
|
196 | 196 | { |
197 | 197 | $record = $this->getCurrentRecord(); |
198 | - if($this->_editRenderer===null) |
|
198 | + if ($this->_editRenderer === null) |
|
199 | 199 | { |
200 | 200 | $table = $this->getTableInfo(); |
201 | 201 | $builder = $this->getScaffoldInputBuilder($record); |
202 | - foreach($this->getInputRepeater()->getItems() as $item) |
|
202 | + foreach ($this->getInputRepeater()->getItems() as $item) |
|
203 | 203 | { |
204 | 204 | $column = $table->getColumn($item->getCustomData()); |
205 | 205 | $builder->loadScaffoldInput($this, $item, $column, $record); |
@@ -212,7 +212,7 @@ discard block |
||
212 | 212 | $record->save(); |
213 | 213 | return true; |
214 | 214 | } |
215 | - else if($this->_editRenderer!==null) |
|
215 | + else if ($this->_editRenderer !== null) |
|
216 | 216 | { |
217 | 217 | //preserve the form data. |
218 | 218 | $this->_editRenderer->updateRecord($this->getCurrentRecord()); |
@@ -264,9 +264,9 @@ discard block |
||
264 | 264 | */ |
265 | 265 | protected function getScaffoldInputBuilder($record) |
266 | 266 | { |
267 | - static $_builders=array(); |
|
267 | + static $_builders = array(); |
|
268 | 268 | $class = get_class($record); |
269 | - if(!isset($_builders[$class])) |
|
269 | + if (!isset($_builders[$class])) |
|
270 | 270 | { |
271 | 271 | Prado::using('System.Data.ActiveRecord.Scaffold.InputBuilder.TScaffoldInputBase'); |
272 | 272 | $_builders[$class] = TScaffoldInputBase::createInputBuilder($record); |
@@ -279,7 +279,7 @@ discard block |
||
279 | 279 | */ |
280 | 280 | public function getValidationGroup() |
281 | 281 | { |
282 | - return 'group_'.$this->getUniqueID(); |
|
282 | + return 'group_' . $this->getUniqueID(); |
|
283 | 283 | } |
284 | 284 | } |
285 | 285 |
@@ -57,8 +57,9 @@ discard block |
||
57 | 57 | */ |
58 | 58 | public function onLoad($param) |
59 | 59 | { |
60 | - if($this->getVisible()) |
|
61 | - $this->initializeEditForm(); |
|
60 | + if($this->getVisible()) { |
|
61 | + $this->initializeEditForm(); |
|
62 | + } |
|
62 | 63 | } |
63 | 64 | |
64 | 65 | /** |
@@ -115,13 +116,13 @@ discard block |
||
115 | 116 | $columns = $this->getTableInfo()->getColumns(); |
116 | 117 | $this->getInputRepeater()->setDataSource($columns); |
117 | 118 | $this->getInputRepeater()->dataBind(); |
118 | - } |
|
119 | - else |
|
119 | + } else |
|
120 | 120 | { |
121 | - if($this->_editRenderer===null) |
|
122 | - $this->createEditRenderer($record, $classPath); |
|
123 | - else |
|
124 | - $this->_editRenderer->setData($record); |
|
121 | + if($this->_editRenderer===null) { |
|
122 | + $this->createEditRenderer($record, $classPath); |
|
123 | + } else { |
|
124 | + $this->_editRenderer->setData($record); |
|
125 | + } |
|
125 | 126 | } |
126 | 127 | } |
127 | 128 | |
@@ -140,8 +141,7 @@ discard block |
||
140 | 141 | $index = $this->getControls()->remove($this->getInputRepeater()); |
141 | 142 | $this->getControls()->insertAt($index,$this->_editRenderer); |
142 | 143 | $this->_editRenderer->setData($record); |
143 | - } |
|
144 | - else |
|
144 | + } else |
|
145 | 145 | { |
146 | 146 | throw new TConfigurationException( |
147 | 147 | 'scaffold_invalid_edit_renderer', $this->getID(), get_class($record)); |
@@ -158,8 +158,9 @@ discard block |
||
158 | 158 | { |
159 | 159 | $item = $param->getItem(); |
160 | 160 | $column = $item->getDataItem(); |
161 | - if($column===null) |
|
162 | - return; |
|
161 | + if($column===null) { |
|
162 | + return; |
|
163 | + } |
|
163 | 164 | |
164 | 165 | $record = $this->getCurrentRecord(); |
165 | 166 | $builder = $this->getScaffoldInputBuilder($record); |
@@ -204,15 +205,13 @@ discard block |
||
204 | 205 | $column = $table->getColumn($item->getCustomData()); |
205 | 206 | $builder->loadScaffoldInput($this, $item, $column, $record); |
206 | 207 | } |
207 | - } |
|
208 | - else |
|
208 | + } else |
|
209 | 209 | { |
210 | 210 | $this->_editRenderer->updateRecord($record); |
211 | 211 | } |
212 | 212 | $record->save(); |
213 | 213 | return true; |
214 | - } |
|
215 | - else if($this->_editRenderer!==null) |
|
214 | + } else if($this->_editRenderer!==null) |
|
216 | 215 | { |
217 | 216 | //preserve the form data. |
218 | 217 | $this->_editRenderer->updateRecord($this->getCurrentRecord()); |
@@ -121,6 +121,7 @@ |
||
121 | 121 | |
122 | 122 | /** |
123 | 123 | * @param string search condition, the SQL string after the WHERE clause. |
124 | + * @param string|null $value |
|
124 | 125 | */ |
125 | 126 | public function setSearchCondition($value) |
126 | 127 | { |
@@ -54,14 +54,14 @@ discard block |
||
54 | 54 | protected function initializeSort() |
55 | 55 | { |
56 | 56 | $table = $this->getTableInfo(); |
57 | - $sorts = array('Sort By', str_repeat('-',15)); |
|
57 | + $sorts = array('Sort By', str_repeat('-', 15)); |
|
58 | 58 | $headers = array(); |
59 | - foreach($table->getColumns() as $name=>$colum) |
|
59 | + foreach ($table->getColumns() as $name=>$colum) |
|
60 | 60 | { |
61 | 61 | $fname = ucwords(str_replace('_', ' ', $name)); |
62 | - $sorts[$name.' ASC'] = $fname .' Ascending'; |
|
63 | - $sorts[$name.' DESC'] = $fname .' Descending'; |
|
64 | - $headers[] = $fname ; |
|
62 | + $sorts[$name . ' ASC'] = $fname . ' Ascending'; |
|
63 | + $sorts[$name . ' DESC'] = $fname . ' Descending'; |
|
64 | + $headers[] = $fname; |
|
65 | 65 | } |
66 | 66 | $this->_sort->setDataSource($sorts); |
67 | 67 | $this->_sort->dataBind(); |
@@ -75,7 +75,7 @@ discard block |
||
75 | 75 | public function onPreRender($param) |
76 | 76 | { |
77 | 77 | parent::onPreRender($param); |
78 | - if(!$this->getPage()->getIsPostBack() || $this->getViewState('CurrentClass')!=$this->getRecordClass()) |
|
78 | + if (!$this->getPage()->getIsPostBack() || $this->getViewState('CurrentClass') != $this->getRecordClass()) |
|
79 | 79 | { |
80 | 80 | $this->initializeSort(); |
81 | 81 | $this->setViewState('CurrentClass', $this->getRecordClass()); |
@@ -103,18 +103,18 @@ discard block |
||
103 | 103 | { |
104 | 104 | $total = $this->_list->getVirtualItemCount(); |
105 | 105 | $limit = $this->_list->getPageSize(); |
106 | - $offset = $this->_list->getCurrentPageIndex()*$limit; |
|
107 | - if($offset + $limit > $total) |
|
106 | + $offset = $this->_list->getCurrentPageIndex() * $limit; |
|
107 | + if ($offset + $limit > $total) |
|
108 | 108 | $limit = $total - $offset; |
109 | 109 | $criteria = new TActiveRecordCriteria($this->getSearchCondition(), $this->getSearchParameters()); |
110 | - if($limit > 0) |
|
110 | + if ($limit > 0) |
|
111 | 111 | { |
112 | 112 | $criteria->setLimit($limit); |
113 | - if($offset <= $total) |
|
113 | + if ($offset <= $total) |
|
114 | 114 | $criteria->setOffset($offset); |
115 | 115 | } |
116 | - $order = explode(' ',$this->_sort->getSelectedValue(), 2); |
|
117 | - if(is_array($order) && count($order) === 2) |
|
116 | + $order = explode(' ', $this->_sort->getSelectedValue(), 2); |
|
117 | + if (is_array($order) && count($order) === 2) |
|
118 | 118 | $criteria->OrdersBy[$order[0]] = $order[1]; |
119 | 119 | return $criteria; |
120 | 120 | } |
@@ -140,7 +140,7 @@ discard block |
||
140 | 140 | */ |
141 | 141 | public function setSearchParameters($value) |
142 | 142 | { |
143 | - $this->setViewState('SearchParameters', TPropertyValue::ensureArray($value),array()); |
|
143 | + $this->setViewState('SearchParameters', TPropertyValue::ensureArray($value), array()); |
|
144 | 144 | } |
145 | 145 | |
146 | 146 | /** |
@@ -156,7 +156,7 @@ discard block |
||
156 | 156 | */ |
157 | 157 | public function bubbleEvent($sender, $param) |
158 | 158 | { |
159 | - switch(strtolower($param->getCommandName())) |
|
159 | + switch (strtolower($param->getCommandName())) |
|
160 | 160 | { |
161 | 161 | case 'delete': |
162 | 162 | return $this->deleteRecord($sender, $param); |
@@ -172,9 +172,9 @@ discard block |
||
172 | 172 | */ |
173 | 173 | protected function initializeEdit($sender, $param) |
174 | 174 | { |
175 | - if(($ctrl=$this->getEditViewControl())!==null) |
|
175 | + if (($ctrl = $this->getEditViewControl()) !== null) |
|
176 | 176 | { |
177 | - if($param instanceof TRepeaterCommandEventParameter) |
|
177 | + if ($param instanceof TRepeaterCommandEventParameter) |
|
178 | 178 | { |
179 | 179 | $pk = $param->getItem()->getCustomData(); |
180 | 180 | $ctrl->setRecordPk($pk); |
@@ -188,7 +188,7 @@ discard block |
||
188 | 188 | */ |
189 | 189 | protected function deleteRecord($sender, $param) |
190 | 190 | { |
191 | - if($param instanceof TRepeaterCommandEventParameter) |
|
191 | + if ($param instanceof TRepeaterCommandEventParameter) |
|
192 | 192 | { |
193 | 193 | $pk = $param->getItem()->getCustomData(); |
194 | 194 | $this->getRecordFinder()->deleteByPk($pk); |
@@ -201,10 +201,10 @@ discard block |
||
201 | 201 | protected function listItemCreated($sender, $param) |
202 | 202 | { |
203 | 203 | $item = $param->getItem(); |
204 | - if($item instanceof IItemDataRenderer) |
|
204 | + if ($item instanceof IItemDataRenderer) |
|
205 | 205 | { |
206 | 206 | $type = $item->getItemType(); |
207 | - if($type==TListItemType::Item || $type==TListItemType::AlternatingItem) |
|
207 | + if ($type == TListItemType::Item || $type == TListItemType::AlternatingItem) |
|
208 | 208 | $this->populateField($sender, $param); |
209 | 209 | } |
210 | 210 | } |
@@ -216,10 +216,10 @@ discard block |
||
216 | 216 | protected function populateField($sender, $param) |
217 | 217 | { |
218 | 218 | $item = $param->getItem(); |
219 | - if(($data = $item->getData()) !== null) |
|
219 | + if (($data = $item->getData()) !== null) |
|
220 | 220 | { |
221 | 221 | $item->setCustomData($this->getRecordPkValues($data)); |
222 | - if(($prop = $item->findControl('_properties'))!==null) |
|
222 | + if (($prop = $item->findControl('_properties')) !== null) |
|
223 | 223 | { |
224 | 224 | $item->_properties->setDataSource($this->getRecordPropertyValues($data)); |
225 | 225 | $item->_properties->dataBind(); |
@@ -292,10 +292,10 @@ discard block |
||
292 | 292 | */ |
293 | 293 | protected function getEditViewControl() |
294 | 294 | { |
295 | - if(($id=$this->getEditViewID())!==null) |
|
295 | + if (($id = $this->getEditViewID()) !== null) |
|
296 | 296 | { |
297 | 297 | $ctrl = $this->getParent()->findControl($id); |
298 | - if($ctrl===null) |
|
298 | + if ($ctrl === null) |
|
299 | 299 | throw new TConfigurationException('scaffold_unable_to_find_edit_view', $id); |
300 | 300 | return $ctrl; |
301 | 301 | } |
@@ -104,18 +104,21 @@ discard block |
||
104 | 104 | $total = $this->_list->getVirtualItemCount(); |
105 | 105 | $limit = $this->_list->getPageSize(); |
106 | 106 | $offset = $this->_list->getCurrentPageIndex()*$limit; |
107 | - if($offset + $limit > $total) |
|
108 | - $limit = $total - $offset; |
|
107 | + if($offset + $limit > $total) { |
|
108 | + $limit = $total - $offset; |
|
109 | + } |
|
109 | 110 | $criteria = new TActiveRecordCriteria($this->getSearchCondition(), $this->getSearchParameters()); |
110 | 111 | if($limit > 0) |
111 | 112 | { |
112 | 113 | $criteria->setLimit($limit); |
113 | - if($offset <= $total) |
|
114 | - $criteria->setOffset($offset); |
|
114 | + if($offset <= $total) { |
|
115 | + $criteria->setOffset($offset); |
|
116 | + } |
|
115 | 117 | } |
116 | 118 | $order = explode(' ',$this->_sort->getSelectedValue(), 2); |
117 | - if(is_array($order) && count($order) === 2) |
|
118 | - $criteria->OrdersBy[$order[0]] = $order[1]; |
|
119 | + if(is_array($order) && count($order) === 2) { |
|
120 | + $criteria->OrdersBy[$order[0]] = $order[1]; |
|
121 | + } |
|
119 | 122 | return $criteria; |
120 | 123 | } |
121 | 124 | |
@@ -204,8 +207,9 @@ discard block |
||
204 | 207 | if($item instanceof IItemDataRenderer) |
205 | 208 | { |
206 | 209 | $type = $item->getItemType(); |
207 | - if($type==TListItemType::Item || $type==TListItemType::AlternatingItem) |
|
208 | - $this->populateField($sender, $param); |
|
210 | + if($type==TListItemType::Item || $type==TListItemType::AlternatingItem) { |
|
211 | + $this->populateField($sender, $param); |
|
212 | + } |
|
209 | 213 | } |
210 | 214 | } |
211 | 215 | |
@@ -295,8 +299,9 @@ discard block |
||
295 | 299 | if(($id=$this->getEditViewID())!==null) |
296 | 300 | { |
297 | 301 | $ctrl = $this->getParent()->findControl($id); |
298 | - if($ctrl===null) |
|
299 | - throw new TConfigurationException('scaffold_unable_to_find_edit_view', $id); |
|
302 | + if($ctrl===null) { |
|
303 | + throw new TConfigurationException('scaffold_unable_to_find_edit_view', $id); |
|
304 | + } |
|
300 | 305 | return $ctrl; |
301 | 306 | } |
302 | 307 | } |
@@ -651,6 +651,7 @@ discard block |
||
651 | 651 | * class. |
652 | 652 | * @param string select SQL |
653 | 653 | * @param array $parameters |
654 | + * @param string $sql |
|
654 | 655 | * @return TActiveRecord, null if no result is returned. |
655 | 656 | */ |
656 | 657 | public function findBySql($sql,$parameters=array()) |
@@ -715,6 +716,7 @@ discard block |
||
715 | 716 | * value equal to the $property value. |
716 | 717 | * @param string relationship/property name corresponding to keys in $RELATION array. |
717 | 718 | * @param array method call arguments. |
719 | + * @param string $name |
|
718 | 720 | * @return TActiveRecordRelation, null if the context or the handler doesn't exist |
719 | 721 | */ |
720 | 722 | protected function getRelationHandler($name,$args=array()) |
@@ -939,6 +941,7 @@ discard block |
||
939 | 941 | * Raised before the record attempt to insert its data into the database. |
940 | 942 | * To prevent the insert operation, set the TActiveRecordChangeEventParameter::IsValid parameter to false. |
941 | 943 | * @param TActiveRecordChangeEventParameter event parameter to be passed to the event handlers |
944 | + * @param TActiveRecordChangeEventParameter $param |
|
942 | 945 | */ |
943 | 946 | public function onInsert($param) |
944 | 947 | { |
@@ -949,6 +952,7 @@ discard block |
||
949 | 952 | * Raised before the record attempt to delete its data from the database. |
950 | 953 | * To prevent the delete operation, set the TActiveRecordChangeEventParameter::IsValid parameter to false. |
951 | 954 | * @param TActiveRecordChangeEventParameter event parameter to be passed to the event handlers |
955 | + * @param TActiveRecordChangeEventParameter $param |
|
952 | 956 | */ |
953 | 957 | public function onDelete($param) |
954 | 958 | { |
@@ -959,6 +963,7 @@ discard block |
||
959 | 963 | * Raised before the record attempt to update its data in the database. |
960 | 964 | * To prevent the update operation, set the TActiveRecordChangeEventParameter::IsValid parameter to false. |
961 | 965 | * @param TActiveRecordChangeEventParameter event parameter to be passed to the event handlers |
966 | + * @param TActiveRecordChangeEventParameter $param |
|
962 | 967 | */ |
963 | 968 | public function onUpdate($param) |
964 | 969 | { |
@@ -1042,7 +1047,7 @@ discard block |
||
1042 | 1047 | |
1043 | 1048 | /** |
1044 | 1049 | * Return record data as JSON |
1045 | - * @return JSON |
|
1050 | + * @return string |
|
1046 | 1051 | * @since 3.2.4 |
1047 | 1052 | */ |
1048 | 1053 | public function toJSON(){ |
@@ -1026,28 +1026,28 @@ |
||
1026 | 1026 | return isset(self::$_relations[get_class($this)][strtolower($property)]); |
1027 | 1027 | } |
1028 | 1028 | |
1029 | - /** |
|
1030 | - * Return record data as array |
|
1031 | - * @return array of column name and column values |
|
1032 | - * @since 3.2.4 |
|
1033 | - */ |
|
1034 | - public function toArray(){ |
|
1035 | - $result=array(); |
|
1036 | - foreach($this->getRecordTableInfo()->getLowerCaseColumnNames() as $columnName){ |
|
1037 | - $result[$columnName]=$this->getColumnValue($columnName); |
|
1038 | - } |
|
1029 | + /** |
|
1030 | + * Return record data as array |
|
1031 | + * @return array of column name and column values |
|
1032 | + * @since 3.2.4 |
|
1033 | + */ |
|
1034 | + public function toArray(){ |
|
1035 | + $result=array(); |
|
1036 | + foreach($this->getRecordTableInfo()->getLowerCaseColumnNames() as $columnName){ |
|
1037 | + $result[$columnName]=$this->getColumnValue($columnName); |
|
1038 | + } |
|
1039 | 1039 | |
1040 | - return $result; |
|
1041 | - } |
|
1040 | + return $result; |
|
1041 | + } |
|
1042 | 1042 | |
1043 | - /** |
|
1044 | - * Return record data as JSON |
|
1045 | - * @return JSON |
|
1046 | - * @since 3.2.4 |
|
1047 | - */ |
|
1048 | - public function toJSON(){ |
|
1049 | - return json_encode($this->toArray()); |
|
1050 | - } |
|
1043 | + /** |
|
1044 | + * Return record data as JSON |
|
1045 | + * @return JSON |
|
1046 | + * @since 3.2.4 |
|
1047 | + */ |
|
1048 | + public function toJSON(){ |
|
1049 | + return json_encode($this->toArray()); |
|
1050 | + } |
|
1051 | 1051 | } |
1052 | 1052 | |
1053 | 1053 | /** |
@@ -146,20 +146,20 @@ discard block |
||
146 | 146 | */ |
147 | 147 | abstract class TActiveRecord extends TComponent |
148 | 148 | { |
149 | - const BELONGS_TO='BELONGS_TO'; |
|
150 | - const HAS_ONE='HAS_ONE'; |
|
151 | - const HAS_MANY='HAS_MANY'; |
|
152 | - const MANY_TO_MANY='MANY_TO_MANY'; |
|
149 | + const BELONGS_TO = 'BELONGS_TO'; |
|
150 | + const HAS_ONE = 'HAS_ONE'; |
|
151 | + const HAS_MANY = 'HAS_MANY'; |
|
152 | + const MANY_TO_MANY = 'MANY_TO_MANY'; |
|
153 | 153 | |
154 | - const STATE_NEW=0; |
|
155 | - const STATE_LOADED=1; |
|
156 | - const STATE_DELETED=2; |
|
154 | + const STATE_NEW = 0; |
|
155 | + const STATE_LOADED = 1; |
|
156 | + const STATE_DELETED = 2; |
|
157 | 157 | |
158 | 158 | /** |
159 | 159 | * @var integer record state: 0 = new, 1 = loaded, 2 = deleted. |
160 | 160 | * @since 3.1.2 |
161 | 161 | */ |
162 | - protected $_recordState=0; // use protected so that serialization is fine |
|
162 | + protected $_recordState = 0; // use protected so that serialization is fine |
|
163 | 163 | |
164 | 164 | /** |
165 | 165 | * This static variable defines the column mapping. |
@@ -169,8 +169,8 @@ discard block |
||
169 | 169 | * @var array column mapping. Keys: physical column names, values: logical column names. |
170 | 170 | * @since 3.1.1 |
171 | 171 | */ |
172 | - public static $COLUMN_MAPPING=array(); |
|
173 | - private static $_columnMapping=array(); |
|
172 | + public static $COLUMN_MAPPING = array(); |
|
173 | + private static $_columnMapping = array(); |
|
174 | 174 | |
175 | 175 | /** |
176 | 176 | * This static variable defines the relationships. |
@@ -179,8 +179,8 @@ discard block |
||
179 | 179 | * @var array relationship. |
180 | 180 | * @since 3.1.1 |
181 | 181 | */ |
182 | - public static $RELATIONS=array(); |
|
183 | - private static $_relations=array(); |
|
182 | + public static $RELATIONS = array(); |
|
183 | + private static $_relations = array(); |
|
184 | 184 | |
185 | 185 | /** |
186 | 186 | * @var TDbConnection database connection object. |
@@ -201,7 +201,7 @@ discard block |
||
201 | 201 | */ |
202 | 202 | public function __sleep() |
203 | 203 | { |
204 | - return array_diff(parent::__sleep(),array("\0*\0_connection")); |
|
204 | + return array_diff(parent::__sleep(), array("\0*\0_connection")); |
|
205 | 205 | } |
206 | 206 | |
207 | 207 | /** |
@@ -220,13 +220,13 @@ discard block |
||
220 | 220 | * @param array optional name value pair record data. |
221 | 221 | * @param TDbConnection optional database connection this object record use. |
222 | 222 | */ |
223 | - public function __construct($data=array(), $connection=null) |
|
223 | + public function __construct($data = array(), $connection = null) |
|
224 | 224 | { |
225 | - if($connection!==null) |
|
225 | + if ($connection !== null) |
|
226 | 226 | $this->setDbConnection($connection); |
227 | 227 | $this->setupColumnMapping(); |
228 | 228 | $this->setupRelations(); |
229 | - if(!empty($data)) //$data may be an object |
|
229 | + if (!empty($data)) //$data may be an object |
|
230 | 230 | $this->copyFrom($data); |
231 | 231 | } |
232 | 232 | |
@@ -240,7 +240,7 @@ discard block |
||
240 | 240 | */ |
241 | 241 | public function __get($name) |
242 | 242 | { |
243 | - if($this->hasRecordRelation($name) && !$this->canGetProperty($name)) |
|
243 | + if ($this->hasRecordRelation($name) && !$this->canGetProperty($name)) |
|
244 | 244 | { |
245 | 245 | $this->fetchResultsFor($name); |
246 | 246 | return $this->$name; |
@@ -256,12 +256,12 @@ discard block |
||
256 | 256 | * @param mixed property value. |
257 | 257 | * @since 3.1.2 |
258 | 258 | */ |
259 | - public function __set($name,$value) |
|
259 | + public function __set($name, $value) |
|
260 | 260 | { |
261 | - if($this->hasRecordRelation($name) && !$this->canSetProperty($name)) |
|
262 | - $this->$name=$value; |
|
261 | + if ($this->hasRecordRelation($name) && !$this->canSetProperty($name)) |
|
262 | + $this->$name = $value; |
|
263 | 263 | else |
264 | - parent::__set($name,$value); |
|
264 | + parent::__set($name, $value); |
|
265 | 265 | } |
266 | 266 | |
267 | 267 | /** |
@@ -269,11 +269,11 @@ discard block |
||
269 | 269 | */ |
270 | 270 | private function setupColumnMapping() |
271 | 271 | { |
272 | - $className=get_class($this); |
|
273 | - if(!isset(self::$_columnMapping[$className])) |
|
272 | + $className = get_class($this); |
|
273 | + if (!isset(self::$_columnMapping[$className])) |
|
274 | 274 | { |
275 | - $class=new ReflectionClass($className); |
|
276 | - self::$_columnMapping[$className]=$class->getStaticPropertyValue('COLUMN_MAPPING'); |
|
275 | + $class = new ReflectionClass($className); |
|
276 | + self::$_columnMapping[$className] = $class->getStaticPropertyValue('COLUMN_MAPPING'); |
|
277 | 277 | } |
278 | 278 | } |
279 | 279 | |
@@ -282,14 +282,14 @@ discard block |
||
282 | 282 | */ |
283 | 283 | private function setupRelations() |
284 | 284 | { |
285 | - $className=get_class($this); |
|
286 | - if(!isset(self::$_relations[$className])) |
|
285 | + $className = get_class($this); |
|
286 | + if (!isset(self::$_relations[$className])) |
|
287 | 287 | { |
288 | - $class=new ReflectionClass($className); |
|
289 | - $relations=array(); |
|
290 | - foreach($class->getStaticPropertyValue('RELATIONS') as $key=>$value) |
|
291 | - $relations[strtolower($key)]=array($key,$value); |
|
292 | - self::$_relations[$className]=$relations; |
|
288 | + $class = new ReflectionClass($className); |
|
289 | + $relations = array(); |
|
290 | + foreach ($class->getStaticPropertyValue('RELATIONS') as $key=>$value) |
|
291 | + $relations[strtolower($key)] = array($key, $value); |
|
292 | + self::$_relations[$className] = $relations; |
|
293 | 293 | } |
294 | 294 | } |
295 | 295 | |
@@ -299,18 +299,18 @@ discard block |
||
299 | 299 | */ |
300 | 300 | public function copyFrom($data) |
301 | 301 | { |
302 | - if(is_object($data)) |
|
303 | - $data=get_object_vars($data); |
|
304 | - if(!is_array($data)) |
|
302 | + if (is_object($data)) |
|
303 | + $data = get_object_vars($data); |
|
304 | + if (!is_array($data)) |
|
305 | 305 | throw new TActiveRecordException('ar_data_invalid', get_class($this)); |
306 | - foreach($data as $name=>$value) |
|
307 | - $this->setColumnValue($name,$value); |
|
306 | + foreach ($data as $name=>$value) |
|
307 | + $this->setColumnValue($name, $value); |
|
308 | 308 | } |
309 | 309 | |
310 | 310 | |
311 | 311 | public static function getActiveDbConnection() |
312 | 312 | { |
313 | - if(($db=self::getRecordManager()->getDbConnection())!==null) |
|
313 | + if (($db = self::getRecordManager()->getDbConnection()) !== null) |
|
314 | 314 | $db->setActive(true); |
315 | 315 | return $db; |
316 | 316 | } |
@@ -322,8 +322,8 @@ discard block |
||
322 | 322 | */ |
323 | 323 | public function getDbConnection() |
324 | 324 | { |
325 | - if($this->_connection===null) |
|
326 | - $this->_connection=self::getActiveDbConnection(); |
|
325 | + if ($this->_connection === null) |
|
326 | + $this->_connection = self::getActiveDbConnection(); |
|
327 | 327 | return $this->_connection; |
328 | 328 | } |
329 | 329 | |
@@ -332,7 +332,7 @@ discard block |
||
332 | 332 | */ |
333 | 333 | public function setDbConnection($connection) |
334 | 334 | { |
335 | - $this->_connection=$connection; |
|
335 | + $this->_connection = $connection; |
|
336 | 336 | } |
337 | 337 | |
338 | 338 | /** |
@@ -351,21 +351,21 @@ discard block |
||
351 | 351 | * @param boolean true to perform strict identity comparison |
352 | 352 | * @return boolean true if $record equals, false otherwise. |
353 | 353 | */ |
354 | - public function equals(TActiveRecord $record, $strict=false) |
|
354 | + public function equals(TActiveRecord $record, $strict = false) |
|
355 | 355 | { |
356 | - if($record===null || get_class($this)!==get_class($record)) |
|
356 | + if ($record === null || get_class($this) !== get_class($record)) |
|
357 | 357 | return false; |
358 | 358 | $tableInfo = $this->getRecordTableInfo(); |
359 | 359 | $pks = $tableInfo->getPrimaryKeys(); |
360 | 360 | $properties = count($pks) > 0 ? $pks : $tableInfo->getColumns()->getKeys(); |
361 | - $equals=true; |
|
362 | - foreach($properties as $prop) |
|
361 | + $equals = true; |
|
362 | + foreach ($properties as $prop) |
|
363 | 363 | { |
364 | - if($strict) |
|
364 | + if ($strict) |
|
365 | 365 | $equals = $equals && $this->getColumnValue($prop) === $record->getColumnValue($prop); |
366 | 366 | else |
367 | 367 | $equals = $equals && $this->getColumnValue($prop) == $record->getColumnValue($prop); |
368 | - if(!$equals) |
|
368 | + if (!$equals) |
|
369 | 369 | return false; |
370 | 370 | } |
371 | 371 | return $equals; |
@@ -380,13 +380,13 @@ discard block |
||
380 | 380 | * @param string active record class name. |
381 | 381 | * @return TActiveRecord active record finder instance. |
382 | 382 | */ |
383 | - public static function finder($className=__CLASS__) |
|
383 | + public static function finder($className = __CLASS__) |
|
384 | 384 | { |
385 | 385 | static $finders = array(); |
386 | - if(!isset($finders[$className])) |
|
386 | + if (!isset($finders[$className])) |
|
387 | 387 | { |
388 | 388 | $f = Prado::createComponent($className); |
389 | - $finders[$className]=$f; |
|
389 | + $finders[$className] = $f; |
|
390 | 390 | } |
391 | 391 | return $finders[$className]; |
392 | 392 | } |
@@ -417,19 +417,19 @@ discard block |
||
417 | 417 | { |
418 | 418 | $gateway = $this->getRecordGateway(); |
419 | 419 | $param = new TActiveRecordChangeEventParameter(); |
420 | - if($this->_recordState===self::STATE_NEW) |
|
420 | + if ($this->_recordState === self::STATE_NEW) |
|
421 | 421 | { |
422 | 422 | $this->onInsert($param); |
423 | - if($param->getIsValid() && $gateway->insert($this)) |
|
423 | + if ($param->getIsValid() && $gateway->insert($this)) |
|
424 | 424 | { |
425 | 425 | $this->_recordState = self::STATE_LOADED; |
426 | 426 | return true; |
427 | 427 | } |
428 | 428 | } |
429 | - else if($this->_recordState===self::STATE_LOADED) |
|
429 | + else if ($this->_recordState === self::STATE_LOADED) |
|
430 | 430 | { |
431 | 431 | $this->onUpdate($param); |
432 | - if($param->getIsValid() && $gateway->update($this)) |
|
432 | + if ($param->getIsValid() && $gateway->update($this)) |
|
433 | 433 | return true; |
434 | 434 | } |
435 | 435 | else |
@@ -445,14 +445,14 @@ discard block |
||
445 | 445 | */ |
446 | 446 | public function delete() |
447 | 447 | { |
448 | - if($this->_recordState===self::STATE_LOADED) |
|
448 | + if ($this->_recordState === self::STATE_LOADED) |
|
449 | 449 | { |
450 | 450 | $gateway = $this->getRecordGateway(); |
451 | 451 | $param = new TActiveRecordChangeEventParameter(); |
452 | 452 | $this->onDelete($param); |
453 | - if($param->getIsValid() && $gateway->delete($this)) |
|
453 | + if ($param->getIsValid() && $gateway->delete($this)) |
|
454 | 454 | { |
455 | - $this->_recordState=self::STATE_DELETED; |
|
455 | + $this->_recordState = self::STATE_DELETED; |
|
456 | 456 | return true; |
457 | 457 | } |
458 | 458 | } |
@@ -487,9 +487,9 @@ discard block |
||
487 | 487 | */ |
488 | 488 | public function deleteByPk($keys) |
489 | 489 | { |
490 | - if(func_num_args() > 1) |
|
490 | + if (func_num_args() > 1) |
|
491 | 491 | $keys = func_get_args(); |
492 | - return $this->getRecordGateway()->deleteRecordsByPk($this,(array)$keys); |
|
492 | + return $this->getRecordGateway()->deleteRecordsByPk($this, (array) $keys); |
|
493 | 493 | } |
494 | 494 | |
495 | 495 | /** |
@@ -497,7 +497,7 @@ discard block |
||
497 | 497 | */ |
498 | 498 | public function deleteAllByPks($keys) |
499 | 499 | { |
500 | - if(func_num_args() > 1) |
|
500 | + if (func_num_args() > 1) |
|
501 | 501 | $keys = func_get_args(); |
502 | 502 | return $this->deleteByPk($keys); |
503 | 503 | } |
@@ -507,10 +507,10 @@ discard block |
||
507 | 507 | * @param mixed parameter values. |
508 | 508 | * @return int number of records deleted. |
509 | 509 | */ |
510 | - public function deleteAll($criteria=null, $parameters=array()) |
|
510 | + public function deleteAll($criteria = null, $parameters = array()) |
|
511 | 511 | { |
512 | - $args = func_num_args() > 1 ? array_slice(func_get_args(),1) : null; |
|
513 | - $criteria = $this->getRecordCriteria($criteria,$parameters, $args); |
|
512 | + $args = func_num_args() > 1 ? array_slice(func_get_args(), 1) : null; |
|
513 | + $criteria = $this->getRecordCriteria($criteria, $parameters, $args); |
|
514 | 514 | return $this->getRecordGateway()->deleteRecordsByCriteria($this, $criteria); |
515 | 515 | } |
516 | 516 | |
@@ -532,8 +532,8 @@ discard block |
||
532 | 532 | */ |
533 | 533 | protected function populateObjects($reader) |
534 | 534 | { |
535 | - $result=array(); |
|
536 | - foreach($reader as $data) |
|
535 | + $result = array(); |
|
536 | + foreach ($reader as $data) |
|
537 | 537 | $result[] = $this->populateObject($data); |
538 | 538 | return $result; |
539 | 539 | } |
@@ -549,10 +549,10 @@ discard block |
||
549 | 549 | */ |
550 | 550 | public static function createRecord($type, $data) |
551 | 551 | { |
552 | - if(empty($data)) |
|
552 | + if (empty($data)) |
|
553 | 553 | return null; |
554 | - $record=new $type($data); |
|
555 | - $record->_recordState=self::STATE_LOADED; |
|
554 | + $record = new $type($data); |
|
555 | + $record->_recordState = self::STATE_LOADED; |
|
556 | 556 | return $record; |
557 | 557 | } |
558 | 558 | |
@@ -573,12 +573,12 @@ discard block |
||
573 | 573 | * @param mixed parameter values. |
574 | 574 | * @return TActiveRecord matching record object. Null if no result is found. |
575 | 575 | */ |
576 | - public function find($criteria,$parameters=array()) |
|
576 | + public function find($criteria, $parameters = array()) |
|
577 | 577 | { |
578 | - $args = func_num_args() > 1 ? array_slice(func_get_args(),1) : null; |
|
579 | - $criteria = $this->getRecordCriteria($criteria,$parameters, $args); |
|
578 | + $args = func_num_args() > 1 ? array_slice(func_get_args(), 1) : null; |
|
579 | + $criteria = $this->getRecordCriteria($criteria, $parameters, $args); |
|
580 | 580 | $criteria->setLimit(1); |
581 | - $data = $this->getRecordGateway()->findRecordsByCriteria($this,$criteria); |
|
581 | + $data = $this->getRecordGateway()->findRecordsByCriteria($this, $criteria); |
|
582 | 582 | return $this->populateObject($data); |
583 | 583 | } |
584 | 584 | |
@@ -589,12 +589,12 @@ discard block |
||
589 | 589 | * @param mixed parameter values. |
590 | 590 | * @return array matching record objects. Empty array if no result is found. |
591 | 591 | */ |
592 | - public function findAll($criteria=null,$parameters=array()) |
|
592 | + public function findAll($criteria = null, $parameters = array()) |
|
593 | 593 | { |
594 | - $args = func_num_args() > 1 ? array_slice(func_get_args(),1) : null; |
|
595 | - if($criteria!==null) |
|
596 | - $criteria = $this->getRecordCriteria($criteria,$parameters, $args); |
|
597 | - $result = $this->getRecordGateway()->findRecordsByCriteria($this,$criteria,true); |
|
594 | + $args = func_num_args() > 1 ? array_slice(func_get_args(), 1) : null; |
|
595 | + if ($criteria !== null) |
|
596 | + $criteria = $this->getRecordCriteria($criteria, $parameters, $args); |
|
597 | + $result = $this->getRecordGateway()->findRecordsByCriteria($this, $criteria, true); |
|
598 | 598 | return $this->populateObjects($result); |
599 | 599 | } |
600 | 600 | |
@@ -612,11 +612,11 @@ discard block |
||
612 | 612 | */ |
613 | 613 | public function findByPk($keys) |
614 | 614 | { |
615 | - if($keys === null) |
|
615 | + if ($keys === null) |
|
616 | 616 | return null; |
617 | - if(func_num_args() > 1) |
|
617 | + if (func_num_args() > 1) |
|
618 | 618 | $keys = func_get_args(); |
619 | - $data = $this->getRecordGateway()->findRecordByPK($this,$keys); |
|
619 | + $data = $this->getRecordGateway()->findRecordByPK($this, $keys); |
|
620 | 620 | return $this->populateObject($data); |
621 | 621 | } |
622 | 622 | |
@@ -639,9 +639,9 @@ discard block |
||
639 | 639 | */ |
640 | 640 | public function findAllByPks($keys) |
641 | 641 | { |
642 | - if(func_num_args() > 1) |
|
642 | + if (func_num_args() > 1) |
|
643 | 643 | $keys = func_get_args(); |
644 | - $result = $this->getRecordGateway()->findRecordsByPks($this,(array)$keys); |
|
644 | + $result = $this->getRecordGateway()->findRecordsByPks($this, (array) $keys); |
|
645 | 645 | return $this->populateObjects($result); |
646 | 646 | } |
647 | 647 | |
@@ -653,12 +653,12 @@ discard block |
||
653 | 653 | * @param array $parameters |
654 | 654 | * @return TActiveRecord, null if no result is returned. |
655 | 655 | */ |
656 | - public function findBySql($sql,$parameters=array()) |
|
656 | + public function findBySql($sql, $parameters = array()) |
|
657 | 657 | { |
658 | - $args = func_num_args() > 1 ? array_slice(func_get_args(),1) : null; |
|
659 | - $criteria = $this->getRecordCriteria($sql,$parameters, $args); |
|
658 | + $args = func_num_args() > 1 ? array_slice(func_get_args(), 1) : null; |
|
659 | + $criteria = $this->getRecordCriteria($sql, $parameters, $args); |
|
660 | 660 | $criteria->setLimit(1); |
661 | - $data = $this->getRecordGateway()->findRecordBySql($this,$criteria); |
|
661 | + $data = $this->getRecordGateway()->findRecordBySql($this, $criteria); |
|
662 | 662 | return $this->populateObject($data); |
663 | 663 | } |
664 | 664 | |
@@ -670,11 +670,11 @@ discard block |
||
670 | 670 | * @param array $parameters |
671 | 671 | * @return array matching active records. Empty array is returned if no result is found. |
672 | 672 | */ |
673 | - public function findAllBySql($sql,$parameters=array()) |
|
673 | + public function findAllBySql($sql, $parameters = array()) |
|
674 | 674 | { |
675 | - $args = func_num_args() > 1 ? array_slice(func_get_args(),1) : null; |
|
676 | - $criteria = $this->getRecordCriteria($sql,$parameters, $args); |
|
677 | - $result = $this->getRecordGateway()->findRecordsBySql($this,$criteria); |
|
675 | + $args = func_num_args() > 1 ? array_slice(func_get_args(), 1) : null; |
|
676 | + $criteria = $this->getRecordCriteria($sql, $parameters, $args); |
|
677 | + $result = $this->getRecordGateway()->findRecordsBySql($this, $criteria); |
|
678 | 678 | return $this->populateObjects($result); |
679 | 679 | } |
680 | 680 | |
@@ -690,9 +690,9 @@ discard block |
||
690 | 690 | * @param array matching field values. |
691 | 691 | * @return array matching active records. Empty array is returned if no result is found. |
692 | 692 | */ |
693 | - public function findAllByIndex($criteria,$fields,$values) |
|
693 | + public function findAllByIndex($criteria, $fields, $values) |
|
694 | 694 | { |
695 | - $result = $this->getRecordGateway()->findRecordsByIndex($this,$criteria,$fields,$values); |
|
695 | + $result = $this->getRecordGateway()->findRecordsByIndex($this, $criteria, $fields, $values); |
|
696 | 696 | return $this->populateObjects($result); |
697 | 697 | } |
698 | 698 | |
@@ -702,12 +702,12 @@ discard block |
||
702 | 702 | * @param mixed parameter values. |
703 | 703 | * @return int number of records. |
704 | 704 | */ |
705 | - public function count($criteria=null,$parameters=array()) |
|
705 | + public function count($criteria = null, $parameters = array()) |
|
706 | 706 | { |
707 | - $args = func_num_args() > 1 ? array_slice(func_get_args(),1) : null; |
|
708 | - if($criteria!==null) |
|
709 | - $criteria = $this->getRecordCriteria($criteria,$parameters, $args); |
|
710 | - return $this->getRecordGateway()->countRecords($this,$criteria); |
|
707 | + $args = func_num_args() > 1 ? array_slice(func_get_args(), 1) : null; |
|
708 | + if ($criteria !== null) |
|
709 | + $criteria = $this->getRecordCriteria($criteria, $parameters, $args); |
|
710 | + return $this->getRecordGateway()->countRecords($this, $criteria); |
|
711 | 711 | } |
712 | 712 | |
713 | 713 | /** |
@@ -717,11 +717,11 @@ discard block |
||
717 | 717 | * @param array method call arguments. |
718 | 718 | * @return TActiveRecordRelation, null if the context or the handler doesn't exist |
719 | 719 | */ |
720 | - protected function getRelationHandler($name,$args=array()) |
|
720 | + protected function getRelationHandler($name, $args = array()) |
|
721 | 721 | { |
722 | - if(($context=$this->createRelationContext($name)) !== null) |
|
722 | + if (($context = $this->createRelationContext($name)) !== null) |
|
723 | 723 | { |
724 | - $criteria = $this->getRecordCriteria(count($args)>0 ? $args[0] : null, array_slice($args,1)); |
|
724 | + $criteria = $this->getRecordCriteria(count($args) > 0 ? $args[0] : null, array_slice($args, 1)); |
|
725 | 725 | return $context->getRelationHandler($criteria); |
726 | 726 | } |
727 | 727 | else |
@@ -739,10 +739,10 @@ discard block |
||
739 | 739 | */ |
740 | 740 | protected function createRelationContext($name) |
741 | 741 | { |
742 | - if(($definition=$this->getRecordRelation($name))!==null) |
|
742 | + if (($definition = $this->getRecordRelation($name)) !== null) |
|
743 | 743 | { |
744 | 744 | list($property, $relation) = $definition; |
745 | - return new TActiveRecordRelationContext($this,$property,$relation); |
|
745 | + return new TActiveRecordRelationContext($this, $property, $relation); |
|
746 | 746 | } |
747 | 747 | else |
748 | 748 | return null; |
@@ -785,7 +785,7 @@ discard block |
||
785 | 785 | */ |
786 | 786 | protected function fetchResultsFor($property) |
787 | 787 | { |
788 | - if( ($context=$this->createRelationContext($property)) !== null) |
|
788 | + if (($context = $this->createRelationContext($property)) !== null) |
|
789 | 789 | return $context->getRelationHandler()->fetchResultsInto($this); |
790 | 790 | else |
791 | 791 | return false; |
@@ -820,32 +820,32 @@ discard block |
||
820 | 820 | * @return mixed single record if method name starts with "findBy", 0 or more records |
821 | 821 | * if method name starts with "findAllBy" |
822 | 822 | */ |
823 | - public function __call($method,$args) |
|
823 | + public function __call($method, $args) |
|
824 | 824 | { |
825 | - $delete =false; |
|
826 | - if(strncasecmp($method,'with',4)===0) |
|
825 | + $delete = false; |
|
826 | + if (strncasecmp($method, 'with', 4) === 0) |
|
827 | 827 | { |
828 | - $property= $method[4]==='_' ? substr($method,5) : substr($method,4); |
|
828 | + $property = $method[4] === '_' ? substr($method, 5) : substr($method, 4); |
|
829 | 829 | return $this->getRelationHandler($property, $args); |
830 | 830 | } |
831 | - else if($findOne=strncasecmp($method,'findby',6)===0) |
|
832 | - $condition = $method[6]==='_' ? substr($method,7) : substr($method,6); |
|
833 | - else if(strncasecmp($method,'findallby',9)===0) |
|
834 | - $condition = $method[9]==='_' ? substr($method,10) : substr($method,9); |
|
835 | - else if($delete=strncasecmp($method,'deleteby',8)===0) |
|
836 | - $condition = $method[8]==='_' ? substr($method,9) : substr($method,8); |
|
837 | - else if($delete=strncasecmp($method,'deleteallby',11)===0) |
|
838 | - $condition = $method[11]==='_' ? substr($method,12) : substr($method,11); |
|
831 | + else if ($findOne = strncasecmp($method, 'findby', 6) === 0) |
|
832 | + $condition = $method[6] === '_' ? substr($method, 7) : substr($method, 6); |
|
833 | + else if (strncasecmp($method, 'findallby', 9) === 0) |
|
834 | + $condition = $method[9] === '_' ? substr($method, 10) : substr($method, 9); |
|
835 | + else if ($delete = strncasecmp($method, 'deleteby', 8) === 0) |
|
836 | + $condition = $method[8] === '_' ? substr($method, 9) : substr($method, 8); |
|
837 | + else if ($delete = strncasecmp($method, 'deleteallby', 11) === 0) |
|
838 | + $condition = $method[11] === '_' ? substr($method, 12) : substr($method, 11); |
|
839 | 839 | else |
840 | 840 | { |
841 | - if($this->getInvalidFinderResult() == TActiveRecordInvalidFinderResult::Exception) |
|
842 | - throw new TActiveRecordException('ar_invalid_finder_method',$method); |
|
841 | + if ($this->getInvalidFinderResult() == TActiveRecordInvalidFinderResult::Exception) |
|
842 | + throw new TActiveRecordException('ar_invalid_finder_method', $method); |
|
843 | 843 | else |
844 | 844 | return null; |
845 | 845 | } |
846 | 846 | |
847 | 847 | $criteria = $this->getRecordGateway()->getCommand($this)->createCriteriaFromString($method, $condition, $args); |
848 | - if($delete) |
|
848 | + if ($delete) |
|
849 | 849 | return $this->deleteAll($criteria); |
850 | 850 | else |
851 | 851 | return $findOne ? $this->find($criteria) : $this->findAll($criteria); |
@@ -858,7 +858,7 @@ discard block |
||
858 | 858 | */ |
859 | 859 | public function getInvalidFinderResult() |
860 | 860 | { |
861 | - if($this->_invalidFinderResult !== null) |
|
861 | + if ($this->_invalidFinderResult !== null) |
|
862 | 862 | return $this->_invalidFinderResult; |
863 | 863 | |
864 | 864 | return self::getRecordManager()->getInvalidFinderResult(); |
@@ -873,7 +873,7 @@ discard block |
||
873 | 873 | */ |
874 | 874 | public function setInvalidFinderResult($value) |
875 | 875 | { |
876 | - if($value === null) |
|
876 | + if ($value === null) |
|
877 | 877 | $this->_invalidFinderResult = null; |
878 | 878 | else |
879 | 879 | $this->_invalidFinderResult = TPropertyValue::ensureEnum($value, 'TActiveRecordInvalidFinderResult'); |
@@ -888,14 +888,14 @@ discard block |
||
888 | 888 | * @param array additional parameters obtained from function_get_args(). |
889 | 889 | * @return TSqlCriteria criteria object. |
890 | 890 | */ |
891 | - protected function getRecordCriteria($criteria, $parameters, $args=array()) |
|
891 | + protected function getRecordCriteria($criteria, $parameters, $args = array()) |
|
892 | 892 | { |
893 | - if(is_string($criteria)) |
|
893 | + if (is_string($criteria)) |
|
894 | 894 | { |
895 | 895 | $useArgs = !is_array($parameters) && is_array($args); |
896 | - return new TActiveRecordCriteria($criteria,$useArgs ? $args : $parameters); |
|
896 | + return new TActiveRecordCriteria($criteria, $useArgs ? $args : $parameters); |
|
897 | 897 | } |
898 | - else if($criteria instanceof TSqlCriteria) |
|
898 | + else if ($criteria instanceof TSqlCriteria) |
|
899 | 899 | return $criteria; |
900 | 900 | else |
901 | 901 | return new TActiveRecordCriteria(); |
@@ -974,9 +974,9 @@ discard block |
||
974 | 974 | */ |
975 | 975 | public function getColumnValue($columnName) |
976 | 976 | { |
977 | - $className=get_class($this); |
|
978 | - if(isset(self::$_columnMapping[$className][$columnName])) |
|
979 | - $columnName=self::$_columnMapping[$className][$columnName]; |
|
977 | + $className = get_class($this); |
|
978 | + if (isset(self::$_columnMapping[$className][$columnName])) |
|
979 | + $columnName = self::$_columnMapping[$className][$columnName]; |
|
980 | 980 | return $this->$columnName; |
981 | 981 | } |
982 | 982 | |
@@ -987,12 +987,12 @@ discard block |
||
987 | 987 | * @param mixed the corresponding column value |
988 | 988 | * @since 3.1.1 |
989 | 989 | */ |
990 | - public function setColumnValue($columnName,$value) |
|
990 | + public function setColumnValue($columnName, $value) |
|
991 | 991 | { |
992 | - $className=get_class($this); |
|
993 | - if(isset(self::$_columnMapping[$className][$columnName])) |
|
994 | - $columnName=self::$_columnMapping[$className][$columnName]; |
|
995 | - $this->$columnName=$value; |
|
992 | + $className = get_class($this); |
|
993 | + if (isset(self::$_columnMapping[$className][$columnName])) |
|
994 | + $columnName = self::$_columnMapping[$className][$columnName]; |
|
995 | + $this->$columnName = $value; |
|
996 | 996 | } |
997 | 997 | |
998 | 998 | /** |
@@ -1002,9 +1002,9 @@ discard block |
||
1002 | 1002 | */ |
1003 | 1003 | public function getRecordRelation($property) |
1004 | 1004 | { |
1005 | - $className=get_class($this); |
|
1006 | - $property=strtolower($property); |
|
1007 | - return isset(self::$_relations[$className][$property])?self::$_relations[$className][$property]:null; |
|
1005 | + $className = get_class($this); |
|
1006 | + $property = strtolower($property); |
|
1007 | + return isset(self::$_relations[$className][$property]) ? self::$_relations[$className][$property] : null; |
|
1008 | 1008 | } |
1009 | 1009 | |
1010 | 1010 | /** |
@@ -1031,10 +1031,10 @@ discard block |
||
1031 | 1031 | * @return array of column name and column values |
1032 | 1032 | * @since 3.2.4 |
1033 | 1033 | */ |
1034 | - public function toArray(){ |
|
1035 | - $result=array(); |
|
1036 | - foreach($this->getRecordTableInfo()->getLowerCaseColumnNames() as $columnName){ |
|
1037 | - $result[$columnName]=$this->getColumnValue($columnName); |
|
1034 | + public function toArray() { |
|
1035 | + $result = array(); |
|
1036 | + foreach ($this->getRecordTableInfo()->getLowerCaseColumnNames() as $columnName) { |
|
1037 | + $result[$columnName] = $this->getColumnValue($columnName); |
|
1038 | 1038 | } |
1039 | 1039 | |
1040 | 1040 | return $result; |
@@ -1045,7 +1045,7 @@ discard block |
||
1045 | 1045 | * @return JSON |
1046 | 1046 | * @since 3.2.4 |
1047 | 1047 | */ |
1048 | - public function toJSON(){ |
|
1048 | + public function toJSON() { |
|
1049 | 1049 | return json_encode($this->toArray()); |
1050 | 1050 | } |
1051 | 1051 | } |
@@ -1065,7 +1065,7 @@ discard block |
||
1065 | 1065 | */ |
1066 | 1066 | class TActiveRecordChangeEventParameter extends TEventParameter |
1067 | 1067 | { |
1068 | - private $_isValid=true; |
|
1068 | + private $_isValid = true; |
|
1069 | 1069 | |
1070 | 1070 | /** |
1071 | 1071 | * @return boolean whether the event should be performed. |
@@ -222,12 +222,15 @@ discard block |
||
222 | 222 | */ |
223 | 223 | public function __construct($data=array(), $connection=null) |
224 | 224 | { |
225 | - if($connection!==null) |
|
226 | - $this->setDbConnection($connection); |
|
225 | + if($connection!==null) { |
|
226 | + $this->setDbConnection($connection); |
|
227 | + } |
|
227 | 228 | $this->setupColumnMapping(); |
228 | 229 | $this->setupRelations(); |
229 | - if(!empty($data)) //$data may be an object |
|
230 | + if(!empty($data)) { |
|
231 | + //$data may be an object |
|
230 | 232 | $this->copyFrom($data); |
233 | + } |
|
231 | 234 | } |
232 | 235 | |
233 | 236 | /** |
@@ -258,10 +261,11 @@ discard block |
||
258 | 261 | */ |
259 | 262 | public function __set($name,$value) |
260 | 263 | { |
261 | - if($this->hasRecordRelation($name) && !$this->canSetProperty($name)) |
|
262 | - $this->$name=$value; |
|
263 | - else |
|
264 | - parent::__set($name,$value); |
|
264 | + if($this->hasRecordRelation($name) && !$this->canSetProperty($name)) { |
|
265 | + $this->$name=$value; |
|
266 | + } else { |
|
267 | + parent::__set($name,$value); |
|
268 | + } |
|
265 | 269 | } |
266 | 270 | |
267 | 271 | /** |
@@ -287,8 +291,9 @@ discard block |
||
287 | 291 | { |
288 | 292 | $class=new ReflectionClass($className); |
289 | 293 | $relations=array(); |
290 | - foreach($class->getStaticPropertyValue('RELATIONS') as $key=>$value) |
|
291 | - $relations[strtolower($key)]=array($key,$value); |
|
294 | + foreach($class->getStaticPropertyValue('RELATIONS') as $key=>$value) { |
|
295 | + $relations[strtolower($key)]=array($key,$value); |
|
296 | + } |
|
292 | 297 | self::$_relations[$className]=$relations; |
293 | 298 | } |
294 | 299 | } |
@@ -299,19 +304,23 @@ discard block |
||
299 | 304 | */ |
300 | 305 | public function copyFrom($data) |
301 | 306 | { |
302 | - if(is_object($data)) |
|
303 | - $data=get_object_vars($data); |
|
304 | - if(!is_array($data)) |
|
305 | - throw new TActiveRecordException('ar_data_invalid', get_class($this)); |
|
306 | - foreach($data as $name=>$value) |
|
307 | - $this->setColumnValue($name,$value); |
|
307 | + if(is_object($data)) { |
|
308 | + $data=get_object_vars($data); |
|
309 | + } |
|
310 | + if(!is_array($data)) { |
|
311 | + throw new TActiveRecordException('ar_data_invalid', get_class($this)); |
|
312 | + } |
|
313 | + foreach($data as $name=>$value) { |
|
314 | + $this->setColumnValue($name,$value); |
|
315 | + } |
|
308 | 316 | } |
309 | 317 | |
310 | 318 | |
311 | 319 | public static function getActiveDbConnection() |
312 | 320 | { |
313 | - if(($db=self::getRecordManager()->getDbConnection())!==null) |
|
314 | - $db->setActive(true); |
|
321 | + if(($db=self::getRecordManager()->getDbConnection())!==null) { |
|
322 | + $db->setActive(true); |
|
323 | + } |
|
315 | 324 | return $db; |
316 | 325 | } |
317 | 326 | |
@@ -322,8 +331,9 @@ discard block |
||
322 | 331 | */ |
323 | 332 | public function getDbConnection() |
324 | 333 | { |
325 | - if($this->_connection===null) |
|
326 | - $this->_connection=self::getActiveDbConnection(); |
|
334 | + if($this->_connection===null) { |
|
335 | + $this->_connection=self::getActiveDbConnection(); |
|
336 | + } |
|
327 | 337 | return $this->_connection; |
328 | 338 | } |
329 | 339 | |
@@ -353,20 +363,23 @@ discard block |
||
353 | 363 | */ |
354 | 364 | public function equals(TActiveRecord $record, $strict=false) |
355 | 365 | { |
356 | - if($record===null || get_class($this)!==get_class($record)) |
|
357 | - return false; |
|
366 | + if($record===null || get_class($this)!==get_class($record)) { |
|
367 | + return false; |
|
368 | + } |
|
358 | 369 | $tableInfo = $this->getRecordTableInfo(); |
359 | 370 | $pks = $tableInfo->getPrimaryKeys(); |
360 | 371 | $properties = count($pks) > 0 ? $pks : $tableInfo->getColumns()->getKeys(); |
361 | 372 | $equals=true; |
362 | 373 | foreach($properties as $prop) |
363 | 374 | { |
364 | - if($strict) |
|
365 | - $equals = $equals && $this->getColumnValue($prop) === $record->getColumnValue($prop); |
|
366 | - else |
|
367 | - $equals = $equals && $this->getColumnValue($prop) == $record->getColumnValue($prop); |
|
368 | - if(!$equals) |
|
369 | - return false; |
|
375 | + if($strict) { |
|
376 | + $equals = $equals && $this->getColumnValue($prop) === $record->getColumnValue($prop); |
|
377 | + } else { |
|
378 | + $equals = $equals && $this->getColumnValue($prop) == $record->getColumnValue($prop); |
|
379 | + } |
|
380 | + if(!$equals) { |
|
381 | + return false; |
|
382 | + } |
|
370 | 383 | } |
371 | 384 | return $equals; |
372 | 385 | } |
@@ -425,15 +438,15 @@ discard block |
||
425 | 438 | $this->_recordState = self::STATE_LOADED; |
426 | 439 | return true; |
427 | 440 | } |
428 | - } |
|
429 | - else if($this->_recordState===self::STATE_LOADED) |
|
441 | + } else if($this->_recordState===self::STATE_LOADED) |
|
430 | 442 | { |
431 | 443 | $this->onUpdate($param); |
432 | - if($param->getIsValid() && $gateway->update($this)) |
|
433 | - return true; |
|
444 | + if($param->getIsValid() && $gateway->update($this)) { |
|
445 | + return true; |
|
446 | + } |
|
447 | + } else { |
|
448 | + throw new TActiveRecordException('ar_save_invalid', get_class($this)); |
|
434 | 449 | } |
435 | - else |
|
436 | - throw new TActiveRecordException('ar_save_invalid', get_class($this)); |
|
437 | 450 | |
438 | 451 | return false; |
439 | 452 | } |
@@ -455,9 +468,9 @@ discard block |
||
455 | 468 | $this->_recordState=self::STATE_DELETED; |
456 | 469 | return true; |
457 | 470 | } |
471 | + } else { |
|
472 | + throw new TActiveRecordException('ar_delete_invalid', get_class($this)); |
|
458 | 473 | } |
459 | - else |
|
460 | - throw new TActiveRecordException('ar_delete_invalid', get_class($this)); |
|
461 | 474 | |
462 | 475 | return false; |
463 | 476 | } |
@@ -487,8 +500,9 @@ discard block |
||
487 | 500 | */ |
488 | 501 | public function deleteByPk($keys) |
489 | 502 | { |
490 | - if(func_num_args() > 1) |
|
491 | - $keys = func_get_args(); |
|
503 | + if(func_num_args() > 1) { |
|
504 | + $keys = func_get_args(); |
|
505 | + } |
|
492 | 506 | return $this->getRecordGateway()->deleteRecordsByPk($this,(array)$keys); |
493 | 507 | } |
494 | 508 | |
@@ -497,8 +511,9 @@ discard block |
||
497 | 511 | */ |
498 | 512 | public function deleteAllByPks($keys) |
499 | 513 | { |
500 | - if(func_num_args() > 1) |
|
501 | - $keys = func_get_args(); |
|
514 | + if(func_num_args() > 1) { |
|
515 | + $keys = func_get_args(); |
|
516 | + } |
|
502 | 517 | return $this->deleteByPk($keys); |
503 | 518 | } |
504 | 519 | /** |
@@ -533,8 +548,9 @@ discard block |
||
533 | 548 | protected function populateObjects($reader) |
534 | 549 | { |
535 | 550 | $result=array(); |
536 | - foreach($reader as $data) |
|
537 | - $result[] = $this->populateObject($data); |
|
551 | + foreach($reader as $data) { |
|
552 | + $result[] = $this->populateObject($data); |
|
553 | + } |
|
538 | 554 | return $result; |
539 | 555 | } |
540 | 556 | |
@@ -549,8 +565,9 @@ discard block |
||
549 | 565 | */ |
550 | 566 | public static function createRecord($type, $data) |
551 | 567 | { |
552 | - if(empty($data)) |
|
553 | - return null; |
|
568 | + if(empty($data)) { |
|
569 | + return null; |
|
570 | + } |
|
554 | 571 | $record=new $type($data); |
555 | 572 | $record->_recordState=self::STATE_LOADED; |
556 | 573 | return $record; |
@@ -592,8 +609,9 @@ discard block |
||
592 | 609 | public function findAll($criteria=null,$parameters=array()) |
593 | 610 | { |
594 | 611 | $args = func_num_args() > 1 ? array_slice(func_get_args(),1) : null; |
595 | - if($criteria!==null) |
|
596 | - $criteria = $this->getRecordCriteria($criteria,$parameters, $args); |
|
612 | + if($criteria!==null) { |
|
613 | + $criteria = $this->getRecordCriteria($criteria,$parameters, $args); |
|
614 | + } |
|
597 | 615 | $result = $this->getRecordGateway()->findRecordsByCriteria($this,$criteria,true); |
598 | 616 | return $this->populateObjects($result); |
599 | 617 | } |
@@ -612,10 +630,12 @@ discard block |
||
612 | 630 | */ |
613 | 631 | public function findByPk($keys) |
614 | 632 | { |
615 | - if($keys === null) |
|
616 | - return null; |
|
617 | - if(func_num_args() > 1) |
|
618 | - $keys = func_get_args(); |
|
633 | + if($keys === null) { |
|
634 | + return null; |
|
635 | + } |
|
636 | + if(func_num_args() > 1) { |
|
637 | + $keys = func_get_args(); |
|
638 | + } |
|
619 | 639 | $data = $this->getRecordGateway()->findRecordByPK($this,$keys); |
620 | 640 | return $this->populateObject($data); |
621 | 641 | } |
@@ -639,8 +659,9 @@ discard block |
||
639 | 659 | */ |
640 | 660 | public function findAllByPks($keys) |
641 | 661 | { |
642 | - if(func_num_args() > 1) |
|
643 | - $keys = func_get_args(); |
|
662 | + if(func_num_args() > 1) { |
|
663 | + $keys = func_get_args(); |
|
664 | + } |
|
644 | 665 | $result = $this->getRecordGateway()->findRecordsByPks($this,(array)$keys); |
645 | 666 | return $this->populateObjects($result); |
646 | 667 | } |
@@ -705,8 +726,9 @@ discard block |
||
705 | 726 | public function count($criteria=null,$parameters=array()) |
706 | 727 | { |
707 | 728 | $args = func_num_args() > 1 ? array_slice(func_get_args(),1) : null; |
708 | - if($criteria!==null) |
|
709 | - $criteria = $this->getRecordCriteria($criteria,$parameters, $args); |
|
729 | + if($criteria!==null) { |
|
730 | + $criteria = $this->getRecordCriteria($criteria,$parameters, $args); |
|
731 | + } |
|
710 | 732 | return $this->getRecordGateway()->countRecords($this,$criteria); |
711 | 733 | } |
712 | 734 | |
@@ -723,9 +745,9 @@ discard block |
||
723 | 745 | { |
724 | 746 | $criteria = $this->getRecordCriteria(count($args)>0 ? $args[0] : null, array_slice($args,1)); |
725 | 747 | return $context->getRelationHandler($criteria); |
748 | + } else { |
|
749 | + return null; |
|
726 | 750 | } |
727 | - else |
|
728 | - return null; |
|
729 | 751 | } |
730 | 752 | |
731 | 753 | /** |
@@ -743,9 +765,9 @@ discard block |
||
743 | 765 | { |
744 | 766 | list($property, $relation) = $definition; |
745 | 767 | return new TActiveRecordRelationContext($this,$property,$relation); |
768 | + } else { |
|
769 | + return null; |
|
746 | 770 | } |
747 | - else |
|
748 | - return null; |
|
749 | 771 | } |
750 | 772 | |
751 | 773 | /** |
@@ -785,10 +807,11 @@ discard block |
||
785 | 807 | */ |
786 | 808 | protected function fetchResultsFor($property) |
787 | 809 | { |
788 | - if( ($context=$this->createRelationContext($property)) !== null) |
|
789 | - return $context->getRelationHandler()->fetchResultsInto($this); |
|
790 | - else |
|
791 | - return false; |
|
810 | + if( ($context=$this->createRelationContext($property)) !== null) { |
|
811 | + return $context->getRelationHandler()->fetchResultsInto($this); |
|
812 | + } else { |
|
813 | + return false; |
|
814 | + } |
|
792 | 815 | } |
793 | 816 | |
794 | 817 | /** |
@@ -827,28 +850,29 @@ discard block |
||
827 | 850 | { |
828 | 851 | $property= $method[4]==='_' ? substr($method,5) : substr($method,4); |
829 | 852 | return $this->getRelationHandler($property, $args); |
830 | - } |
|
831 | - else if($findOne=strncasecmp($method,'findby',6)===0) |
|
832 | - $condition = $method[6]==='_' ? substr($method,7) : substr($method,6); |
|
833 | - else if(strncasecmp($method,'findallby',9)===0) |
|
834 | - $condition = $method[9]==='_' ? substr($method,10) : substr($method,9); |
|
835 | - else if($delete=strncasecmp($method,'deleteby',8)===0) |
|
836 | - $condition = $method[8]==='_' ? substr($method,9) : substr($method,8); |
|
837 | - else if($delete=strncasecmp($method,'deleteallby',11)===0) |
|
838 | - $condition = $method[11]==='_' ? substr($method,12) : substr($method,11); |
|
839 | - else |
|
853 | + } else if($findOne=strncasecmp($method,'findby',6)===0) { |
|
854 | + $condition = $method[6]==='_' ? substr($method,7) : substr($method,6); |
|
855 | + } else if(strncasecmp($method,'findallby',9)===0) { |
|
856 | + $condition = $method[9]==='_' ? substr($method,10) : substr($method,9); |
|
857 | + } else if($delete=strncasecmp($method,'deleteby',8)===0) { |
|
858 | + $condition = $method[8]==='_' ? substr($method,9) : substr($method,8); |
|
859 | + } else if($delete=strncasecmp($method,'deleteallby',11)===0) { |
|
860 | + $condition = $method[11]==='_' ? substr($method,12) : substr($method,11); |
|
861 | + } else |
|
840 | 862 | { |
841 | - if($this->getInvalidFinderResult() == TActiveRecordInvalidFinderResult::Exception) |
|
842 | - throw new TActiveRecordException('ar_invalid_finder_method',$method); |
|
843 | - else |
|
844 | - return null; |
|
863 | + if($this->getInvalidFinderResult() == TActiveRecordInvalidFinderResult::Exception) { |
|
864 | + throw new TActiveRecordException('ar_invalid_finder_method',$method); |
|
865 | + } else { |
|
866 | + return null; |
|
867 | + } |
|
845 | 868 | } |
846 | 869 | |
847 | 870 | $criteria = $this->getRecordGateway()->getCommand($this)->createCriteriaFromString($method, $condition, $args); |
848 | - if($delete) |
|
849 | - return $this->deleteAll($criteria); |
|
850 | - else |
|
851 | - return $findOne ? $this->find($criteria) : $this->findAll($criteria); |
|
871 | + if($delete) { |
|
872 | + return $this->deleteAll($criteria); |
|
873 | + } else { |
|
874 | + return $findOne ? $this->find($criteria) : $this->findAll($criteria); |
|
875 | + } |
|
852 | 876 | } |
853 | 877 | |
854 | 878 | /** |
@@ -858,8 +882,9 @@ discard block |
||
858 | 882 | */ |
859 | 883 | public function getInvalidFinderResult() |
860 | 884 | { |
861 | - if($this->_invalidFinderResult !== null) |
|
862 | - return $this->_invalidFinderResult; |
|
885 | + if($this->_invalidFinderResult !== null) { |
|
886 | + return $this->_invalidFinderResult; |
|
887 | + } |
|
863 | 888 | |
864 | 889 | return self::getRecordManager()->getInvalidFinderResult(); |
865 | 890 | } |
@@ -873,10 +898,11 @@ discard block |
||
873 | 898 | */ |
874 | 899 | public function setInvalidFinderResult($value) |
875 | 900 | { |
876 | - if($value === null) |
|
877 | - $this->_invalidFinderResult = null; |
|
878 | - else |
|
879 | - $this->_invalidFinderResult = TPropertyValue::ensureEnum($value, 'TActiveRecordInvalidFinderResult'); |
|
901 | + if($value === null) { |
|
902 | + $this->_invalidFinderResult = null; |
|
903 | + } else { |
|
904 | + $this->_invalidFinderResult = TPropertyValue::ensureEnum($value, 'TActiveRecordInvalidFinderResult'); |
|
905 | + } |
|
880 | 906 | } |
881 | 907 | |
882 | 908 | /** |
@@ -894,11 +920,11 @@ discard block |
||
894 | 920 | { |
895 | 921 | $useArgs = !is_array($parameters) && is_array($args); |
896 | 922 | return new TActiveRecordCriteria($criteria,$useArgs ? $args : $parameters); |
923 | + } else if($criteria instanceof TSqlCriteria) { |
|
924 | + return $criteria; |
|
925 | + } else { |
|
926 | + return new TActiveRecordCriteria(); |
|
897 | 927 | } |
898 | - else if($criteria instanceof TSqlCriteria) |
|
899 | - return $criteria; |
|
900 | - else |
|
901 | - return new TActiveRecordCriteria(); |
|
902 | 928 | //throw new TActiveRecordException('ar_invalid_criteria'); |
903 | 929 | } |
904 | 930 | |
@@ -975,8 +1001,9 @@ discard block |
||
975 | 1001 | public function getColumnValue($columnName) |
976 | 1002 | { |
977 | 1003 | $className=get_class($this); |
978 | - if(isset(self::$_columnMapping[$className][$columnName])) |
|
979 | - $columnName=self::$_columnMapping[$className][$columnName]; |
|
1004 | + if(isset(self::$_columnMapping[$className][$columnName])) { |
|
1005 | + $columnName=self::$_columnMapping[$className][$columnName]; |
|
1006 | + } |
|
980 | 1007 | return $this->$columnName; |
981 | 1008 | } |
982 | 1009 | |
@@ -990,8 +1017,9 @@ discard block |
||
990 | 1017 | public function setColumnValue($columnName,$value) |
991 | 1018 | { |
992 | 1019 | $className=get_class($this); |
993 | - if(isset(self::$_columnMapping[$className][$columnName])) |
|
994 | - $columnName=self::$_columnMapping[$className][$columnName]; |
|
1020 | + if(isset(self::$_columnMapping[$className][$columnName])) { |
|
1021 | + $columnName=self::$_columnMapping[$className][$columnName]; |
|
1022 | + } |
|
995 | 1023 | $this->$columnName=$value; |
996 | 1024 | } |
997 | 1025 |
@@ -201,7 +201,7 @@ discard block |
||
201 | 201 | * Returns records matching the list of given primary keys. |
202 | 202 | * @param TActiveRecord active record instance. |
203 | 203 | * @param array list of primary name value pairs |
204 | - * @return array matching data. |
|
204 | + * @return TDbDataReader matching data. |
|
205 | 205 | */ |
206 | 206 | public function findRecordsByPks(TActiveRecord $record, $keys) |
207 | 207 | { |
@@ -227,7 +227,8 @@ discard block |
||
227 | 227 | * Return record data from sql query. |
228 | 228 | * @param TActiveRecord active record finder instance. |
229 | 229 | * @param TActiveRecordCriteria sql query |
230 | - * @return array result. |
|
230 | + * @param TSqlCriteria $criteria |
|
231 | + * @return TDbDataReader result. |
|
231 | 232 | */ |
232 | 233 | public function findRecordBySql(TActiveRecord $record, $criteria) |
233 | 234 | { |
@@ -238,6 +239,7 @@ discard block |
||
238 | 239 | * Return record data from sql query. |
239 | 240 | * @param TActiveRecord active record finder instance. |
240 | 241 | * @param TActiveRecordCriteria sql query |
242 | + * @param TSqlCriteria $criteria |
|
241 | 243 | * @return TDbDataReader result iterator. |
242 | 244 | */ |
243 | 245 | public function findRecordsBySql(TActiveRecord $record, $criteria) |
@@ -264,7 +266,7 @@ discard block |
||
264 | 266 | /** |
265 | 267 | * Insert a new record. |
266 | 268 | * @param TActiveRecord new record. |
267 | - * @return int number of rows affected. |
|
269 | + * @return string|boolean number of rows affected. |
|
268 | 270 | */ |
269 | 271 | public function insert(TActiveRecord $record) |
270 | 272 | { |
@@ -279,6 +281,7 @@ discard block |
||
279 | 281 | /** |
280 | 282 | * Sets the last insert ID to the corresponding property of the record if available. |
281 | 283 | * @param TActiveRecord record for insertion |
284 | + * @param TActiveRecord $record |
|
282 | 285 | */ |
283 | 286 | protected function updatePostInsert($record) |
284 | 287 | { |
@@ -396,6 +399,7 @@ discard block |
||
396 | 399 | * Delete multiple records by criteria. |
397 | 400 | * @param TActiveRecord active record finder instance. |
398 | 401 | * @param TActiveRecordCriteria search criteria |
402 | + * @param TSqlCriteria $criteria |
|
399 | 403 | * @return int number of records. |
400 | 404 | */ |
401 | 405 | public function deleteRecordsByCriteria(TActiveRecord $record, $criteria) |
@@ -20,19 +20,19 @@ discard block |
||
20 | 20 | class TActiveRecordGateway extends TComponent |
21 | 21 | { |
22 | 22 | private $_manager; |
23 | - private $_tables=array(); //table cache |
|
24 | - private $_meta=array(); //meta data cache. |
|
25 | - private $_commandBuilders=array(); |
|
23 | + private $_tables = array(); //table cache |
|
24 | + private $_meta = array(); //meta data cache. |
|
25 | + private $_commandBuilders = array(); |
|
26 | 26 | private $_currentRecord; |
27 | 27 | |
28 | 28 | /** |
29 | 29 | * Constant name for specifying optional table name in TActiveRecord. |
30 | 30 | */ |
31 | - const TABLE_CONST='TABLE'; |
|
31 | + const TABLE_CONST = 'TABLE'; |
|
32 | 32 | /** |
33 | 33 | * Method name for returning optional table name in in TActiveRecord |
34 | 34 | */ |
35 | - const TABLE_METHOD='table'; |
|
35 | + const TABLE_METHOD = 'table'; |
|
36 | 36 | |
37 | 37 | /** |
38 | 38 | * Record gateway constructor. |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | */ |
41 | 41 | public function __construct(TActiveRecordManager $manager) |
42 | 42 | { |
43 | - $this->_manager=$manager; |
|
43 | + $this->_manager = $manager; |
|
44 | 44 | } |
45 | 45 | |
46 | 46 | /** |
@@ -60,20 +60,20 @@ discard block |
||
60 | 60 | protected function getRecordTableName(TActiveRecord $record) |
61 | 61 | { |
62 | 62 | $class = new ReflectionClass($record); |
63 | - if($class->hasConstant(self::TABLE_CONST)) |
|
63 | + if ($class->hasConstant(self::TABLE_CONST)) |
|
64 | 64 | { |
65 | 65 | $value = $class->getConstant(self::TABLE_CONST); |
66 | - if(empty($value)) |
|
66 | + if (empty($value)) |
|
67 | 67 | throw new TActiveRecordException('ar_invalid_tablename_property', |
68 | - get_class($record),self::TABLE_CONST); |
|
68 | + get_class($record), self::TABLE_CONST); |
|
69 | 69 | return $value; |
70 | 70 | } |
71 | 71 | elseif ($class->hasMethod(self::TABLE_METHOD)) |
72 | 72 | { |
73 | 73 | $value = $record->{self::TABLE_METHOD}(); |
74 | - if(empty($value)) |
|
74 | + if (empty($value)) |
|
75 | 75 | throw new TActiveRecordException('ar_invalid_tablename_method', |
76 | - get_class($record),self::TABLE_METHOD); |
|
76 | + get_class($record), self::TABLE_METHOD); |
|
77 | 77 | return $value; |
78 | 78 | } |
79 | 79 | else |
@@ -100,24 +100,24 @@ discard block |
||
100 | 100 | public function getTableInfo(TDbConnection $connection, $tableName) |
101 | 101 | { |
102 | 102 | $connStr = $connection->getConnectionString(); |
103 | - $key = $connStr.$tableName; |
|
104 | - if(!isset($this->_tables[$key])) |
|
103 | + $key = $connStr . $tableName; |
|
104 | + if (!isset($this->_tables[$key])) |
|
105 | 105 | { |
106 | 106 | //call this first to ensure that unserializing the cache |
107 | 107 | //will find the correct driver dependent classes. |
108 | - if(!isset($this->_meta[$connStr])) |
|
108 | + if (!isset($this->_meta[$connStr])) |
|
109 | 109 | { |
110 | 110 | Prado::using('System.Data.Common.TDbMetaData'); |
111 | 111 | $this->_meta[$connStr] = TDbMetaData::getInstance($connection); |
112 | 112 | } |
113 | 113 | |
114 | 114 | $tableInfo = null; |
115 | - if(($cache=$this->getManager()->getCache())!==null) |
|
115 | + if (($cache = $this->getManager()->getCache()) !== null) |
|
116 | 116 | $tableInfo = $cache->get($key); |
117 | - if(empty($tableInfo)) |
|
117 | + if (empty($tableInfo)) |
|
118 | 118 | { |
119 | 119 | $tableInfo = $this->_meta[$connStr]->getTableInfo($tableName); |
120 | - if($cache!==null) |
|
120 | + if ($cache !== null) |
|
121 | 121 | $cache->set($key, $tableInfo); |
122 | 122 | } |
123 | 123 | $this->_tables[$key] = $tableInfo; |
@@ -134,7 +134,7 @@ discard block |
||
134 | 134 | $conn = $record->getDbConnection(); |
135 | 135 | $connStr = $conn->getConnectionString(); |
136 | 136 | $tableInfo = $this->getRecordTableInfo($record); |
137 | - if(!isset($this->_commandBuilders[$connStr])) |
|
137 | + if (!isset($this->_commandBuilders[$connStr])) |
|
138 | 138 | { |
139 | 139 | $builder = $tableInfo->createCommandBuilder($record->getDbConnection()); |
140 | 140 | Prado::using('System.Data.DataGateway.TDataGatewayCommand'); |
@@ -145,7 +145,7 @@ discard block |
||
145 | 145 | |
146 | 146 | } |
147 | 147 | $this->_commandBuilders[$connStr]->getBuilder()->setTableInfo($tableInfo); |
148 | - $this->_currentRecord=$record; |
|
148 | + $this->_currentRecord = $record; |
|
149 | 149 | return $this->_commandBuilders[$connStr]; |
150 | 150 | } |
151 | 151 | |
@@ -162,7 +162,7 @@ discard block |
||
162 | 162 | public function onCreateCommand($sender, $param) |
163 | 163 | { |
164 | 164 | $this->raiseEvent('OnCreateCommand', $this, $param); |
165 | - if($this->_currentRecord!==null) |
|
165 | + if ($this->_currentRecord !== null) |
|
166 | 166 | $this->_currentRecord->onCreateCommand($param); |
167 | 167 | } |
168 | 168 | |
@@ -180,7 +180,7 @@ discard block |
||
180 | 180 | public function onExecuteCommand($sender, $param) |
181 | 181 | { |
182 | 182 | $this->raiseEvent('OnExecuteCommand', $this, $param); |
183 | - if($this->_currentRecord!==null) |
|
183 | + if ($this->_currentRecord !== null) |
|
184 | 184 | $this->_currentRecord->onExecuteCommand($param); |
185 | 185 | } |
186 | 186 | |
@@ -191,7 +191,7 @@ discard block |
||
191 | 191 | * @param array primary name value pairs |
192 | 192 | * @return array record data |
193 | 193 | */ |
194 | - public function findRecordByPK(TActiveRecord $record,$keys) |
|
194 | + public function findRecordByPK(TActiveRecord $record, $keys) |
|
195 | 195 | { |
196 | 196 | $command = $this->getCommand($record); |
197 | 197 | return $command->findByPk($keys); |
@@ -217,7 +217,7 @@ discard block |
||
217 | 217 | * @param boolean true to return multiple rows as iterator, false returns first row. |
218 | 218 | * @return mixed matching data. |
219 | 219 | */ |
220 | - public function findRecordsByCriteria(TActiveRecord $record, $criteria, $iterator=false) |
|
220 | + public function findRecordsByCriteria(TActiveRecord $record, $criteria, $iterator = false) |
|
221 | 221 | { |
222 | 222 | $command = $this->getCommand($record); |
223 | 223 | return $iterator ? $command->findAll($criteria) : $command->find($criteria); |
@@ -247,7 +247,7 @@ discard block |
||
247 | 247 | |
248 | 248 | public function findRecordsByIndex(TActiveRecord $record, $criteria, $fields, $values) |
249 | 249 | { |
250 | - return $this->getCommand($record)->findAllByIndex($criteria,$fields,$values); |
|
250 | + return $this->getCommand($record)->findAllByIndex($criteria, $fields, $values); |
|
251 | 251 | } |
252 | 252 | |
253 | 253 | /** |
@@ -270,7 +270,7 @@ discard block |
||
270 | 270 | { |
271 | 271 | //$this->updateAssociatedRecords($record,true); |
272 | 272 | $result = $this->getCommand($record)->insert($this->getInsertValues($record)); |
273 | - if($result) |
|
273 | + if ($result) |
|
274 | 274 | $this->updatePostInsert($record); |
275 | 275 | //$this->updateAssociatedRecords($record); |
276 | 276 | return $result; |
@@ -284,10 +284,10 @@ discard block |
||
284 | 284 | { |
285 | 285 | $command = $this->getCommand($record); |
286 | 286 | $tableInfo = $command->getTableInfo(); |
287 | - foreach($tableInfo->getColumns() as $name => $column) |
|
287 | + foreach ($tableInfo->getColumns() as $name => $column) |
|
288 | 288 | { |
289 | - if($column->hasSequence()) |
|
290 | - $record->setColumnValue($name,$command->getLastInsertID($column->getSequenceName())); |
|
289 | + if ($column->hasSequence()) |
|
290 | + $record->setColumnValue($name, $command->getLastInsertID($column->getSequenceName())); |
|
291 | 291 | } |
292 | 292 | } |
293 | 293 | |
@@ -297,20 +297,20 @@ discard block |
||
297 | 297 | */ |
298 | 298 | protected function getInsertValues(TActiveRecord $record) |
299 | 299 | { |
300 | - $values=array(); |
|
300 | + $values = array(); |
|
301 | 301 | $tableInfo = $this->getCommand($record)->getTableInfo(); |
302 | - foreach($tableInfo->getColumns() as $name=>$column) |
|
302 | + foreach ($tableInfo->getColumns() as $name=>$column) |
|
303 | 303 | { |
304 | - if($column->getIsExcluded()) |
|
304 | + if ($column->getIsExcluded()) |
|
305 | 305 | continue; |
306 | 306 | $value = $record->getColumnValue($name); |
307 | - if(!$column->getAllowNull() && $value===null && !$column->hasSequence() && ($column->getDefaultValue() === TDbTableColumn::UNDEFINED_VALUE)) |
|
307 | + if (!$column->getAllowNull() && $value === null && !$column->hasSequence() && ($column->getDefaultValue() === TDbTableColumn::UNDEFINED_VALUE)) |
|
308 | 308 | { |
309 | 309 | throw new TActiveRecordException( |
310 | 310 | 'ar_value_must_not_be_null', get_class($record), |
311 | 311 | $tableInfo->getTableFullName(), $name); |
312 | 312 | } |
313 | - if($value!==null) |
|
313 | + if ($value !== null) |
|
314 | 314 | $values[$name] = $value; |
315 | 315 | } |
316 | 316 | return $values; |
@@ -332,29 +332,29 @@ discard block |
||
332 | 332 | |
333 | 333 | protected function getUpdateValues(TActiveRecord $record) |
334 | 334 | { |
335 | - $values=array(); |
|
335 | + $values = array(); |
|
336 | 336 | $tableInfo = $this->getCommand($record)->getTableInfo(); |
337 | - $primary=array(); |
|
338 | - foreach($tableInfo->getColumns() as $name=>$column) |
|
337 | + $primary = array(); |
|
338 | + foreach ($tableInfo->getColumns() as $name=>$column) |
|
339 | 339 | { |
340 | - if($column->getIsExcluded()) |
|
340 | + if ($column->getIsExcluded()) |
|
341 | 341 | continue; |
342 | 342 | $value = $record->getColumnValue($name); |
343 | - if(!$column->getAllowNull() && $value===null && ($column->getDefaultValue() === TDbTableColumn::UNDEFINED_VALUE)) |
|
343 | + if (!$column->getAllowNull() && $value === null && ($column->getDefaultValue() === TDbTableColumn::UNDEFINED_VALUE)) |
|
344 | 344 | { |
345 | 345 | throw new TActiveRecordException( |
346 | 346 | 'ar_value_must_not_be_null', get_class($record), |
347 | 347 | $tableInfo->getTableFullName(), $name); |
348 | 348 | } |
349 | - if($column->getIsPrimaryKey()) |
|
349 | + if ($column->getIsPrimaryKey()) |
|
350 | 350 | $primary[$name] = $value; |
351 | 351 | else |
352 | 352 | $values[$name] = $value; |
353 | 353 | } |
354 | - return array($values,$primary); |
|
354 | + return array($values, $primary); |
|
355 | 355 | } |
356 | 356 | |
357 | - protected function updateAssociatedRecords(TActiveRecord $record,$updateBelongsTo=false) |
|
357 | + protected function updateAssociatedRecords(TActiveRecord $record, $updateBelongsTo = false) |
|
358 | 358 | { |
359 | 359 | $context = new TActiveRecordRelationContext($record); |
360 | 360 | return $context->updateAssociatedRecords($updateBelongsTo); |
@@ -373,10 +373,10 @@ discard block |
||
373 | 373 | protected function getPrimaryKeyValues(TActiveRecord $record) |
374 | 374 | { |
375 | 375 | $tableInfo = $this->getCommand($record)->getTableInfo(); |
376 | - $primary=array(); |
|
377 | - foreach($tableInfo->getColumns() as $name=>$column) |
|
376 | + $primary = array(); |
|
377 | + foreach ($tableInfo->getColumns() as $name=>$column) |
|
378 | 378 | { |
379 | - if($column->getIsPrimaryKey()) |
|
379 | + if ($column->getIsPrimaryKey()) |
|
380 | 380 | $primary[$name] = $record->getColumnValue($name); |
381 | 381 | } |
382 | 382 | return $primary; |
@@ -410,11 +410,11 @@ discard block |
||
410 | 410 | * @param TActiveRecord active record |
411 | 411 | * @param TActiveRecordCriteria data for the command. |
412 | 412 | */ |
413 | - protected function raiseCommandEvent($event,$command,$record,$criteria) |
|
413 | + protected function raiseCommandEvent($event, $command, $record, $criteria) |
|
414 | 414 | { |
415 | - if(!($criteria instanceof TSqlCriteria)) |
|
416 | - $criteria = new TActiveRecordCriteria(null,$criteria); |
|
417 | - $param = new TActiveRecordEventParameter($command,$record,$criteria); |
|
415 | + if (!($criteria instanceof TSqlCriteria)) |
|
416 | + $criteria = new TActiveRecordCriteria(null, $criteria); |
|
417 | + $param = new TActiveRecordEventParameter($command, $record, $criteria); |
|
418 | 418 | $manager = $record->getRecordManager(); |
419 | 419 | $manager->{$event}($param); |
420 | 420 | $record->{$event}($param); |
@@ -63,21 +63,22 @@ discard block |
||
63 | 63 | if($class->hasConstant(self::TABLE_CONST)) |
64 | 64 | { |
65 | 65 | $value = $class->getConstant(self::TABLE_CONST); |
66 | - if(empty($value)) |
|
67 | - throw new TActiveRecordException('ar_invalid_tablename_property', |
|
66 | + if(empty($value)) { |
|
67 | + throw new TActiveRecordException('ar_invalid_tablename_property', |
|
68 | 68 | get_class($record),self::TABLE_CONST); |
69 | + } |
|
69 | 70 | return $value; |
70 | - } |
|
71 | - elseif ($class->hasMethod(self::TABLE_METHOD)) |
|
71 | + } elseif ($class->hasMethod(self::TABLE_METHOD)) |
|
72 | 72 | { |
73 | 73 | $value = $record->{self::TABLE_METHOD}(); |
74 | - if(empty($value)) |
|
75 | - throw new TActiveRecordException('ar_invalid_tablename_method', |
|
74 | + if(empty($value)) { |
|
75 | + throw new TActiveRecordException('ar_invalid_tablename_method', |
|
76 | 76 | get_class($record),self::TABLE_METHOD); |
77 | + } |
|
77 | 78 | return $value; |
79 | + } else { |
|
80 | + return strtolower(get_class($record)); |
|
78 | 81 | } |
79 | - else |
|
80 | - return strtolower(get_class($record)); |
|
81 | 82 | } |
82 | 83 | |
83 | 84 | /** |
@@ -112,13 +113,15 @@ discard block |
||
112 | 113 | } |
113 | 114 | |
114 | 115 | $tableInfo = null; |
115 | - if(($cache=$this->getManager()->getCache())!==null) |
|
116 | - $tableInfo = $cache->get($key); |
|
116 | + if(($cache=$this->getManager()->getCache())!==null) { |
|
117 | + $tableInfo = $cache->get($key); |
|
118 | + } |
|
117 | 119 | if(empty($tableInfo)) |
118 | 120 | { |
119 | 121 | $tableInfo = $this->_meta[$connStr]->getTableInfo($tableName); |
120 | - if($cache!==null) |
|
121 | - $cache->set($key, $tableInfo); |
|
122 | + if($cache!==null) { |
|
123 | + $cache->set($key, $tableInfo); |
|
124 | + } |
|
122 | 125 | } |
123 | 126 | $this->_tables[$key] = $tableInfo; |
124 | 127 | } |
@@ -162,8 +165,9 @@ discard block |
||
162 | 165 | public function onCreateCommand($sender, $param) |
163 | 166 | { |
164 | 167 | $this->raiseEvent('OnCreateCommand', $this, $param); |
165 | - if($this->_currentRecord!==null) |
|
166 | - $this->_currentRecord->onCreateCommand($param); |
|
168 | + if($this->_currentRecord!==null) { |
|
169 | + $this->_currentRecord->onCreateCommand($param); |
|
170 | + } |
|
167 | 171 | } |
168 | 172 | |
169 | 173 | /** |
@@ -180,8 +184,9 @@ discard block |
||
180 | 184 | public function onExecuteCommand($sender, $param) |
181 | 185 | { |
182 | 186 | $this->raiseEvent('OnExecuteCommand', $this, $param); |
183 | - if($this->_currentRecord!==null) |
|
184 | - $this->_currentRecord->onExecuteCommand($param); |
|
187 | + if($this->_currentRecord!==null) { |
|
188 | + $this->_currentRecord->onExecuteCommand($param); |
|
189 | + } |
|
185 | 190 | } |
186 | 191 | |
187 | 192 | /** |
@@ -270,8 +275,9 @@ discard block |
||
270 | 275 | { |
271 | 276 | //$this->updateAssociatedRecords($record,true); |
272 | 277 | $result = $this->getCommand($record)->insert($this->getInsertValues($record)); |
273 | - if($result) |
|
274 | - $this->updatePostInsert($record); |
|
278 | + if($result) { |
|
279 | + $this->updatePostInsert($record); |
|
280 | + } |
|
275 | 281 | //$this->updateAssociatedRecords($record); |
276 | 282 | return $result; |
277 | 283 | } |
@@ -286,8 +292,9 @@ discard block |
||
286 | 292 | $tableInfo = $command->getTableInfo(); |
287 | 293 | foreach($tableInfo->getColumns() as $name => $column) |
288 | 294 | { |
289 | - if($column->hasSequence()) |
|
290 | - $record->setColumnValue($name,$command->getLastInsertID($column->getSequenceName())); |
|
295 | + if($column->hasSequence()) { |
|
296 | + $record->setColumnValue($name,$command->getLastInsertID($column->getSequenceName())); |
|
297 | + } |
|
291 | 298 | } |
292 | 299 | } |
293 | 300 | |
@@ -301,8 +308,9 @@ discard block |
||
301 | 308 | $tableInfo = $this->getCommand($record)->getTableInfo(); |
302 | 309 | foreach($tableInfo->getColumns() as $name=>$column) |
303 | 310 | { |
304 | - if($column->getIsExcluded()) |
|
305 | - continue; |
|
311 | + if($column->getIsExcluded()) { |
|
312 | + continue; |
|
313 | + } |
|
306 | 314 | $value = $record->getColumnValue($name); |
307 | 315 | if(!$column->getAllowNull() && $value===null && !$column->hasSequence() && ($column->getDefaultValue() === TDbTableColumn::UNDEFINED_VALUE)) |
308 | 316 | { |
@@ -310,8 +318,9 @@ discard block |
||
310 | 318 | 'ar_value_must_not_be_null', get_class($record), |
311 | 319 | $tableInfo->getTableFullName(), $name); |
312 | 320 | } |
313 | - if($value!==null) |
|
314 | - $values[$name] = $value; |
|
321 | + if($value!==null) { |
|
322 | + $values[$name] = $value; |
|
323 | + } |
|
315 | 324 | } |
316 | 325 | return $values; |
317 | 326 | } |
@@ -337,8 +346,9 @@ discard block |
||
337 | 346 | $primary=array(); |
338 | 347 | foreach($tableInfo->getColumns() as $name=>$column) |
339 | 348 | { |
340 | - if($column->getIsExcluded()) |
|
341 | - continue; |
|
349 | + if($column->getIsExcluded()) { |
|
350 | + continue; |
|
351 | + } |
|
342 | 352 | $value = $record->getColumnValue($name); |
343 | 353 | if(!$column->getAllowNull() && $value===null && ($column->getDefaultValue() === TDbTableColumn::UNDEFINED_VALUE)) |
344 | 354 | { |
@@ -346,10 +356,11 @@ discard block |
||
346 | 356 | 'ar_value_must_not_be_null', get_class($record), |
347 | 357 | $tableInfo->getTableFullName(), $name); |
348 | 358 | } |
349 | - if($column->getIsPrimaryKey()) |
|
350 | - $primary[$name] = $value; |
|
351 | - else |
|
352 | - $values[$name] = $value; |
|
359 | + if($column->getIsPrimaryKey()) { |
|
360 | + $primary[$name] = $value; |
|
361 | + } else { |
|
362 | + $values[$name] = $value; |
|
363 | + } |
|
353 | 364 | } |
354 | 365 | return array($values,$primary); |
355 | 366 | } |
@@ -376,8 +387,9 @@ discard block |
||
376 | 387 | $primary=array(); |
377 | 388 | foreach($tableInfo->getColumns() as $name=>$column) |
378 | 389 | { |
379 | - if($column->getIsPrimaryKey()) |
|
380 | - $primary[$name] = $record->getColumnValue($name); |
|
390 | + if($column->getIsPrimaryKey()) { |
|
391 | + $primary[$name] = $record->getColumnValue($name); |
|
392 | + } |
|
381 | 393 | } |
382 | 394 | return $primary; |
383 | 395 | } |
@@ -412,8 +424,9 @@ discard block |
||
412 | 424 | */ |
413 | 425 | protected function raiseCommandEvent($event,$command,$record,$criteria) |
414 | 426 | { |
415 | - if(!($criteria instanceof TSqlCriteria)) |
|
416 | - $criteria = new TActiveRecordCriteria(null,$criteria); |
|
427 | + if(!($criteria instanceof TSqlCriteria)) { |
|
428 | + $criteria = new TActiveRecordCriteria(null,$criteria); |
|
429 | + } |
|
417 | 430 | $param = new TActiveRecordEventParameter($command,$record,$criteria); |
418 | 431 | $manager = $record->getRecordManager(); |
419 | 432 | $manager->{$event}($param); |
@@ -67,6 +67,7 @@ discard block |
||
67 | 67 | |
68 | 68 | /** |
69 | 69 | * @param ICache application cache |
70 | + * @param ICache $value |
|
70 | 71 | */ |
71 | 72 | public function setCache($value) |
72 | 73 | { |
@@ -90,6 +91,7 @@ discard block |
||
90 | 91 | } |
91 | 92 | |
92 | 93 | /** |
94 | + * @param TComponent $self |
|
93 | 95 | * @return TActiveRecordManager static instance of record manager. |
94 | 96 | */ |
95 | 97 | public static function getInstance($self=null) |
@@ -152,6 +154,7 @@ discard block |
||
152 | 154 | /** |
153 | 155 | * Define the way an active record finder react if an invalid magic-finder invoked |
154 | 156 | * @param TActiveRecordInvalidFinderResult |
157 | + * @param TActiveRecordInvalidFinderResult $value |
|
155 | 158 | * @since 3.1.5 |
156 | 159 | * @see getInvalidFinderResult |
157 | 160 | */ |
@@ -44,7 +44,7 @@ discard block |
||
44 | 44 | private $_gatewayClass = self::DEFAULT_GATEWAY_CLASS; |
45 | 45 | |
46 | 46 | private $_gateway; |
47 | - private $_meta=array(); |
|
47 | + private $_meta = array(); |
|
48 | 48 | private $_connection; |
49 | 49 | |
50 | 50 | private $_cache; |
@@ -70,7 +70,7 @@ discard block |
||
70 | 70 | */ |
71 | 71 | public function setCache($value) |
72 | 72 | { |
73 | - $this->_cache=$value; |
|
73 | + $this->_cache = $value; |
|
74 | 74 | } |
75 | 75 | |
76 | 76 | /** |
@@ -78,7 +78,7 @@ discard block |
||
78 | 78 | */ |
79 | 79 | public function setDbConnection($conn) |
80 | 80 | { |
81 | - $this->_connection=$conn; |
|
81 | + $this->_connection = $conn; |
|
82 | 82 | } |
83 | 83 | |
84 | 84 | /** |
@@ -92,12 +92,12 @@ discard block |
||
92 | 92 | /** |
93 | 93 | * @return TActiveRecordManager static instance of record manager. |
94 | 94 | */ |
95 | - public static function getInstance($self=null) |
|
95 | + public static function getInstance($self = null) |
|
96 | 96 | { |
97 | 97 | static $instance; |
98 | - if($self!==null) |
|
99 | - $instance=$self; |
|
100 | - else if($instance===null) |
|
98 | + if ($self !== null) |
|
99 | + $instance = $self; |
|
100 | + else if ($instance === null) |
|
101 | 101 | $instance = new self; |
102 | 102 | return $instance; |
103 | 103 | } |
@@ -107,7 +107,7 @@ discard block |
||
107 | 107 | */ |
108 | 108 | public function getRecordGateway() |
109 | 109 | { |
110 | - if($this->_gateway === null) { |
|
110 | + if ($this->_gateway === null) { |
|
111 | 111 | $this->_gateway = $this->createRecordGateway(); |
112 | 112 | } |
113 | 113 | return $this->_gateway; |
@@ -128,7 +128,7 @@ discard block |
||
128 | 128 | public function setGatewayClass($value) |
129 | 129 | { |
130 | 130 | $this->_gateway = null; |
131 | - $this->_gatewayClass = (string)$value; |
|
131 | + $this->_gatewayClass = (string) $value; |
|
132 | 132 | } |
133 | 133 | |
134 | 134 | /** |
@@ -95,10 +95,11 @@ |
||
95 | 95 | public static function getInstance($self=null) |
96 | 96 | { |
97 | 97 | static $instance; |
98 | - if($self!==null) |
|
99 | - $instance=$self; |
|
100 | - else if($instance===null) |
|
101 | - $instance = new self; |
|
98 | + if($self!==null) { |
|
99 | + $instance=$self; |
|
100 | + } else if($instance===null) { |
|
101 | + $instance = new self; |
|
102 | + } |
|
102 | 103 | return $instance; |
103 | 104 | } |
104 | 105 |
@@ -123,6 +123,7 @@ |
||
123 | 123 | /** |
124 | 124 | * @param TMssqlTableInfo table information. |
125 | 125 | * @param array column information. |
126 | + * @param TMssqlTableInfo $tableInfo |
|
126 | 127 | */ |
127 | 128 | protected function processColumn($tableInfo, $col) |
128 | 129 | { |
@@ -259,15 +259,15 @@ |
||
259 | 259 | return false; |
260 | 260 | } |
261 | 261 | |
262 | - /** |
|
263 | - * Returns all table names in the database. |
|
264 | - * @param string $schema the schema of the tables. Defaults to empty string, meaning the current or default schema. |
|
265 | - * If not empty, the returned table names will be prefixed with the schema name. |
|
266 | - * @return array all table names in the database. |
|
267 | - */ |
|
262 | + /** |
|
263 | + * Returns all table names in the database. |
|
264 | + * @param string $schema the schema of the tables. Defaults to empty string, meaning the current or default schema. |
|
265 | + * If not empty, the returned table names will be prefixed with the schema name. |
|
266 | + * @return array all table names in the database. |
|
267 | + */ |
|
268 | 268 | public function findTableNames($schema='dbo') |
269 | 269 | { |
270 | - $condition="TABLE_TYPE='BASE TABLE'"; |
|
270 | + $condition="TABLE_TYPE='BASE TABLE'"; |
|
271 | 271 | $sql=<<<EOD |
272 | 272 | SELECT TABLE_NAME, TABLE_SCHEMA FROM [INFORMATION_SCHEMA].[TABLES] |
273 | 273 | WHERE TABLE_SCHEMA=:schema AND $condition |
@@ -69,7 +69,7 @@ discard block |
||
69 | 69 | */ |
70 | 70 | protected function createTableInfo($table) |
71 | 71 | { |
72 | - list($catalogName,$schemaName,$tableName) = $this->getCatalogSchemaTableName($table); |
|
72 | + list($catalogName, $schemaName, $tableName) = $this->getCatalogSchemaTableName($table); |
|
73 | 73 | $this->getDbConnection()->setActive(true); |
74 | 74 | $sql = <<<EOD |
75 | 75 | SELECT t.*, |
@@ -80,26 +80,26 @@ discard block |
||
80 | 80 | WHERE t.table_name = c.table_name |
81 | 81 | AND t.table_name = :table |
82 | 82 | EOD; |
83 | - if($schemaName!==null) |
|
83 | + if ($schemaName !== null) |
|
84 | 84 | $sql .= ' AND t.table_schema = :schema'; |
85 | - if($catalogName!==null) |
|
85 | + if ($catalogName !== null) |
|
86 | 86 | $sql .= ' AND t.table_catalog = :catalog'; |
87 | 87 | |
88 | 88 | $command = $this->getDbConnection()->createCommand($sql); |
89 | 89 | $command->bindValue(':table', $tableName); |
90 | - if($schemaName!==null) |
|
90 | + if ($schemaName !== null) |
|
91 | 91 | $command->bindValue(':schema', $schemaName); |
92 | - if($catalogName!==null) |
|
92 | + if ($catalogName !== null) |
|
93 | 93 | $command->bindValue(':catalog', $catalogName); |
94 | 94 | |
95 | - $tableInfo=null; |
|
96 | - foreach($command->query() as $col) |
|
95 | + $tableInfo = null; |
|
96 | + foreach ($command->query() as $col) |
|
97 | 97 | { |
98 | - if($tableInfo===null) |
|
98 | + if ($tableInfo === null) |
|
99 | 99 | $tableInfo = $this->createNewTableInfo($col); |
100 | - $this->processColumn($tableInfo,$col); |
|
100 | + $this->processColumn($tableInfo, $col); |
|
101 | 101 | } |
102 | - if($tableInfo===null) |
|
102 | + if ($tableInfo === null) |
|
103 | 103 | throw new TDbException('dbmetadata_invalid_table_view', $table); |
104 | 104 | return $tableInfo; |
105 | 105 | } |
@@ -112,12 +112,12 @@ discard block |
||
112 | 112 | { |
113 | 113 | //remove possible delimiters |
114 | 114 | $result = explode('.', preg_replace('/\[|\]|"/', '', $table)); |
115 | - if(count($result)===1) |
|
116 | - return array(null,null,$result[0]); |
|
117 | - if(count($result)===2) |
|
118 | - return array(null,$result[0],$result[1]); |
|
119 | - if(count($result)>2) |
|
120 | - return array($result[0],$result[1],$result[2]); |
|
115 | + if (count($result) === 1) |
|
116 | + return array(null, null, $result[0]); |
|
117 | + if (count($result) === 2) |
|
118 | + return array(null, $result[0], $result[1]); |
|
119 | + if (count($result) > 2) |
|
120 | + return array($result[0], $result[1], $result[2]); |
|
121 | 121 | } |
122 | 122 | |
123 | 123 | /** |
@@ -130,25 +130,25 @@ discard block |
||
130 | 130 | |
131 | 131 | $info['ColumnName'] = "[$columnId]"; //quote the column names! |
132 | 132 | $info['ColumnId'] = $columnId; |
133 | - $info['ColumnIndex'] = intval($col['ORDINAL_POSITION'])-1; //zero-based index |
|
134 | - if($col['IS_NULLABLE']!=='NO') |
|
133 | + $info['ColumnIndex'] = intval($col['ORDINAL_POSITION']) - 1; //zero-based index |
|
134 | + if ($col['IS_NULLABLE'] !== 'NO') |
|
135 | 135 | $info['AllowNull'] = true; |
136 | - if($col['COLUMN_DEFAULT']!==null) |
|
136 | + if ($col['COLUMN_DEFAULT'] !== null) |
|
137 | 137 | $info['DefaultValue'] = $col['COLUMN_DEFAULT']; |
138 | 138 | |
139 | - if(in_array($columnId, $tableInfo->getPrimaryKeys())) |
|
139 | + if (in_array($columnId, $tableInfo->getPrimaryKeys())) |
|
140 | 140 | $info['IsPrimaryKey'] = true; |
141 | - if($this->isForeignKeyColumn($columnId, $tableInfo)) |
|
141 | + if ($this->isForeignKeyColumn($columnId, $tableInfo)) |
|
142 | 142 | $info['IsForeignKey'] = true; |
143 | 143 | |
144 | - if($col['IsIdentity']==='1') |
|
144 | + if ($col['IsIdentity'] === '1') |
|
145 | 145 | $info['AutoIncrement'] = true; |
146 | 146 | $info['DbType'] = $col['DATA_TYPE']; |
147 | - if($col['CHARACTER_MAXIMUM_LENGTH']!==null) |
|
147 | + if ($col['CHARACTER_MAXIMUM_LENGTH'] !== null) |
|
148 | 148 | $info['ColumnSize'] = intval($col['CHARACTER_MAXIMUM_LENGTH']); |
149 | - if($col['NUMERIC_PRECISION'] !== null) |
|
149 | + if ($col['NUMERIC_PRECISION'] !== null) |
|
150 | 150 | $info['NumericPrecision'] = intval($col['NUMERIC_PRECISION']); |
151 | - if($col['NUMERIC_SCALE']!==null) |
|
151 | + if ($col['NUMERIC_SCALE'] !== null) |
|
152 | 152 | $info['NumericScale'] = intval($col['NUMERIC_SCALE']); |
153 | 153 | $tableInfo->Columns[$columnId] = new TMssqlTableColumn($info); |
154 | 154 | } |
@@ -163,11 +163,11 @@ discard block |
||
163 | 163 | $info['CatalogName'] = $col['TABLE_CATALOG']; |
164 | 164 | $info['SchemaName'] = $col['TABLE_SCHEMA']; |
165 | 165 | $info['TableName'] = $col['TABLE_NAME']; |
166 | - if($col['TABLE_TYPE']==='VIEW') |
|
166 | + if ($col['TABLE_TYPE'] === 'VIEW') |
|
167 | 167 | $info['IsView'] = true; |
168 | 168 | list($primary, $foreign) = $this->getConstraintKeys($col); |
169 | 169 | $class = $this->getTableInfoClass(); |
170 | - return new $class($info,$primary,$foreign); |
|
170 | + return new $class($info, $primary, $foreign); |
|
171 | 171 | } |
172 | 172 | |
173 | 173 | /** |
@@ -192,10 +192,10 @@ discard block |
||
192 | 192 | $command = $this->getDbConnection()->createCommand($sql); |
193 | 193 | $command->bindValue(':table', $col['TABLE_NAME']); |
194 | 194 | $primary = array(); |
195 | - foreach($command->query()->readAll() as $field) |
|
195 | + foreach ($command->query()->readAll() as $field) |
|
196 | 196 | $primary[] = $field['field_name']; |
197 | 197 | $foreign = $this->getForeignConstraints($col); |
198 | - return array($primary,$foreign); |
|
198 | + return array($primary, $foreign); |
|
199 | 199 | } |
200 | 200 | |
201 | 201 | /** |
@@ -234,9 +234,9 @@ discard block |
||
234 | 234 | EOD; |
235 | 235 | $command = $this->getDbConnection()->createCommand($sql); |
236 | 236 | $command->bindValue(':table', $col['TABLE_NAME']); |
237 | - $fkeys=array(); |
|
237 | + $fkeys = array(); |
|
238 | 238 | $catalogSchema = "[{$col['TABLE_CATALOG']}].[{$col['TABLE_SCHEMA']}]"; |
239 | - foreach($command->query() as $info) |
|
239 | + foreach ($command->query() as $info) |
|
240 | 240 | { |
241 | 241 | $fkeys[$info['FK_CONSTRAINT_NAME']]['keys'][$info['FK_COLUMN_NAME']] = $info['UQ_COLUMN_NAME']; |
242 | 242 | $fkeys[$info['FK_CONSTRAINT_NAME']]['table'] = $info['UQ_TABLE_NAME']; |
@@ -251,9 +251,9 @@ discard block |
||
251 | 251 | */ |
252 | 252 | protected function isForeignKeyColumn($columnId, $tableInfo) |
253 | 253 | { |
254 | - foreach($tableInfo->getForeignKeys() as $fk) |
|
254 | + foreach ($tableInfo->getForeignKeys() as $fk) |
|
255 | 255 | { |
256 | - if(in_array($columnId, array_keys($fk['keys']))) |
|
256 | + if (in_array($columnId, array_keys($fk['keys']))) |
|
257 | 257 | return true; |
258 | 258 | } |
259 | 259 | return false; |
@@ -265,23 +265,23 @@ discard block |
||
265 | 265 | * If not empty, the returned table names will be prefixed with the schema name. |
266 | 266 | * @return array all table names in the database. |
267 | 267 | */ |
268 | - public function findTableNames($schema='dbo') |
|
268 | + public function findTableNames($schema = 'dbo') |
|
269 | 269 | { |
270 | - $condition="TABLE_TYPE='BASE TABLE'"; |
|
271 | - $sql=<<<EOD |
|
270 | + $condition = "TABLE_TYPE='BASE TABLE'"; |
|
271 | + $sql = <<<EOD |
|
272 | 272 | SELECT TABLE_NAME, TABLE_SCHEMA FROM [INFORMATION_SCHEMA].[TABLES] |
273 | 273 | WHERE TABLE_SCHEMA=:schema AND $condition |
274 | 274 | EOD; |
275 | - $command=$this->getDbConnection()->createCommand($sql); |
|
275 | + $command = $this->getDbConnection()->createCommand($sql); |
|
276 | 276 | $command->bindParam(":schema", $schema); |
277 | - $rows=$command->queryAll(); |
|
278 | - $names=array(); |
|
277 | + $rows = $command->queryAll(); |
|
278 | + $names = array(); |
|
279 | 279 | foreach ($rows as $row) |
280 | 280 | { |
281 | 281 | if ($schema == self::DEFAULT_SCHEMA) |
282 | - $names[]=$row['TABLE_NAME']; |
|
282 | + $names[] = $row['TABLE_NAME']; |
|
283 | 283 | else |
284 | - $names[]=$schema.'.'.$row['TABLE_SCHEMA'].'.'.$row['TABLE_NAME']; |
|
284 | + $names[] = $schema . '.' . $row['TABLE_SCHEMA'] . '.' . $row['TABLE_NAME']; |
|
285 | 285 | } |
286 | 286 | |
287 | 287 | return $names; |
@@ -80,27 +80,33 @@ discard block |
||
80 | 80 | WHERE t.table_name = c.table_name |
81 | 81 | AND t.table_name = :table |
82 | 82 | EOD; |
83 | - if($schemaName!==null) |
|
84 | - $sql .= ' AND t.table_schema = :schema'; |
|
85 | - if($catalogName!==null) |
|
86 | - $sql .= ' AND t.table_catalog = :catalog'; |
|
83 | + if($schemaName!==null) { |
|
84 | + $sql .= ' AND t.table_schema = :schema'; |
|
85 | + } |
|
86 | + if($catalogName!==null) { |
|
87 | + $sql .= ' AND t.table_catalog = :catalog'; |
|
88 | + } |
|
87 | 89 | |
88 | 90 | $command = $this->getDbConnection()->createCommand($sql); |
89 | 91 | $command->bindValue(':table', $tableName); |
90 | - if($schemaName!==null) |
|
91 | - $command->bindValue(':schema', $schemaName); |
|
92 | - if($catalogName!==null) |
|
93 | - $command->bindValue(':catalog', $catalogName); |
|
92 | + if($schemaName!==null) { |
|
93 | + $command->bindValue(':schema', $schemaName); |
|
94 | + } |
|
95 | + if($catalogName!==null) { |
|
96 | + $command->bindValue(':catalog', $catalogName); |
|
97 | + } |
|
94 | 98 | |
95 | 99 | $tableInfo=null; |
96 | 100 | foreach($command->query() as $col) |
97 | 101 | { |
98 | - if($tableInfo===null) |
|
99 | - $tableInfo = $this->createNewTableInfo($col); |
|
102 | + if($tableInfo===null) { |
|
103 | + $tableInfo = $this->createNewTableInfo($col); |
|
104 | + } |
|
100 | 105 | $this->processColumn($tableInfo,$col); |
101 | 106 | } |
102 | - if($tableInfo===null) |
|
103 | - throw new TDbException('dbmetadata_invalid_table_view', $table); |
|
107 | + if($tableInfo===null) { |
|
108 | + throw new TDbException('dbmetadata_invalid_table_view', $table); |
|
109 | + } |
|
104 | 110 | return $tableInfo; |
105 | 111 | } |
106 | 112 | |
@@ -112,12 +118,15 @@ discard block |
||
112 | 118 | { |
113 | 119 | //remove possible delimiters |
114 | 120 | $result = explode('.', preg_replace('/\[|\]|"/', '', $table)); |
115 | - if(count($result)===1) |
|
116 | - return array(null,null,$result[0]); |
|
117 | - if(count($result)===2) |
|
118 | - return array(null,$result[0],$result[1]); |
|
119 | - if(count($result)>2) |
|
120 | - return array($result[0],$result[1],$result[2]); |
|
121 | + if(count($result)===1) { |
|
122 | + return array(null,null,$result[0]); |
|
123 | + } |
|
124 | + if(count($result)===2) { |
|
125 | + return array(null,$result[0],$result[1]); |
|
126 | + } |
|
127 | + if(count($result)>2) { |
|
128 | + return array($result[0],$result[1],$result[2]); |
|
129 | + } |
|
121 | 130 | } |
122 | 131 | |
123 | 132 | /** |
@@ -131,25 +140,33 @@ discard block |
||
131 | 140 | $info['ColumnName'] = "[$columnId]"; //quote the column names! |
132 | 141 | $info['ColumnId'] = $columnId; |
133 | 142 | $info['ColumnIndex'] = intval($col['ORDINAL_POSITION'])-1; //zero-based index |
134 | - if($col['IS_NULLABLE']!=='NO') |
|
135 | - $info['AllowNull'] = true; |
|
136 | - if($col['COLUMN_DEFAULT']!==null) |
|
137 | - $info['DefaultValue'] = $col['COLUMN_DEFAULT']; |
|
143 | + if($col['IS_NULLABLE']!=='NO') { |
|
144 | + $info['AllowNull'] = true; |
|
145 | + } |
|
146 | + if($col['COLUMN_DEFAULT']!==null) { |
|
147 | + $info['DefaultValue'] = $col['COLUMN_DEFAULT']; |
|
148 | + } |
|
138 | 149 | |
139 | - if(in_array($columnId, $tableInfo->getPrimaryKeys())) |
|
140 | - $info['IsPrimaryKey'] = true; |
|
141 | - if($this->isForeignKeyColumn($columnId, $tableInfo)) |
|
142 | - $info['IsForeignKey'] = true; |
|
150 | + if(in_array($columnId, $tableInfo->getPrimaryKeys())) { |
|
151 | + $info['IsPrimaryKey'] = true; |
|
152 | + } |
|
153 | + if($this->isForeignKeyColumn($columnId, $tableInfo)) { |
|
154 | + $info['IsForeignKey'] = true; |
|
155 | + } |
|
143 | 156 | |
144 | - if($col['IsIdentity']==='1') |
|
145 | - $info['AutoIncrement'] = true; |
|
157 | + if($col['IsIdentity']==='1') { |
|
158 | + $info['AutoIncrement'] = true; |
|
159 | + } |
|
146 | 160 | $info['DbType'] = $col['DATA_TYPE']; |
147 | - if($col['CHARACTER_MAXIMUM_LENGTH']!==null) |
|
148 | - $info['ColumnSize'] = intval($col['CHARACTER_MAXIMUM_LENGTH']); |
|
149 | - if($col['NUMERIC_PRECISION'] !== null) |
|
150 | - $info['NumericPrecision'] = intval($col['NUMERIC_PRECISION']); |
|
151 | - if($col['NUMERIC_SCALE']!==null) |
|
152 | - $info['NumericScale'] = intval($col['NUMERIC_SCALE']); |
|
161 | + if($col['CHARACTER_MAXIMUM_LENGTH']!==null) { |
|
162 | + $info['ColumnSize'] = intval($col['CHARACTER_MAXIMUM_LENGTH']); |
|
163 | + } |
|
164 | + if($col['NUMERIC_PRECISION'] !== null) { |
|
165 | + $info['NumericPrecision'] = intval($col['NUMERIC_PRECISION']); |
|
166 | + } |
|
167 | + if($col['NUMERIC_SCALE']!==null) { |
|
168 | + $info['NumericScale'] = intval($col['NUMERIC_SCALE']); |
|
169 | + } |
|
153 | 170 | $tableInfo->Columns[$columnId] = new TMssqlTableColumn($info); |
154 | 171 | } |
155 | 172 | |
@@ -163,8 +180,9 @@ discard block |
||
163 | 180 | $info['CatalogName'] = $col['TABLE_CATALOG']; |
164 | 181 | $info['SchemaName'] = $col['TABLE_SCHEMA']; |
165 | 182 | $info['TableName'] = $col['TABLE_NAME']; |
166 | - if($col['TABLE_TYPE']==='VIEW') |
|
167 | - $info['IsView'] = true; |
|
183 | + if($col['TABLE_TYPE']==='VIEW') { |
|
184 | + $info['IsView'] = true; |
|
185 | + } |
|
168 | 186 | list($primary, $foreign) = $this->getConstraintKeys($col); |
169 | 187 | $class = $this->getTableInfoClass(); |
170 | 188 | return new $class($info,$primary,$foreign); |
@@ -192,8 +210,9 @@ discard block |
||
192 | 210 | $command = $this->getDbConnection()->createCommand($sql); |
193 | 211 | $command->bindValue(':table', $col['TABLE_NAME']); |
194 | 212 | $primary = array(); |
195 | - foreach($command->query()->readAll() as $field) |
|
196 | - $primary[] = $field['field_name']; |
|
213 | + foreach($command->query()->readAll() as $field) { |
|
214 | + $primary[] = $field['field_name']; |
|
215 | + } |
|
197 | 216 | $foreign = $this->getForeignConstraints($col); |
198 | 217 | return array($primary,$foreign); |
199 | 218 | } |
@@ -253,8 +272,9 @@ discard block |
||
253 | 272 | { |
254 | 273 | foreach($tableInfo->getForeignKeys() as $fk) |
255 | 274 | { |
256 | - if(in_array($columnId, array_keys($fk['keys']))) |
|
257 | - return true; |
|
275 | + if(in_array($columnId, array_keys($fk['keys']))) { |
|
276 | + return true; |
|
277 | + } |
|
258 | 278 | } |
259 | 279 | return false; |
260 | 280 | } |
@@ -278,10 +298,11 @@ discard block |
||
278 | 298 | $names=array(); |
279 | 299 | foreach ($rows as $row) |
280 | 300 | { |
281 | - if ($schema == self::DEFAULT_SCHEMA) |
|
282 | - $names[]=$row['TABLE_NAME']; |
|
283 | - else |
|
284 | - $names[]=$schema.'.'.$row['TABLE_SCHEMA'].'.'.$row['TABLE_NAME']; |
|
301 | + if ($schema == self::DEFAULT_SCHEMA) { |
|
302 | + $names[]=$row['TABLE_NAME']; |
|
303 | + } else { |
|
304 | + $names[]=$schema.'.'.$row['TABLE_SCHEMA'].'.'.$row['TABLE_NAME']; |
|
305 | + } |
|
285 | 306 | } |
286 | 307 | |
287 | 308 | return $names; |
@@ -27,7 +27,7 @@ |
||
27 | 27 | |
28 | 28 | /** |
29 | 29 | * Overrides parent implementation, returns PHP type from the db type. |
30 | - * @return boolean derived PHP primitive type from the column db type. |
|
30 | + * @return string derived PHP primitive type from the column db type. |
|
31 | 31 | */ |
32 | 32 | public function getPHPType() |
33 | 33 | { |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | */ |
41 | 41 | public function getAutoIncrement() |
42 | 42 | { |
43 | - return $this->getInfo('AutoIncrement',false); |
|
43 | + return $this->getInfo('AutoIncrement', false); |
|
44 | 44 | } |
45 | 45 | |
46 | 46 | /** |
@@ -56,7 +56,7 @@ discard block |
||
56 | 56 | */ |
57 | 57 | public function getIsExcluded() |
58 | 58 | { |
59 | - return strtolower($this->getDbType())==='timestamp'; |
|
59 | + return strtolower($this->getDbType()) === 'timestamp'; |
|
60 | 60 | } |
61 | 61 | } |
62 | 62 |
@@ -114,6 +114,7 @@ |
||
114 | 114 | /** |
115 | 115 | * @param TMysqlTableInfo table information. |
116 | 116 | * @param array column information. |
117 | + * @param TMysqlTableInfo $tableInfo |
|
117 | 118 | */ |
118 | 119 | protected function processColumn($tableInfo, $col) |
119 | 120 | { |
@@ -27,7 +27,7 @@ discard block |
||
27 | 27 | */ |
28 | 28 | class TMysqlMetaData extends TDbMetaData |
29 | 29 | { |
30 | - private $_serverVersion=0; |
|
30 | + private $_serverVersion = 0; |
|
31 | 31 | |
32 | 32 | /** |
33 | 33 | * @return string TDbTableInfo class name. |
@@ -74,24 +74,24 @@ discard block |
||
74 | 74 | */ |
75 | 75 | protected function createTableInfo($table) |
76 | 76 | { |
77 | - list($schemaName,$tableName) = $this->getSchemaTableName($table); |
|
78 | - $find = $schemaName===null ? "`{$tableName}`" : "`{$schemaName}`.`{$tableName}`"; |
|
77 | + list($schemaName, $tableName) = $this->getSchemaTableName($table); |
|
78 | + $find = $schemaName === null ? "`{$tableName}`" : "`{$schemaName}`.`{$tableName}`"; |
|
79 | 79 | $colCase = $this->getDbConnection()->getColumnCase(); |
80 | - if($colCase != TDbColumnCaseMode::Preserved) |
|
80 | + if ($colCase != TDbColumnCaseMode::Preserved) |
|
81 | 81 | $this->getDbConnection()->setColumnCase('Preserved'); |
82 | 82 | $this->getDbConnection()->setActive(true); |
83 | 83 | $sql = "SHOW FULL FIELDS FROM {$find}"; |
84 | 84 | $command = $this->getDbConnection()->createCommand($sql); |
85 | 85 | $tableInfo = $this->createNewTableInfo($table); |
86 | - $index=0; |
|
87 | - foreach($command->query() as $col) |
|
86 | + $index = 0; |
|
87 | + foreach ($command->query() as $col) |
|
88 | 88 | { |
89 | 89 | $col['index'] = $index++; |
90 | - $this->processColumn($tableInfo,$col); |
|
90 | + $this->processColumn($tableInfo, $col); |
|
91 | 91 | } |
92 | - if($index===0) |
|
92 | + if ($index === 0) |
|
93 | 93 | throw new TDbException('dbmetadata_invalid_table_view', $table); |
94 | - if($colCase != TDbColumnCaseMode::Preserved) |
|
94 | + if ($colCase != TDbColumnCaseMode::Preserved) |
|
95 | 95 | $this->getDbConnection()->setColumnCase($colCase); |
96 | 96 | return $tableInfo; |
97 | 97 | } |
@@ -101,12 +101,12 @@ discard block |
||
101 | 101 | */ |
102 | 102 | protected function getServerVersion() |
103 | 103 | { |
104 | - if(!$this->_serverVersion) |
|
104 | + if (!$this->_serverVersion) |
|
105 | 105 | { |
106 | 106 | $version = $this->getDbConnection()->getAttribute(PDO::ATTR_SERVER_VERSION); |
107 | - $digits=array(); |
|
107 | + $digits = array(); |
|
108 | 108 | preg_match('/(\d+)\.(\d+)\.(\d+)/', $version, $digits); |
109 | - $this->_serverVersion=floatval($digits[1].'.'.$digits[2].$digits[3]); |
|
109 | + $this->_serverVersion = floatval($digits[1] . '.' . $digits[2] . $digits[3]); |
|
110 | 110 | } |
111 | 111 | return $this->_serverVersion; |
112 | 112 | } |
@@ -122,37 +122,37 @@ discard block |
||
122 | 122 | $info['ColumnName'] = "`$columnId`"; //quote the column names! |
123 | 123 | $info['ColumnId'] = $columnId; |
124 | 124 | $info['ColumnIndex'] = $col['index']; |
125 | - if($col['Null']==='YES') |
|
125 | + if ($col['Null'] === 'YES') |
|
126 | 126 | $info['AllowNull'] = true; |
127 | - if(is_int(strpos(strtolower($col['Extra']), 'auto_increment'))) |
|
128 | - $info['AutoIncrement']=true; |
|
129 | - if($col['Default']!=="") |
|
127 | + if (is_int(strpos(strtolower($col['Extra']), 'auto_increment'))) |
|
128 | + $info['AutoIncrement'] = true; |
|
129 | + if ($col['Default'] !== "") |
|
130 | 130 | $info['DefaultValue'] = $col['Default']; |
131 | 131 | |
132 | - if($col['Key']==='PRI' || in_array($columnId, $tableInfo->getPrimaryKeys())) |
|
132 | + if ($col['Key'] === 'PRI' || in_array($columnId, $tableInfo->getPrimaryKeys())) |
|
133 | 133 | $info['IsPrimaryKey'] = true; |
134 | - if($this->isForeignKeyColumn($columnId, $tableInfo)) |
|
134 | + if ($this->isForeignKeyColumn($columnId, $tableInfo)) |
|
135 | 135 | $info['IsForeignKey'] = true; |
136 | 136 | |
137 | 137 | $info['DbType'] = $col['Type']; |
138 | - $match=array(); |
|
138 | + $match = array(); |
|
139 | 139 | //find SET/ENUM values, column size, precision, and scale |
140 | - if(preg_match('/\((.*)\)/', $col['Type'], $match)) |
|
140 | + if (preg_match('/\((.*)\)/', $col['Type'], $match)) |
|
141 | 141 | { |
142 | - $info['DbType']= preg_replace('/\(.*\)/', '', $col['Type']); |
|
142 | + $info['DbType'] = preg_replace('/\(.*\)/', '', $col['Type']); |
|
143 | 143 | |
144 | 144 | //find SET/ENUM values |
145 | - if($this->isEnumSetType($info['DbType'])) |
|
145 | + if ($this->isEnumSetType($info['DbType'])) |
|
146 | 146 | $info['DbTypeValues'] = preg_split("/[',]/S", $match[1], -1, PREG_SPLIT_NO_EMPTY); |
147 | 147 | |
148 | 148 | //find column size, precision and scale |
149 | 149 | $pscale = array(); |
150 | - if(preg_match('/(\d+)(?:,(\d+))?+/', $match[1], $pscale)) |
|
150 | + if (preg_match('/(\d+)(?:,(\d+))?+/', $match[1], $pscale)) |
|
151 | 151 | { |
152 | - if($this->isPrecisionType($info['DbType'])) |
|
152 | + if ($this->isPrecisionType($info['DbType'])) |
|
153 | 153 | { |
154 | 154 | $info['NumericPrecision'] = intval($pscale[1]); |
155 | - if(count($pscale) > 2) |
|
155 | + if (count($pscale) > 2) |
|
156 | 156 | $info['NumericScale'] = intval($pscale[2]); |
157 | 157 | } |
158 | 158 | else |
@@ -169,9 +169,9 @@ discard block |
||
169 | 169 | protected function isPrecisionType($type) |
170 | 170 | { |
171 | 171 | $type = strtolower(trim($type)); |
172 | - return $type==='decimal' || $type==='dec' |
|
173 | - || $type==='float' || $type==='double' |
|
174 | - || $type==='double precision' || $type==='real'; |
|
172 | + return $type === 'decimal' || $type === 'dec' |
|
173 | + || $type === 'float' || $type === 'double' |
|
174 | + || $type === 'double precision' || $type === 'real'; |
|
175 | 175 | } |
176 | 176 | |
177 | 177 | /** |
@@ -180,7 +180,7 @@ discard block |
||
180 | 180 | protected function isEnumSetType($type) |
181 | 181 | { |
182 | 182 | $type = strtolower(trim($type)); |
183 | - return $type==='set' || $type==='enum'; |
|
183 | + return $type === 'set' || $type === 'enum'; |
|
184 | 184 | } |
185 | 185 | |
186 | 186 | /** |
@@ -192,9 +192,9 @@ discard block |
||
192 | 192 | { |
193 | 193 | //remove the back ticks and separate out the "database.table" |
194 | 194 | $result = explode('.', str_replace('`', '', $table)); |
195 | - foreach($result as $name) |
|
195 | + foreach ($result as $name) |
|
196 | 196 | { |
197 | - if(!$this->isValidIdentifier($name)) |
|
197 | + if (!$this->isValidIdentifier($name)) |
|
198 | 198 | { |
199 | 199 | $ref = 'http://dev.mysql.com/doc/refman/5.0/en/identifiers.html'; |
200 | 200 | throw new TDbException('dbcommon_invalid_identifier_name', $table, $ref); |
@@ -220,14 +220,14 @@ discard block |
||
220 | 220 | */ |
221 | 221 | protected function createNewTableInfo($table) |
222 | 222 | { |
223 | - list($schemaName,$tableName) = $this->getSchemaTableName($table); |
|
223 | + list($schemaName, $tableName) = $this->getSchemaTableName($table); |
|
224 | 224 | $info['SchemaName'] = $schemaName; |
225 | 225 | $info['TableName'] = $tableName; |
226 | - if($this->getIsView($schemaName,$tableName)) |
|
226 | + if ($this->getIsView($schemaName, $tableName)) |
|
227 | 227 | $info['IsView'] = true; |
228 | 228 | list($primary, $foreign) = $this->getConstraintKeys($schemaName, $tableName); |
229 | 229 | $class = $this->getTableInfoClass(); |
230 | - return new $class($info,$primary,$foreign); |
|
230 | + return new $class($info, $primary, $foreign); |
|
231 | 231 | } |
232 | 232 | |
233 | 233 | /** |
@@ -240,11 +240,11 @@ discard block |
||
240 | 240 | * @return boolean true if is view, false otherwise. |
241 | 241 | * @throws TDbException if table or view does not exist. |
242 | 242 | */ |
243 | - protected function getIsView($schemaName,$tableName) |
|
243 | + protected function getIsView($schemaName, $tableName) |
|
244 | 244 | { |
245 | - if($this->getServerVersion()<5.01) |
|
245 | + if ($this->getServerVersion() < 5.01) |
|
246 | 246 | return false; |
247 | - if($schemaName!==null) |
|
247 | + if ($schemaName !== null) |
|
248 | 248 | $sql = "SHOW FULL TABLES FROM `{$schemaName}` LIKE :table"; |
249 | 249 | else |
250 | 250 | $sql = "SHOW FULL TABLES LIKE :table"; |
@@ -253,12 +253,12 @@ discard block |
||
253 | 253 | $command->bindValue(':table', $tableName); |
254 | 254 | try |
255 | 255 | { |
256 | - return count($result = $command->queryRow()) > 0 && $result['Table_type']==='VIEW'; |
|
256 | + return count($result = $command->queryRow()) > 0 && $result['Table_type'] === 'VIEW'; |
|
257 | 257 | } |
258 | - catch(TDbException $e) |
|
258 | + catch (TDbException $e) |
|
259 | 259 | { |
260 | - $table = $schemaName===null?$tableName:$schemaName.'.'.$tableName; |
|
261 | - throw new TDbException('dbcommon_invalid_table_name',$table,$e->getMessage()); |
|
260 | + $table = $schemaName === null ? $tableName : $schemaName . '.' . $tableName; |
|
261 | + throw new TDbException('dbcommon_invalid_table_name', $table, $e->getMessage()); |
|
262 | 262 | } |
263 | 263 | } |
264 | 264 | |
@@ -270,22 +270,22 @@ discard block |
||
270 | 270 | */ |
271 | 271 | protected function getConstraintKeys($schemaName, $tableName) |
272 | 272 | { |
273 | - $table = $schemaName===null ? "`{$tableName}`" : "`{$schemaName}`.`{$tableName}`"; |
|
273 | + $table = $schemaName === null ? "`{$tableName}`" : "`{$schemaName}`.`{$tableName}`"; |
|
274 | 274 | $sql = "SHOW INDEX FROM {$table}"; |
275 | 275 | $command = $this->getDbConnection()->createCommand($sql); |
276 | 276 | $primary = array(); |
277 | - foreach($command->query() as $row) |
|
277 | + foreach ($command->query() as $row) |
|
278 | 278 | { |
279 | - if($row['Key_name']==='PRIMARY') |
|
279 | + if ($row['Key_name'] === 'PRIMARY') |
|
280 | 280 | $primary[] = $row['Column_name']; |
281 | 281 | } |
282 | 282 | // MySQL version was increased to >=5.1.21 instead of 5.x |
283 | 283 | // due to a MySQL bug (http://bugs.mysql.com/bug.php?id=19588) |
284 | - if($this->getServerVersion() >= 5.121) |
|
285 | - $foreign = $this->getForeignConstraints($schemaName,$tableName); |
|
284 | + if ($this->getServerVersion() >= 5.121) |
|
285 | + $foreign = $this->getForeignConstraints($schemaName, $tableName); |
|
286 | 286 | else |
287 | - $foreign = $this->findForeignConstraints($schemaName,$tableName); |
|
288 | - return array($primary,$foreign); |
|
287 | + $foreign = $this->findForeignConstraints($schemaName, $tableName); |
|
288 | + return array($primary, $foreign); |
|
289 | 289 | } |
290 | 290 | |
291 | 291 | /** |
@@ -313,10 +313,10 @@ discard block |
||
313 | 313 | EOD; |
314 | 314 | $command = $this->getDbConnection()->createCommand($sql); |
315 | 315 | $command->bindValue(':table', $tableName); |
316 | - if($schemaName!==null) |
|
316 | + if ($schemaName !== null) |
|
317 | 317 | $command->bindValue(':schema', $schemaName); |
318 | - $fkeys=array(); |
|
319 | - foreach($command->query() as $col) |
|
318 | + $fkeys = array(); |
|
319 | + foreach ($command->query() as $col) |
|
320 | 320 | { |
321 | 321 | $fkeys[$col['con']]['keys'][$col['col']] = $col['fkcol']; |
322 | 322 | $fkeys[$col['con']]['table'] = $col['fktable']; |
@@ -332,12 +332,12 @@ discard block |
||
332 | 332 | */ |
333 | 333 | protected function getShowCreateTable($schemaName, $tableName) |
334 | 334 | { |
335 | - if(version_compare(PHP_VERSION,'5.1.3','<')) |
|
335 | + if (version_compare(PHP_VERSION, '5.1.3', '<')) |
|
336 | 336 | throw new TDbException('dbmetadata_requires_php_version', 'Mysql 4.1.x', '5.1.3'); |
337 | 337 | |
338 | 338 | //See http://netevil.org/node.php?nid=795&SC=1 |
339 | 339 | $this->getDbConnection()->setAttribute(PDO::ATTR_EMULATE_PREPARES, true); |
340 | - if($schemaName!==null) |
|
340 | + if ($schemaName !== null) |
|
341 | 341 | $sql = "SHOW CREATE TABLE `{$schemaName}`.`{$tableName}`"; |
342 | 342 | else |
343 | 343 | $sql = "SHOW CREATE TABLE `{$tableName}`"; |
@@ -355,16 +355,16 @@ discard block |
||
355 | 355 | protected function findForeignConstraints($schemaName, $tableName) |
356 | 356 | { |
357 | 357 | $sql = $this->getShowCreateTable($schemaName, $tableName); |
358 | - $matches =array(); |
|
358 | + $matches = array(); |
|
359 | 359 | $regexp = '/FOREIGN KEY\s+\(([^\)]+)\)\s+REFERENCES\s+`?([^`]+)`?\s\(([^\)]+)\)/mi'; |
360 | - preg_match_all($regexp,$sql,$matches,PREG_SET_ORDER); |
|
360 | + preg_match_all($regexp, $sql, $matches, PREG_SET_ORDER); |
|
361 | 361 | $foreign = array(); |
362 | - foreach($matches as $match) |
|
362 | + foreach ($matches as $match) |
|
363 | 363 | { |
364 | - $fields = array_map('trim',explode(',',str_replace('`','',$match[1]))); |
|
365 | - $fk_fields = array_map('trim',explode(',',str_replace('`','',$match[3]))); |
|
366 | - $keys=array(); |
|
367 | - foreach($fields as $k=>$v) |
|
364 | + $fields = array_map('trim', explode(',', str_replace('`', '', $match[1]))); |
|
365 | + $fk_fields = array_map('trim', explode(',', str_replace('`', '', $match[3]))); |
|
366 | + $keys = array(); |
|
367 | + foreach ($fields as $k=>$v) |
|
368 | 368 | $keys[$v] = $fk_fields[$k]; |
369 | 369 | $foreign[] = array('keys' => $keys, 'table' => trim($match[2])); |
370 | 370 | } |
@@ -378,9 +378,9 @@ discard block |
||
378 | 378 | */ |
379 | 379 | protected function isForeignKeyColumn($columnId, $tableInfo) |
380 | 380 | { |
381 | - foreach($tableInfo->getForeignKeys() as $fk) |
|
381 | + foreach ($tableInfo->getForeignKeys() as $fk) |
|
382 | 382 | { |
383 | - if(in_array($columnId, array_keys($fk['keys']))) |
|
383 | + if (in_array($columnId, array_keys($fk['keys']))) |
|
384 | 384 | return true; |
385 | 385 | } |
386 | 386 | return false; |
@@ -392,13 +392,13 @@ discard block |
||
392 | 392 | * If not empty, the returned table names will be prefixed with the schema name. |
393 | 393 | * @return array all table names in the database. |
394 | 394 | */ |
395 | - public function findTableNames($schema='') |
|
395 | + public function findTableNames($schema = '') |
|
396 | 396 | { |
397 | - if($schema==='') |
|
397 | + if ($schema === '') |
|
398 | 398 | return $this->getDbConnection()->createCommand('SHOW TABLES')->queryColumn(); |
399 | - $names=$this->getDbConnection()->createCommand('SHOW TABLES FROM '.$this->quoteTableName($schema))->queryColumn(); |
|
400 | - foreach($names as &$name) |
|
401 | - $name=$schema.'.'.$name; |
|
399 | + $names = $this->getDbConnection()->createCommand('SHOW TABLES FROM ' . $this->quoteTableName($schema))->queryColumn(); |
|
400 | + foreach ($names as &$name) |
|
401 | + $name = $schema . '.' . $name; |
|
402 | 402 | return $names; |
403 | 403 | } |
404 | 404 | } |
@@ -77,8 +77,9 @@ discard block |
||
77 | 77 | list($schemaName,$tableName) = $this->getSchemaTableName($table); |
78 | 78 | $find = $schemaName===null ? "`{$tableName}`" : "`{$schemaName}`.`{$tableName}`"; |
79 | 79 | $colCase = $this->getDbConnection()->getColumnCase(); |
80 | - if($colCase != TDbColumnCaseMode::Preserved) |
|
81 | - $this->getDbConnection()->setColumnCase('Preserved'); |
|
80 | + if($colCase != TDbColumnCaseMode::Preserved) { |
|
81 | + $this->getDbConnection()->setColumnCase('Preserved'); |
|
82 | + } |
|
82 | 83 | $this->getDbConnection()->setActive(true); |
83 | 84 | $sql = "SHOW FULL FIELDS FROM {$find}"; |
84 | 85 | $command = $this->getDbConnection()->createCommand($sql); |
@@ -89,10 +90,12 @@ discard block |
||
89 | 90 | $col['index'] = $index++; |
90 | 91 | $this->processColumn($tableInfo,$col); |
91 | 92 | } |
92 | - if($index===0) |
|
93 | - throw new TDbException('dbmetadata_invalid_table_view', $table); |
|
94 | - if($colCase != TDbColumnCaseMode::Preserved) |
|
95 | - $this->getDbConnection()->setColumnCase($colCase); |
|
93 | + if($index===0) { |
|
94 | + throw new TDbException('dbmetadata_invalid_table_view', $table); |
|
95 | + } |
|
96 | + if($colCase != TDbColumnCaseMode::Preserved) { |
|
97 | + $this->getDbConnection()->setColumnCase($colCase); |
|
98 | + } |
|
96 | 99 | return $tableInfo; |
97 | 100 | } |
98 | 101 | |
@@ -122,17 +125,22 @@ discard block |
||
122 | 125 | $info['ColumnName'] = "`$columnId`"; //quote the column names! |
123 | 126 | $info['ColumnId'] = $columnId; |
124 | 127 | $info['ColumnIndex'] = $col['index']; |
125 | - if($col['Null']==='YES') |
|
126 | - $info['AllowNull'] = true; |
|
127 | - if(is_int(strpos(strtolower($col['Extra']), 'auto_increment'))) |
|
128 | - $info['AutoIncrement']=true; |
|
129 | - if($col['Default']!=="") |
|
130 | - $info['DefaultValue'] = $col['Default']; |
|
128 | + if($col['Null']==='YES') { |
|
129 | + $info['AllowNull'] = true; |
|
130 | + } |
|
131 | + if(is_int(strpos(strtolower($col['Extra']), 'auto_increment'))) { |
|
132 | + $info['AutoIncrement']=true; |
|
133 | + } |
|
134 | + if($col['Default']!=="") { |
|
135 | + $info['DefaultValue'] = $col['Default']; |
|
136 | + } |
|
131 | 137 | |
132 | - if($col['Key']==='PRI' || in_array($columnId, $tableInfo->getPrimaryKeys())) |
|
133 | - $info['IsPrimaryKey'] = true; |
|
134 | - if($this->isForeignKeyColumn($columnId, $tableInfo)) |
|
135 | - $info['IsForeignKey'] = true; |
|
138 | + if($col['Key']==='PRI' || in_array($columnId, $tableInfo->getPrimaryKeys())) { |
|
139 | + $info['IsPrimaryKey'] = true; |
|
140 | + } |
|
141 | + if($this->isForeignKeyColumn($columnId, $tableInfo)) { |
|
142 | + $info['IsForeignKey'] = true; |
|
143 | + } |
|
136 | 144 | |
137 | 145 | $info['DbType'] = $col['Type']; |
138 | 146 | $match=array(); |
@@ -142,8 +150,9 @@ discard block |
||
142 | 150 | $info['DbType']= preg_replace('/\(.*\)/', '', $col['Type']); |
143 | 151 | |
144 | 152 | //find SET/ENUM values |
145 | - if($this->isEnumSetType($info['DbType'])) |
|
146 | - $info['DbTypeValues'] = preg_split("/[',]/S", $match[1], -1, PREG_SPLIT_NO_EMPTY); |
|
153 | + if($this->isEnumSetType($info['DbType'])) { |
|
154 | + $info['DbTypeValues'] = preg_split("/[',]/S", $match[1], -1, PREG_SPLIT_NO_EMPTY); |
|
155 | + } |
|
147 | 156 | |
148 | 157 | //find column size, precision and scale |
149 | 158 | $pscale = array(); |
@@ -152,11 +161,12 @@ discard block |
||
152 | 161 | if($this->isPrecisionType($info['DbType'])) |
153 | 162 | { |
154 | 163 | $info['NumericPrecision'] = intval($pscale[1]); |
155 | - if(count($pscale) > 2) |
|
156 | - $info['NumericScale'] = intval($pscale[2]); |
|
164 | + if(count($pscale) > 2) { |
|
165 | + $info['NumericScale'] = intval($pscale[2]); |
|
166 | + } |
|
167 | + } else { |
|
168 | + $info['ColumnSize'] = intval($pscale[1]); |
|
157 | 169 | } |
158 | - else |
|
159 | - $info['ColumnSize'] = intval($pscale[1]); |
|
160 | 170 | } |
161 | 171 | } |
162 | 172 | |
@@ -223,8 +233,9 @@ discard block |
||
223 | 233 | list($schemaName,$tableName) = $this->getSchemaTableName($table); |
224 | 234 | $info['SchemaName'] = $schemaName; |
225 | 235 | $info['TableName'] = $tableName; |
226 | - if($this->getIsView($schemaName,$tableName)) |
|
227 | - $info['IsView'] = true; |
|
236 | + if($this->getIsView($schemaName,$tableName)) { |
|
237 | + $info['IsView'] = true; |
|
238 | + } |
|
228 | 239 | list($primary, $foreign) = $this->getConstraintKeys($schemaName, $tableName); |
229 | 240 | $class = $this->getTableInfoClass(); |
230 | 241 | return new $class($info,$primary,$foreign); |
@@ -242,20 +253,21 @@ discard block |
||
242 | 253 | */ |
243 | 254 | protected function getIsView($schemaName,$tableName) |
244 | 255 | { |
245 | - if($this->getServerVersion()<5.01) |
|
246 | - return false; |
|
247 | - if($schemaName!==null) |
|
248 | - $sql = "SHOW FULL TABLES FROM `{$schemaName}` LIKE :table"; |
|
249 | - else |
|
250 | - $sql = "SHOW FULL TABLES LIKE :table"; |
|
256 | + if($this->getServerVersion()<5.01) { |
|
257 | + return false; |
|
258 | + } |
|
259 | + if($schemaName!==null) { |
|
260 | + $sql = "SHOW FULL TABLES FROM `{$schemaName}` LIKE :table"; |
|
261 | + } else { |
|
262 | + $sql = "SHOW FULL TABLES LIKE :table"; |
|
263 | + } |
|
251 | 264 | |
252 | 265 | $command = $this->getDbConnection()->createCommand($sql); |
253 | 266 | $command->bindValue(':table', $tableName); |
254 | 267 | try |
255 | 268 | { |
256 | 269 | return count($result = $command->queryRow()) > 0 && $result['Table_type']==='VIEW'; |
257 | - } |
|
258 | - catch(TDbException $e) |
|
270 | + } catch(TDbException $e) |
|
259 | 271 | { |
260 | 272 | $table = $schemaName===null?$tableName:$schemaName.'.'.$tableName; |
261 | 273 | throw new TDbException('dbcommon_invalid_table_name',$table,$e->getMessage()); |
@@ -276,15 +288,17 @@ discard block |
||
276 | 288 | $primary = array(); |
277 | 289 | foreach($command->query() as $row) |
278 | 290 | { |
279 | - if($row['Key_name']==='PRIMARY') |
|
280 | - $primary[] = $row['Column_name']; |
|
291 | + if($row['Key_name']==='PRIMARY') { |
|
292 | + $primary[] = $row['Column_name']; |
|
293 | + } |
|
281 | 294 | } |
282 | 295 | // MySQL version was increased to >=5.1.21 instead of 5.x |
283 | 296 | // due to a MySQL bug (http://bugs.mysql.com/bug.php?id=19588) |
284 | - if($this->getServerVersion() >= 5.121) |
|
285 | - $foreign = $this->getForeignConstraints($schemaName,$tableName); |
|
286 | - else |
|
287 | - $foreign = $this->findForeignConstraints($schemaName,$tableName); |
|
297 | + if($this->getServerVersion() >= 5.121) { |
|
298 | + $foreign = $this->getForeignConstraints($schemaName,$tableName); |
|
299 | + } else { |
|
300 | + $foreign = $this->findForeignConstraints($schemaName,$tableName); |
|
301 | + } |
|
288 | 302 | return array($primary,$foreign); |
289 | 303 | } |
290 | 304 | |
@@ -313,8 +327,9 @@ discard block |
||
313 | 327 | EOD; |
314 | 328 | $command = $this->getDbConnection()->createCommand($sql); |
315 | 329 | $command->bindValue(':table', $tableName); |
316 | - if($schemaName!==null) |
|
317 | - $command->bindValue(':schema', $schemaName); |
|
330 | + if($schemaName!==null) { |
|
331 | + $command->bindValue(':schema', $schemaName); |
|
332 | + } |
|
318 | 333 | $fkeys=array(); |
319 | 334 | foreach($command->query() as $col) |
320 | 335 | { |
@@ -332,15 +347,17 @@ discard block |
||
332 | 347 | */ |
333 | 348 | protected function getShowCreateTable($schemaName, $tableName) |
334 | 349 | { |
335 | - if(version_compare(PHP_VERSION,'5.1.3','<')) |
|
336 | - throw new TDbException('dbmetadata_requires_php_version', 'Mysql 4.1.x', '5.1.3'); |
|
350 | + if(version_compare(PHP_VERSION,'5.1.3','<')) { |
|
351 | + throw new TDbException('dbmetadata_requires_php_version', 'Mysql 4.1.x', '5.1.3'); |
|
352 | + } |
|
337 | 353 | |
338 | 354 | //See http://netevil.org/node.php?nid=795&SC=1 |
339 | 355 | $this->getDbConnection()->setAttribute(PDO::ATTR_EMULATE_PREPARES, true); |
340 | - if($schemaName!==null) |
|
341 | - $sql = "SHOW CREATE TABLE `{$schemaName}`.`{$tableName}`"; |
|
342 | - else |
|
343 | - $sql = "SHOW CREATE TABLE `{$tableName}`"; |
|
356 | + if($schemaName!==null) { |
|
357 | + $sql = "SHOW CREATE TABLE `{$schemaName}`.`{$tableName}`"; |
|
358 | + } else { |
|
359 | + $sql = "SHOW CREATE TABLE `{$tableName}`"; |
|
360 | + } |
|
344 | 361 | $command = $this->getDbConnection()->createCommand($sql); |
345 | 362 | $result = $command->queryRow(); |
346 | 363 | return isset($result['Create Table']) ? $result['Create Table'] : (isset($result['Create View']) ? $result['Create View'] : ''); |
@@ -364,8 +381,9 @@ discard block |
||
364 | 381 | $fields = array_map('trim',explode(',',str_replace('`','',$match[1]))); |
365 | 382 | $fk_fields = array_map('trim',explode(',',str_replace('`','',$match[3]))); |
366 | 383 | $keys=array(); |
367 | - foreach($fields as $k=>$v) |
|
368 | - $keys[$v] = $fk_fields[$k]; |
|
384 | + foreach($fields as $k=>$v) { |
|
385 | + $keys[$v] = $fk_fields[$k]; |
|
386 | + } |
|
369 | 387 | $foreign[] = array('keys' => $keys, 'table' => trim($match[2])); |
370 | 388 | } |
371 | 389 | return $foreign; |
@@ -380,8 +398,9 @@ discard block |
||
380 | 398 | { |
381 | 399 | foreach($tableInfo->getForeignKeys() as $fk) |
382 | 400 | { |
383 | - if(in_array($columnId, array_keys($fk['keys']))) |
|
384 | - return true; |
|
401 | + if(in_array($columnId, array_keys($fk['keys']))) { |
|
402 | + return true; |
|
403 | + } |
|
385 | 404 | } |
386 | 405 | return false; |
387 | 406 | } |
@@ -394,11 +413,13 @@ discard block |
||
394 | 413 | */ |
395 | 414 | public function findTableNames($schema='') |
396 | 415 | { |
397 | - if($schema==='') |
|
398 | - return $this->getDbConnection()->createCommand('SHOW TABLES')->queryColumn(); |
|
416 | + if($schema==='') { |
|
417 | + return $this->getDbConnection()->createCommand('SHOW TABLES')->queryColumn(); |
|
418 | + } |
|
399 | 419 | $names=$this->getDbConnection()->createCommand('SHOW TABLES FROM '.$this->quoteTableName($schema))->queryColumn(); |
400 | - foreach($names as &$name) |
|
401 | - $name=$schema.'.'.$name; |
|
420 | + foreach($names as &$name) { |
|
421 | + $name=$schema.'.'.$name; |
|
422 | + } |
|
402 | 423 | return $names; |
403 | 424 | } |
404 | 425 | } |
@@ -417,12 +417,12 @@ |
||
417 | 417 | return false; |
418 | 418 | } |
419 | 419 | |
420 | - /** |
|
421 | - * Returns all table names in the database. |
|
422 | - * @param string $schema the schema of the tables. Defaults to empty string, meaning the current or default schema. |
|
423 | - * If not empty, the returned table names will be prefixed with the schema name. |
|
424 | - * @return array all table names in the database. |
|
425 | - */ |
|
420 | + /** |
|
421 | + * Returns all table names in the database. |
|
422 | + * @param string $schema the schema of the tables. Defaults to empty string, meaning the current or default schema. |
|
423 | + * If not empty, the returned table names will be prefixed with the schema name. |
|
424 | + * @return array all table names in the database. |
|
425 | + */ |
|
426 | 426 | public function findTableNames($schema='public') |
427 | 427 | { |
428 | 428 | if($schema==='') |