Conditions | 33 |
Paths | 39 |
Total Lines | 253 |
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 |
||
144 | private function handleShopAdmin($CSA) |
||
145 | { |
||
146 | $aSData = []; |
||
147 | $aData = []; |
||
148 | $getaction = filter_input(INPUT_GET, 'action'); |
||
149 | if ($getaction === null) { |
||
150 | $bIgnoreStorno = false; |
||
151 | |||
152 | $querybuilder = $this->dbal->createQueryBuilder(); |
||
153 | $querybuilder |
||
154 | ->select('*') |
||
155 | ->from('orders') |
||
156 | ->orderBy('o_ordertimestamp', 'DESC') |
||
157 | ; |
||
158 | |||
159 | $posttype = filter_input(INPUT_POST, 'type'); |
||
160 | $querybuilder->where('o_ordercompleted = ?'); |
||
161 | if ($posttype !== null) { |
||
162 | switch ($posttype) { |
||
163 | case 'closed': |
||
164 | $querybuilder->setParameter(0, 'y'); |
||
165 | break; |
||
166 | case 'open': |
||
167 | $querybuilder->setParameter(0, 'n'); |
||
168 | break; |
||
169 | case 'inwork': |
||
170 | $querybuilder->setParameter(0, 'i'); |
||
171 | break; |
||
172 | case 'storno': |
||
173 | $querybuilder->setParameter(0, 's'); |
||
174 | break; |
||
175 | case 'deleted': |
||
176 | $querybuilder->setParameter(0, 'd'); |
||
177 | break; |
||
178 | case 'all': |
||
179 | $querybuilder |
||
180 | ->where('o_ordercompleted != ?') |
||
181 | ->setParameter(0, 'd') |
||
182 | ; |
||
183 | $bIgnoreStorno = true; |
||
184 | break; |
||
185 | case 'openinwork': |
||
186 | default: |
||
187 | $querybuilder |
||
188 | ->where('o_ordercompleted = ? OR o_ordercompleted = ?') |
||
189 | ->setParameter(0, 'n') |
||
190 | ->setParameter(1, 'i') |
||
191 | ; |
||
192 | } |
||
193 | } else { |
||
194 | $querybuilder |
||
195 | ->where('o_ordercompleted = ? OR o_ordercompleted = ?') |
||
196 | ->setParameter(0, 'n') |
||
197 | ->setParameter(1, 'i') |
||
198 | ; |
||
199 | } |
||
200 | |||
201 | $sFrom = null; |
||
|
|||
202 | $sTo = null; |
||
203 | if ($posttype === 'deleted' || $posttype === 'all' || $posttype === 'closed') { |
||
204 | $sFrom = filter_input(INPUT_POST, 'fromyear', FILTER_SANITIZE_NUMBER_INT).'-' |
||
205 | .Tools::dateAddLeadingZero(filter_input(INPUT_POST, 'frommonth', FILTER_SANITIZE_NUMBER_INT)).'-' |
||
206 | .Tools::dateAddLeadingZero(filter_input(INPUT_POST, 'fromday', FILTER_SANITIZE_NUMBER_INT)) |
||
207 | ; |
||
208 | $sTo = filter_input(INPUT_POST, 'toyear', FILTER_SANITIZE_NUMBER_INT).'-' |
||
209 | .Tools::dateAddLeadingZero(filter_input(INPUT_POST, 'tomonth', FILTER_SANITIZE_NUMBER_INT)).'-' |
||
210 | .Tools::dateAddLeadingZero(filter_input(INPUT_POST, 'today', FILTER_SANITIZE_NUMBER_INT)); |
||
211 | |||
212 | $querybuilder |
||
213 | ->andWhere('o_orderdate >= :from AND o_orderdate <= :to') |
||
214 | ->setParameter(':from', $sFrom) |
||
215 | ->setParameter(':to', $sTo) |
||
216 | ; |
||
217 | } |
||
218 | $stmt = $querybuilder->execute(); |
||
219 | |||
220 | if ($stmt->rowCount() !== 0) { |
||
221 | $i = 0; |
||
222 | $j = 0; |
||
223 | $k = 0; |
||
224 | $fGesamtnetto = 0.0; |
||
225 | while ($aRow = $stmt->fetch()) { |
||
226 | switch ($aRow['o_ordercompleted']) { |
||
227 | case 'y': |
||
228 | $sStatus = '<span style="color: green; font-weight: bold;">'.$this->hardcodedtextcats->get('shopadmin_orderstatus_completed').'</span>'; |
||
229 | break; |
||
230 | case 'n': |
||
231 | $sStatus = '<span style="color: orange; font-weight: bold;">'.$this->hardcodedtextcats->get('shopadmin_orderstatus_open').'</span>'; |
||
232 | break; |
||
233 | case 'i': |
||
234 | $sStatus = '<span style="color: orange;">'.$this->hardcodedtextcats->get('shopadmin_orderstatus_inwork').'</span>'; |
||
235 | break; |
||
236 | case 's': |
||
237 | $sStatus = '<span style="color: red; font-weight: bold;">'.$this->hardcodedtextcats->get('shopadmin_orderstatus_canceled').'</span>'; |
||
238 | break; |
||
239 | case 'd': |
||
240 | $sStatus = $this->hardcodedtextcats->get('shopadmin_orderstatus_deleted'); |
||
241 | break; |
||
242 | default: |
||
243 | $sStatus = ''; |
||
244 | } |
||
245 | |||
246 | if ($aRow['o_paymentcompleted'] === 'y') { |
||
247 | $sZahlungsmethode = '<span style="color: green;">'; |
||
248 | } else { |
||
249 | $sZahlungsmethode = '<span style="color: red;">'; |
||
250 | } |
||
251 | $mZahlungsmethode = $this->serviceManager->get('textcats')->T('order_paymentmethod_' .$aRow['o_paymentmethod'], true); |
||
252 | if ($mZahlungsmethode ) { |
||
253 | $sZahlungsmethode .= $mZahlungsmethode; |
||
254 | } else { |
||
255 | $sZahlungsmethode .= ucwords($aRow['o_paymentmethod']); |
||
256 | } |
||
257 | $sZahlungsmethode .= '</span>'; |
||
258 | |||
259 | if (trim($aRow['o_corpname']) === '') { |
||
260 | $sName = $aRow['o_name']; |
||
261 | } else { |
||
262 | $sName = $aRow['o_corpname']; |
||
263 | } |
||
264 | |||
265 | $aData[] = [ |
||
266 | 'o_id' => $aRow['o_id'], |
||
267 | 'o_account_no' => $aRow['o_custno'], |
||
268 | 'o_email' => $aRow['o_email'], |
||
269 | 'o_cust' => $sName.'<br>'.$aRow['o_zip'].' '.$aRow['o_town'], |
||
270 | 'o_authed' => $aRow['o_authed'], |
||
271 | 'o_sumnettoall' => number_format( |
||
272 | $aRow['o_sumnettoall'], |
||
273 | $this->config->getCore('numberformat_decimals'), |
||
274 | $this->config->getCore('numberformat_decimal_point'), |
||
275 | $this->config->getCore('numberformat_thousands_seperator') |
||
276 | ) |
||
277 | .' '.$this->config->getShop('waehrungssymbol') |
||
278 | .( |
||
279 | ($aRow['o_mindermenge'] != 0 && $aRow['o_mindermenge'] !== '') |
||
280 | ? '<br>+'.number_format( |
||
281 | $aRow['o_mindermenge'], |
||
282 | $this->config->getCore('numberformat_decimals'), |
||
283 | $this->config->getCore('numberformat_decimal_point'), |
||
284 | $this->config->getCore('numberformat_thousands_seperator') |
||
285 | ).' '.$this->config->getShop('waehrungssymbol') : ''), |
||
286 | 'o_order_status' => $sStatus.((trim($aRow['o_lastedit_user']) !== '') ? '<br>'.$aRow['o_lastedit_user'] : ''), |
||
287 | 'o_ordertime_number' => date( |
||
288 | $this->config->getCore('locale_format_date_time'), |
||
289 | $aRow['o_ordertimestamp'] |
||
290 | ) |
||
291 | .((trim($aRow['o_transaction_no']) !== '') ? '<br>'.$aRow['o_transaction_no'] : ''), |
||
292 | 'o_order_host_payment' => $sZahlungsmethode.'<br>'.$aRow['o_srv_hostname'], |
||
293 | ]; |
||
294 | if (!($bIgnoreStorno && $aRow['o_ordercompleted'] === 's')) { |
||
295 | $fGesamtnetto += $aRow['o_sumnettoall']; |
||
296 | $j ++; |
||
297 | } else { |
||
298 | $k++; |
||
299 | } |
||
300 | $i++; |
||
301 | } |
||
302 | $aSData['listtable_orders'] = Tools::makeListtable($CSA['list_orders'], $aData, $this->serviceManager->get('twig')); |
||
303 | $aSData['listtable_i'] = $i; |
||
304 | $aSData['listtable_j'] = $j; |
||
305 | $aSData['listtable_k'] = $k; |
||
306 | $aSData['listtable_gesamtnetto'] = $fGesamtnetto; |
||
307 | } else { |
||
308 | $aSData['nomatchingordersfound'] = true; |
||
309 | } |
||
310 | } elseif ($getaction === 'edit') { |
||
311 | $iId = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT); |
||
312 | $querybuilder = $this->dbal->createQueryBuilder(); |
||
313 | $querybuilder |
||
314 | ->select('*') |
||
315 | ->from('orders') |
||
316 | ->where('o_id = ?') |
||
317 | ->setParameter(0, $iId) |
||
318 | ; |
||
319 | $stmt = $querybuilder->execute(); |
||
320 | if ($stmt->rowCount() === 1) { |
||
321 | $aSData['orderdata'] = $stmt->fetch(); |
||
322 | |||
323 | $querybuilder = $this->dbal->createQueryBuilder(); |
||
324 | $querybuilder |
||
325 | ->select('*') |
||
326 | ->from('orders_items') |
||
327 | ->where('oi_o_id = ?') |
||
328 | ->setParameter(0, $iId) |
||
329 | ; |
||
330 | $stmt = $querybuilder->execute(); |
||
331 | $aItems = $stmt->fetchAll(); |
||
332 | |||
333 | $aUserdata = [ |
||
334 | 'cust_no' => $aSData['orderdata']['o_custno'], |
||
335 | 'cust_email' => $aSData['orderdata']['o_email'], |
||
336 | 'cust_corp' => $aSData['orderdata']['o_corpname'], |
||
337 | 'cust_name' => $aSData['orderdata']['o_name'], |
||
338 | 'cust_street' => $aSData['orderdata']['o_street'], |
||
339 | 'cust_zip' => $aSData['orderdata']['o_zip'], |
||
340 | 'cust_town' => $aSData['orderdata']['o_town'], |
||
341 | 'cust_phone' => $aSData['orderdata']['o_phone'], |
||
342 | 'cust_cellphone' => $aSData['orderdata']['o_cellphone'], |
||
343 | 'cust_fax' => $aSData['orderdata']['o_fax'], |
||
344 | 'cust_country' => $aSData['orderdata']['o_country'], |
||
345 | 'cust_group' => $aSData['orderdata']['o_group'], |
||
346 | ]; |
||
347 | $aSData['customerform'] = $this->helperCustomer->buildCustomerForm( |
||
348 | $this->config->getLang(), |
||
349 | 'shopadmin', |
||
350 | [], |
||
351 | $aUserdata |
||
352 | ); |
||
353 | |||
354 | $aSData['orderdata']['options_shippingservices'] = ['']; |
||
355 | foreach ($this->config->getShop('shipping_services') as $sValue) { |
||
356 | $aSData['orderdata']['options_shippingservices'][] = $sValue; |
||
357 | } |
||
358 | |||
359 | $aItemsCarttable = []; |
||
360 | foreach ($aItems as $aValue) { |
||
361 | $aPrice = [ |
||
362 | 'netto_list' => $aValue['oi_price_netto_list'], |
||
363 | 'netto_sale' => $aValue['oi_price_netto_sale'], |
||
364 | 'netto_rebated' => $aValue['oi_price_netto_rebated'], |
||
365 | 'netto_use' => $aValue['oi_price_netto_use'], |
||
366 | 'brutto_use' => $aValue['oi_price_brutto_use'], |
||
367 | ]; |
||
368 | |||
369 | $aItemsCarttable[$aValue['oi_cartkey']] = [ |
||
370 | 'amount' => $aValue['oi_amount'], |
||
371 | 'price' => $aPrice, |
||
372 | 'vat' => $aValue['oi_vat'], |
||
373 | 'rg' => $aValue['oi_rg'], |
||
374 | 'rg_rebate' => $aValue['oi_rg_rebate'], |
||
375 | 'name' => $aValue['oi_itemname'], |
||
376 | 'img' => $aValue['oi_img'], |
||
377 | ]; |
||
378 | } |
||
379 | |||
380 | $aSData = array_merge( |
||
381 | $this->helperShop->buildShoppingCartTable( |
||
382 | $aItemsCarttable, |
||
383 | true, |
||
384 | $aSData['orderdata']['o_group'], |
||
385 | [], |
||
386 | $aSData['orderdata']['o_vatfull'], |
||
387 | $aSData['orderdata']['o_vatreduced'] |
||
388 | ), |
||
389 | $aSData); |
||
390 | } else { |
||
391 | $aSData['ordernotfound'] = true; |
||
392 | } |
||
393 | } |
||
394 | |||
395 | return $aSData; |
||
396 | } |
||
397 | } |
||
398 |
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
Both the
$myVar
assignment in line 1 and the$higher
assignment in line 2 are dead. The first because$myVar
is never used and the second because$higher
is always overwritten for every possible time line.