@@ -136,6 +136,7 @@ |
||
136 | 136 | * |
137 | 137 | * Fetch all records from the target table, where the PID equals the PID specified in the target section of the strategy |
138 | 138 | * |
139 | + * @param string $selectFields |
|
139 | 140 | * @return void |
140 | 141 | */ |
141 | 142 | public function getRecords($selectFields) |
@@ -2,8 +2,6 @@ |
||
2 | 2 | namespace HDNET\Importr\Service\Targets; |
3 | 3 | |
4 | 4 | use HDNET\Importr\Domain\Model\Strategy; |
5 | -use TYPO3\CMS\Extbase\DomainObject\AbstractEntity; |
|
6 | -use HDNET\Importr\Utility; |
|
7 | 5 | |
8 | 6 | /** |
9 | 7 | * Imports records from a .CSV file into the target table which you can specify on the target section in your strategy. |
@@ -5,47 +5,47 @@ discard block |
||
5 | 5 | use TYPO3\CMS\Extbase\DomainObject\AbstractEntity; |
6 | 6 | use HDNET\Importr\Utility; |
7 | 7 | |
8 | - /** |
|
9 | - * Imports records from a .CSV file into the target table which you can specify on the target section in your strategy. |
|
10 | - * If a record does not exist in the table, it will be inserted, otherwise it will be just updated. No duplicates are created. |
|
11 | - * |
|
12 | - * complete example (strategy target): |
|
13 | - * |
|
14 | - * HDNET\Importr\Service\Targets\InsertUpdateTable: |
|
15 | - * model: TYPO3\CMS\Extbase\Domain\Model\FrontendUser |
|
16 | - * repository: TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository |
|
17 | - * target_table: fe_users |
|
18 | - * exclude_from_update: |
|
19 | - * 0: password |
|
20 | - * 1: first_name |
|
21 | - * 2: zip |
|
22 | - * pid: 324 |
|
23 | - * mapping: |
|
24 | - * 0: username |
|
25 | - * 1: password |
|
26 | - * 2: usergroup |
|
27 | - * 3: name |
|
28 | - * 4: first_name |
|
29 | - * 5: address |
|
30 | - * 6: telephone |
|
31 | - * 7: email |
|
32 | - * 8: zip |
|
33 | - * 9: city |
|
34 | - * 10: company |
|
35 | - * |
|
36 | - * Example CSV: |
|
37 | - * |
|
38 | - * username;password;usergroup;name;first_name;address;telephone;email;zip;city;company |
|
39 | - * EduardFekete;BestPwEU1234;3;Fekete;Eduard; Mystreet 21; +049123456789;[email protected];91550;Feuchtwangen;MB Connect Line GmbH |
|
40 | - * HansVader;SecondBestPwEU1234;3;Vader;Hans; Hisstreet 22; +049123456710;[email protected];99900;Universe;Hollywood Studios |
|
41 | - * |
|
42 | - * ------------------------------------------------------------------------------------------------ |
|
43 | - * |
|
44 | - * exclude_from_update: the elements specified in this array, are never being updated |
|
45 | - * |
|
46 | - * ------------------------------------------------------------------------------------------------ |
|
47 | - * @author Eduard Fekete |
|
48 | - */ |
|
8 | + /** |
|
9 | + * Imports records from a .CSV file into the target table which you can specify on the target section in your strategy. |
|
10 | + * If a record does not exist in the table, it will be inserted, otherwise it will be just updated. No duplicates are created. |
|
11 | + * |
|
12 | + * complete example (strategy target): |
|
13 | + * |
|
14 | + * HDNET\Importr\Service\Targets\InsertUpdateTable: |
|
15 | + * model: TYPO3\CMS\Extbase\Domain\Model\FrontendUser |
|
16 | + * repository: TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository |
|
17 | + * target_table: fe_users |
|
18 | + * exclude_from_update: |
|
19 | + * 0: password |
|
20 | + * 1: first_name |
|
21 | + * 2: zip |
|
22 | + * pid: 324 |
|
23 | + * mapping: |
|
24 | + * 0: username |
|
25 | + * 1: password |
|
26 | + * 2: usergroup |
|
27 | + * 3: name |
|
28 | + * 4: first_name |
|
29 | + * 5: address |
|
30 | + * 6: telephone |
|
31 | + * 7: email |
|
32 | + * 8: zip |
|
33 | + * 9: city |
|
34 | + * 10: company |
|
35 | + * |
|
36 | + * Example CSV: |
|
37 | + * |
|
38 | + * username;password;usergroup;name;first_name;address;telephone;email;zip;city;company |
|
39 | + * EduardFekete;BestPwEU1234;3;Fekete;Eduard; Mystreet 21; +049123456789;[email protected];91550;Feuchtwangen;MB Connect Line GmbH |
|
40 | + * HansVader;SecondBestPwEU1234;3;Vader;Hans; Hisstreet 22; +049123456710;[email protected];99900;Universe;Hollywood Studios |
|
41 | + * |
|
42 | + * ------------------------------------------------------------------------------------------------ |
|
43 | + * |
|
44 | + * exclude_from_update: the elements specified in this array, are never being updated |
|
45 | + * |
|
46 | + * ------------------------------------------------------------------------------------------------ |
|
47 | + * @author Eduard Fekete |
|
48 | + */ |
|
49 | 49 | |
50 | 50 | class InsertUpdateTable extends AbstractTarget implements TargetInterface |
51 | 51 | { |
@@ -176,13 +176,13 @@ discard block |
||
176 | 176 | $GLOBALS['TYPO3_DB']->sql_insert_id(); |
177 | 177 | } |
178 | 178 | |
179 | - /** |
|
180 | - * Update a record in the target table which you have specified in the target section of the strategy (don't update the password) |
|
181 | - * |
|
182 | - * @param array $entry |
|
183 | - * |
|
184 | - * @return void |
|
185 | - */ |
|
179 | + /** |
|
180 | + * Update a record in the target table which you have specified in the target section of the strategy (don't update the password) |
|
181 | + * |
|
182 | + * @param array $entry |
|
183 | + * |
|
184 | + * @return void |
|
185 | + */ |
|
186 | 186 | public function updateRecord(array $entry) |
187 | 187 | { |
188 | 188 | $into_table = $this->configuration['target_table']; |
@@ -202,13 +202,13 @@ discard block |
||
202 | 202 | } |
203 | 203 | |
204 | 204 | /** |
205 | - * This function creates a duplicate of a associative array and optionally removes any entries which are also elements of a second array |
|
206 | - * |
|
207 | - * @param array $arr |
|
208 | - * @param array $exclude_arr |
|
209 | - * |
|
210 | - * @return array |
|
211 | - */ |
|
205 | + * This function creates a duplicate of a associative array and optionally removes any entries which are also elements of a second array |
|
206 | + * |
|
207 | + * @param array $arr |
|
208 | + * @param array $exclude_arr |
|
209 | + * |
|
210 | + * @return array |
|
211 | + */ |
|
212 | 212 | public function duplicateArray(array $arr, array $exclude_arr = null) |
213 | 213 | { |
214 | 214 | $exclude = false; |
@@ -103,14 +103,14 @@ discard block |
||
103 | 103 | $record_exists = false; |
104 | 104 | $entry_username = $entry['0']; |
105 | 105 | |
106 | - $this->configuration = $this->getConfiguration(); |
|
106 | + $this->configuration = $this->getConfiguration(); |
|
107 | 107 | |
108 | 108 | if ($this->firstTime == "1") { |
109 | 109 | $this->firstTime = 0; |
110 | 110 | $this->getRecords("*"); |
111 | 111 | } |
112 | 112 | |
113 | - foreach($this->table_records as $record) { |
|
113 | + foreach ($this->table_records as $record) { |
|
114 | 114 | if ($record['deleted'] == 0) { |
115 | 115 | if ($record['username'] == $entry_username) { |
116 | 116 | $record_exists = true; |
@@ -141,12 +141,11 @@ discard block |
||
141 | 141 | public function getRecords($selectFields) |
142 | 142 | { |
143 | 143 | $fromTable = $this->configuration['target_table']; |
144 | - $whereStatement = "pid = '".$this->configuration['pid']."'"; |
|
144 | + $whereStatement = "pid = '" . $this->configuration['pid'] . "'"; |
|
145 | 145 | |
146 | 146 | $GLOBALS['TYPO3_DB']->store_lastBuiltQuery = 1; |
147 | 147 | |
148 | - $this->table_records = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows |
|
149 | - ( |
|
148 | + $this->table_records = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows( |
|
150 | 149 | $selectFields, |
151 | 150 | $fromTable, |
152 | 151 | $whereStatement |
@@ -165,14 +164,14 @@ discard block |
||
165 | 164 | $field_values = array(); |
166 | 165 | $into_table = $this->configuration['target_table']; |
167 | 166 | |
168 | - foreach($this->configuration["mapping"] as $key => $value) |
|
167 | + foreach ($this->configuration["mapping"] as $key => $value) |
|
169 | 168 | $field_values[$value] = $entry[$key]; |
170 | 169 | |
171 | 170 | $field_values['pid'] = $this->configuration['pid']; |
172 | 171 | $field_values['tstamp'] = time(); |
173 | 172 | $field_values['crdate'] = time(); |
174 | 173 | |
175 | - $GLOBALS['TYPO3_DB']->exec_INSERTquery( $into_table, $field_values); |
|
174 | + $GLOBALS['TYPO3_DB']->exec_INSERTquery($into_table, $field_values); |
|
176 | 175 | $GLOBALS['TYPO3_DB']->sql_insert_id(); |
177 | 176 | } |
178 | 177 | |
@@ -186,18 +185,18 @@ discard block |
||
186 | 185 | public function updateRecord(array $entry) |
187 | 186 | { |
188 | 187 | $into_table = $this->configuration['target_table']; |
189 | - $whereStatement = "pid = '".$this->configuration['pid']."' AND username = '".$entry[0]."'"; |
|
188 | + $whereStatement = "pid = '" . $this->configuration['pid'] . "' AND username = '" . $entry[0] . "'"; |
|
190 | 189 | |
191 | 190 | $field_values = array(); |
192 | 191 | $tmp_arr = array(); |
193 | 192 | |
194 | - foreach($this->configuration["mapping"] as $key => $value) |
|
193 | + foreach ($this->configuration["mapping"] as $key => $value) |
|
195 | 194 | $tmp_arr[$value] = $entry[$key]; |
196 | 195 | |
197 | 196 | $field_values = $this->duplicateArray($tmp_arr, $this->configuration['exclude_from_update']); |
198 | 197 | $field_values['tstamp'] = time(); |
199 | 198 | |
200 | - $res = $GLOBALS['TYPO3_DB']->exec_UPDATEquery( $into_table , $whereStatement , $field_values ); |
|
199 | + $res = $GLOBALS['TYPO3_DB']->exec_UPDATEquery($into_table, $whereStatement, $field_values); |
|
201 | 200 | $cnt = $GLOBALS['TYPO3_DB']->sql_affected_rows(); |
202 | 201 | } |
203 | 202 | |
@@ -219,12 +218,12 @@ discard block |
||
219 | 218 | $exclude = true; |
220 | 219 | } |
221 | 220 | |
222 | - foreach($arr as $parentkey => $parentvalue) |
|
221 | + foreach ($arr as $parentkey => $parentvalue) |
|
223 | 222 | { |
224 | 223 | $chk = $exclude_max; |
225 | 224 | |
226 | 225 | if ($exclude) { |
227 | - foreach($exclude_arr as $key => $value) { |
|
226 | + foreach ($exclude_arr as $key => $value) { |
|
228 | 227 | if ($value == $parentkey) |
229 | 228 | unset($arr[$parentkey]); |
230 | 229 | } |
@@ -75,8 +75,9 @@ discard block |
||
75 | 75 | public function getConfiguration() |
76 | 76 | { |
77 | 77 | $configuration = parent::getConfiguration(); |
78 | - if (!isset($configuration['pid']) || !is_numeric($configuration['pid'])) |
|
79 | - $configuration['pid'] = 0; |
|
78 | + if (!isset($configuration['pid']) || !is_numeric($configuration['pid'])) { |
|
79 | + $configuration['pid'] = 0; |
|
80 | + } |
|
80 | 81 | |
81 | 82 | return $configuration; |
82 | 83 | } |
@@ -116,8 +117,7 @@ discard block |
||
116 | 117 | $record_exists = true; |
117 | 118 | break; |
118 | 119 | } |
119 | - } |
|
120 | - else { |
|
120 | + } else { |
|
121 | 121 | continue; |
122 | 122 | } |
123 | 123 | } |
@@ -125,8 +125,7 @@ discard block |
||
125 | 125 | if ($record_exists) { |
126 | 126 | $this->updateRecord($entry); |
127 | 127 | return TargetInterface::RESULT_UPDATE; |
128 | - } |
|
129 | - else { |
|
128 | + } else { |
|
130 | 129 | $this->insertRecord($entry); |
131 | 130 | return TargetInterface::RESULT_INSERT; |
132 | 131 | } |
@@ -165,8 +164,9 @@ discard block |
||
165 | 164 | $field_values = array(); |
166 | 165 | $into_table = $this->configuration['target_table']; |
167 | 166 | |
168 | - foreach($this->configuration["mapping"] as $key => $value) |
|
169 | - $field_values[$value] = $entry[$key]; |
|
167 | + foreach($this->configuration["mapping"] as $key => $value) { |
|
168 | + $field_values[$value] = $entry[$key]; |
|
169 | + } |
|
170 | 170 | |
171 | 171 | $field_values['pid'] = $this->configuration['pid']; |
172 | 172 | $field_values['tstamp'] = time(); |
@@ -191,8 +191,9 @@ discard block |
||
191 | 191 | $field_values = array(); |
192 | 192 | $tmp_arr = array(); |
193 | 193 | |
194 | - foreach($this->configuration["mapping"] as $key => $value) |
|
195 | - $tmp_arr[$value] = $entry[$key]; |
|
194 | + foreach($this->configuration["mapping"] as $key => $value) { |
|
195 | + $tmp_arr[$value] = $entry[$key]; |
|
196 | + } |
|
196 | 197 | |
197 | 198 | $field_values = $this->duplicateArray($tmp_arr, $this->configuration['exclude_from_update']); |
198 | 199 | $field_values['tstamp'] = time(); |
@@ -215,8 +216,9 @@ discard block |
||
215 | 216 | |
216 | 217 | if ($exclude_arr != null) { |
217 | 218 | $exclude_max = count($exclude_arr); |
218 | - if (count($exclude_arr) > 0) |
|
219 | - $exclude = true; |
|
219 | + if (count($exclude_arr) > 0) { |
|
220 | + $exclude = true; |
|
221 | + } |
|
220 | 222 | } |
221 | 223 | |
222 | 224 | foreach($arr as $parentkey => $parentvalue) |
@@ -225,8 +227,9 @@ discard block |
||
225 | 227 | |
226 | 228 | if ($exclude) { |
227 | 229 | foreach($exclude_arr as $key => $value) { |
228 | - if ($value == $parentkey) |
|
229 | - unset($arr[$parentkey]); |
|
230 | + if ($value == $parentkey) { |
|
231 | + unset($arr[$parentkey]); |
|
232 | + } |
|
230 | 233 | } |
231 | 234 | } |
232 | 235 | } |