diff --git a/Admin/Installer.php b/Admin/Installer.php index a58f3eb..f3d3567 100755 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -93,9 +93,14 @@ final class Installer extends InstallerAbstract $module->apiItemL11nTypeCreate($request, $response); - $l11nTypes[] = !\is_array($response->get('')['response']) - ? $response->get('')['response']->toArray() - : $response->get('')['response']; + $responseData = $response->get(''); + if (!\is_array($responseData)) { + continue; + } + + $l11nTypes[] = !\is_array($responseData['response']) + ? $responseData['response']->toArray() + : $responseData['response']; } return $l11nTypes; @@ -119,6 +124,7 @@ final class Installer extends InstallerAbstract /** @var \Modules\ItemManagement\Controller\ApiController $module */ $module = $app->moduleManager->getModuleInstance('ItemManagement'); + /** @var array $attribute */ foreach ($attributes as $attribute) { $response = new HttpResponse(); $request = new HttpRequest(new HttpUri('')); @@ -133,9 +139,14 @@ final class Installer extends InstallerAbstract $module->apiItemAttributeTypeCreate($request, $response); - $itemAttrType[$attribute['name']] = !\is_array($response->get('')['response']) - ? $response->get('')['response']->toArray() - : $response->get('')['response']; + $responseData = $response->get(''); + if (!\is_array($responseData)) { + continue; + } + + $itemAttrType[$attribute['name']] = !\is_array($responseData['response']) + ? $responseData['response']->toArray() + : $responseData['response']; $isFirst = true; foreach ($attribute['l11n'] as $language => $l11n) { @@ -181,6 +192,7 @@ final class Installer extends InstallerAbstract foreach ($attributes as $attribute) { $itemAttrValue[$attribute['name']] = []; + /** @var array $value */ foreach ($attribute['values'] as $value) { $response = new HttpResponse(); $request = new HttpRequest(new HttpUri('')); @@ -199,9 +211,14 @@ final class Installer extends InstallerAbstract $module->apiItemAttributeValueCreate($request, $response); - $attrValue = !\is_array($response->get('')['response']) - ? $response->get('')['response']->toArray() - : $response->get('')['response']; + $responseData = $response->get(''); + if (!\is_array($responseData)) { + continue; + } + + $attrValue = !\is_array($responseData['response']) + ? $responseData['response']->toArray() + : $responseData['response']; $itemAttrValue[$attribute['name']][] = $attrValue; diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 8506d40..fe1bee4 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -94,10 +94,10 @@ final class ApiController extends Controller private function createItemFromRequest(RequestAbstract $request) : Item { $item = new Item(); - $item->number = $request->getData('number') ?? ''; + $item->number = (string) ($request->getData('number') ?? ''); $item->salesPrice = new Money($request->getData('salesprice', 'int') ?? 0); $item->purchasePrice = new Money($request->getData('purchaseprice', 'int') ?? 0); - $item->info = $request->getData('info') ?? ''; + $item->info = (string) ($request->getData('info') ?? ''); $item->parent = ($request->getData('parent') !== null) ? (int) $request->getData('parent') : null; return $item; @@ -161,14 +161,14 @@ final class ApiController extends Controller private function createItemPriceFromRequest(RequestAbstract $request) : ItemPrice { $item = new ItemPrice(); - $item->currency = $request->getData('currency') ?? ''; + $item->currency = (string) ($request->getData('currency') ?? ''); $item->price = new Money($request->getData('price', 'int') ?? 0); $item->minQuantity = (int) ($request->getData('minquantity') ?? 0); $item->relativeDiscount = (int) ($request->getData('relativediscount') ?? 0); $item->absoluteDiscount = (int) ($request->getData('absolutediscount') ?? 0); $item->relativeUnitDiscount = (int) ($request->getData('relativeunitdiscount') ?? 0); $item->absoluteUnitDiscount = (int) ($request->getData('absoluteunitdiscount') ?? 0); - $item->promocode = $request->getData('promocode') ?? ''; + $item->promocode = (string) ($request->getData('promocode') ?? ''); $item->setStatus((int) ($request->getData('status') ?? ItemPriceStatus::ACTIVE)); @@ -395,7 +395,7 @@ final class ApiController extends Controller $attrType->setFields((int) ($request->getData('fields') ?? 0)); $attrType->custom = (bool) ($request->getData('custom') ?? false); $attrType->isRequired = (bool) ($request->getData('is_required') ?? false); - $attrType->validationPattern = $request->getData('validation_pattern') ?? ''; + $attrType->validationPattern = (string) ($request->getData('validation_pattern') ?? ''); return $attrType; } @@ -807,8 +807,13 @@ final class ApiController extends Controller return; } - $model = $response->get($request->uri->__toString())['response']; - $this->createModelRelation($request->header->account, $request->getData('id'), $model->getId(), ItemMapper::class, 'notes', '', $request->getOrigin()); + $responseData = $response->get($request->uri->__toString()); + if (!\is_array($responseData)) { + return; + } + + $model = $responseData['response']; + $this->createModelRelation($request->header->account, (int) $request->getData('id'), $model->getId(), ItemMapper::class, 'notes', '', $request->getOrigin()); } /** diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 450fa44..69f598f 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -61,7 +61,11 @@ final class BackendController extends Controller $view->setTemplate('/Modules/ItemManagement/Theme/Backend/attribute-type-list'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004801001, $request, $response)); - $attributes = ItemAttributeTypeMapper::getAll()->with('l11n')->where('l11n/language', $response->getLanguage())->execute(); + /** @var \Modules\ItemManagement\Models\ItemAttributeType[] $attributes */ + $attributes = ItemAttributeTypeMapper::getAll() + ->with('l11n') + ->where('l11n/language', $response->getLanguage()) + ->execute(); $view->addData('attributes', $attributes); @@ -86,7 +90,11 @@ final class BackendController extends Controller $view->setTemplate('/Modules/ItemManagement/Theme/Backend/attribute-value-list'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004801001, $request, $response)); - $attributes = ItemAttributeValueMapper::getAll()->with('l11n')->where('l11n/language', $response->getLanguage())->execute(); + /** @var \Modules\ItemManagement\Models\ItemAttributeValue[] $attributes */ + $attributes = ItemAttributeValueMapper::getAll() + ->with('l11n') + ->where('l11n/language', $response->getLanguage()) + ->execute(); $view->addData('attributes', $attributes); @@ -111,7 +119,12 @@ final class BackendController extends Controller $view->setTemplate('/Modules/ItemManagement/Theme/Backend/attribute-type'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004801001, $request, $response)); - $attribute = ItemAttributeTypeMapper::get()->with('l11n')->where('id', (int) $request->getData('id'))->where('l11n/language', $response->getLanguage())->execute(); + /** @var \Modules\ItemManagement\Models\ItemAttributeType $attribute */ + $attribute = ItemAttributeTypeMapper::get() + ->with('l11n') + ->where('id', (int) $request->getData('id')) + ->where('l11n/language', $response->getLanguage()) + ->execute(); $view->addData('attribute', $attribute); @@ -136,7 +149,12 @@ final class BackendController extends Controller $view->setTemplate('/Modules/ItemManagement/Theme/Backend/attribute-value'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004801001, $request, $response)); - $attribute = ItemAttributeValueMapper::get()->with('l11n')->where('id', (int) $request->getData('id'))->where('l11n/language', $response->getLanguage())->execute(); + /** @var \Modules\ItemManagement\Models\ItemAttributeValue $attribute */ + $attribute = ItemAttributeValueMapper::get() + ->with('l11n') + ->where('id', (int) $request->getData('id')) + ->where('l11n/language', $response->getLanguage()) + ->execute(); $view->addData('attribute', $attribute); @@ -161,6 +179,7 @@ final class BackendController extends Controller $view->setTemplate('/Modules/ItemManagement/Theme/Backend/sales-item-list'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004805001, $request, $response)); + /** @var \Modules\ItemManagement\Models\Item[] $items */ $items = ItemMapper::getAll() ->with('l11n') ->with('l11n/type') @@ -315,6 +334,7 @@ final class BackendController extends Controller $view->setTemplate('/Modules/ItemManagement/Theme/Backend/sales-item-profile'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004805001, $request, $response)); + /** @var \Modules\ItemManagement\Models\Item $item */ $item = ItemMapper::get() ->with('l11n') ->with('l11n/type') @@ -329,6 +349,7 @@ final class BackendController extends Controller $view->addData('item', $item); + /** @var \Model\Setting $settings */ $settings = $this->app->appSettings->get(null, [ SettingsEnum::DEFAULT_LOCALIZATION, ]);