| 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
$myVarassignment in line 1 and the$higherassignment in line 2 are dead. The first because$myVaris never used and the second because$higheris always overwritten for every possible time line.