Conditions | 3 |
Paths | 2 |
Total Lines | 78 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | <?php |
||
183 | public function performRealurlAliasMigration(): bool |
||
184 | { |
||
185 | $result = true; |
||
186 | // Check if table 'tx_realurl_uniqalias' exists |
||
187 | $queryBuilderForRealurl = GeneralUtility::makeInstance(ConnectionPool::class) |
||
188 | ->getQueryBuilderForTable('tx_realurl_uniqalias'); |
||
189 | $schemaManager = $queryBuilderForRealurl->getConnection()->getSchemaManager(); |
||
190 | if ($schemaManager->tablesExist(['tx_realurl_uniqalias']) === true) { |
||
191 | $connection = GeneralUtility::makeInstance(ConnectionPool::class) |
||
192 | ->getConnectionForTable('tx_sfeventmgt_domain_model_event'); |
||
193 | $queryBuilder = $connection->createQueryBuilder(); |
||
194 | $queryBuilder->getRestrictions()->removeAll(); |
||
195 | |||
196 | // Get entries to update |
||
197 | $statement = $queryBuilder |
||
198 | ->selectLiteral( |
||
199 | 'DISTINCT tx_sfeventmgt_domain_model_event.uid, tx_realurl_uniqalias.value_alias, tx_sfeventmgt_domain_model_event.uid' |
||
200 | ) |
||
201 | ->from('tx_sfeventmgt_domain_model_event') |
||
202 | ->join( |
||
203 | 'tx_sfeventmgt_domain_model_event', |
||
204 | 'tx_realurl_uniqalias', |
||
205 | 'tx_realurl_uniqalias', |
||
206 | $queryBuilder->expr()->eq( |
||
207 | 'tx_sfeventmgt_domain_model_event.uid', |
||
208 | $queryBuilder->quoteIdentifier('tx_realurl_uniqalias.value_id') |
||
209 | ) |
||
210 | ) |
||
211 | ->where( |
||
212 | $queryBuilder->expr()->andX( |
||
213 | $queryBuilder->expr()->orX( |
||
214 | $queryBuilder->expr()->eq( |
||
215 | 'tx_sfeventmgt_domain_model_event.slug', |
||
216 | $queryBuilder->createNamedParameter('', \PDO::PARAM_STR) |
||
217 | ), |
||
218 | $queryBuilder->expr()->isNull('tx_sfeventmgt_domain_model_event.slug') |
||
219 | ), |
||
220 | $queryBuilder->expr()->eq( |
||
221 | 'tx_sfeventmgt_domain_model_event.sys_language_uid', |
||
222 | 'tx_realurl_uniqalias.lang' |
||
223 | ), |
||
224 | $queryBuilder->expr()->eq( |
||
225 | 'tx_realurl_uniqalias.tablename', |
||
226 | $queryBuilder->createNamedParameter('tx_sfeventmgt_domain_model_event', \PDO::PARAM_STR) |
||
227 | ), |
||
228 | $queryBuilder->expr()->orX( |
||
229 | $queryBuilder->expr()->eq( |
||
230 | 'tx_realurl_uniqalias.expire', |
||
231 | $queryBuilder->createNamedParameter(0, \PDO::PARAM_INT) |
||
232 | ), |
||
233 | $queryBuilder->expr()->gte( |
||
234 | 'tx_realurl_uniqalias.expire', |
||
235 | $queryBuilder->createNamedParameter($GLOBALS['ACCESS_TIME'], \PDO::PARAM_INT) |
||
236 | ) |
||
237 | ) |
||
238 | ) |
||
239 | ) |
||
240 | ->execute(); |
||
241 | |||
242 | // Update entries |
||
243 | while ($record = $statement->fetch()) { |
||
244 | $queryBuilder = $connection->createQueryBuilder(); |
||
245 | $queryBuilder->update('tx_sfeventmgt_domain_model_event') |
||
246 | ->where( |
||
247 | $queryBuilder->expr()->eq( |
||
248 | 'uid', |
||
249 | $queryBuilder->createNamedParameter($record['uid'], \PDO::PARAM_INT) |
||
250 | ) |
||
251 | ) |
||
252 | ->set('slug', (string)$record['value_alias']); |
||
253 | $queryBuilder->execute(); |
||
254 | } |
||
255 | } else { |
||
256 | $result = false; |
||
257 | } |
||
258 | |||
259 | return $result; |
||
260 | } |
||
261 | } |
||
262 |