diff --git a/Admin/Installer.php b/Admin/Installer.php index f12d842..8fcc1e2 100755 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -132,6 +132,7 @@ final class Installer extends InstallerAbstract \mkdir(__DIR__ . '/../../../temp'); } + /** @var array $mediaData */ foreach ($mediaData as $media) { switch ($media['type']) { case 'collection': @@ -178,9 +179,14 @@ final class Installer extends InstallerAbstract $module->apiCollectionCreate($request, $response); - return !\is_array($response->get('')['response']) - ? $response->get('')['response']->toArray() - : $response->get('')['response']; + $responseData = $response->get(''); + if (!\is_array($responseData)) { + return []; + } + + return !\is_array($responseData['response']) + ? $responseData['response']->toArray() + : $responseData['response']; } /** @@ -206,7 +212,12 @@ final class Installer extends InstallerAbstract $module->apiMediaTypeCreate($request, $response); - $type = $response->get('')['response']; + $responseData = $response->get(''); + if (!\is_array($responseData)) { + return []; + } + + $type = $responseData['response']; $id = $type->getId(); foreach ($data['l11n'] as $l11n) { @@ -307,11 +318,23 @@ final class Installer extends InstallerAbstract $module->apiCollectionCreate($request, $response); - return !\is_array($response->get('')['response']) ? $response->get('')['response']->toArray() : $response->get('')['response']; + $responseData = $response->get(''); + if (!\is_array($responseData)) { + return []; + } + + return !\is_array($responseData['response']) + ? $responseData['response']->toArray() + : $responseData['response']; } - return !\is_array($response->get('')['response']) - ? $response->get('')['response']->toArray() - : $response->get('')['response']; + $responseData = $response->get(''); + if (!\is_array($responseData)) { + return []; + } + + return !\is_array($responseData['response']) + ? $responseData['response']->toArray() + : $responseData['response']; } } diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 08fd1e6..9ac8764 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -107,7 +107,12 @@ final class ApiController extends Controller $internalResponse = new HttpResponse(); $this->app->moduleManager->get('Tag')->apiTagCreate($request, $internalResponse, null); - $file->addTag($tId = $internalResponse->get($request->uri->__toString())['response']); + + if (!\is_array($data = $internalResponse->get($request->uri->__toString()))) { + continue; + } + + $file->addTag($tId = $data['response']); } else { $file->addTag(new NullTag($tId = (int) $tag['id'])); } @@ -507,7 +512,7 @@ final class ApiController extends Controller private function createCollectionFromRequest(RequestAbstract $request) : Collection { $mediaCollection = new Collection(); - $mediaCollection->name = $request->getData('name') ?? ''; + $mediaCollection->name = (string) ($request->getData('name') ?? ''); $mediaCollection->description = ($description = Markdown::parse($request->getData('description') ?? '')); $mediaCollection->descriptionRaw = $description; $mediaCollection->createdBy = new NullAccount($request->header->account); @@ -947,7 +952,7 @@ final class ApiController extends Controller private function createDocTypeFromRequest(RequestAbstract $request) : MediaType { $type = new MediaType(); - $type->name = $request->getData('name'); + $type->name = (string) ($request->getData('name') ?? ''); if (!empty($request->getData('title'))) { $type->setL11n($request->getData('title'), $request->getData('lang') ?? $request->getLanguage()); diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 01115e3..e91fb38 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -242,6 +242,7 @@ final class BackendController extends Controller $media->getVirtualPath() . ($media->getVirtualPath() !== '/' ? '/' : '') . $media->name )->where('tags/title/language', $request->getLanguage())->execute(); + /** @var \Modules\Media\Models\Collection $collection */ $collection = CollectionMapper::get()->where('id', $id)->execute(); $media = \array_merge($files, $collection->getSources()); @@ -405,7 +406,12 @@ final class BackendController extends Controller $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/' . static::NAME . '/Admin/Settings/Theme/Backend/settings-type'); - $type = MediaTypeMapper::get()->with('title')->where('title/language', $response->getLanguage())->where('id', (int) $request->getData('id'))->execute(); + /** @var \Modules\Media\Models\MediaType $type */ + $type = MediaTypeMapper::get() + ->with('title') + ->where('title/language', $response->getLanguage()) + ->where('id', (int) $request->getData('id')) + ->execute(); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1007501001, $request, $response)); $view->addData('type', $type); diff --git a/Theme/Backend/Components/Media/ElementView.php b/Theme/Backend/Components/Media/ElementView.php index eeb7832..9082aac 100755 --- a/Theme/Backend/Components/Media/ElementView.php +++ b/Theme/Backend/Components/Media/ElementView.php @@ -41,7 +41,9 @@ class ElementView extends MediaView */ public function render(mixed ...$data) : string { + /** @var array{0:\Modules\Media\Models\Media} $data */ $this->media = $data[0]; + return parent::render(); } } diff --git a/Theme/Backend/Components/Media/ListView.php b/Theme/Backend/Components/Media/ListView.php index 0e59c91..4ccf202 100755 --- a/Theme/Backend/Components/Media/ListView.php +++ b/Theme/Backend/Components/Media/ListView.php @@ -52,7 +52,9 @@ class ListView extends View */ public function render(mixed ...$data) : string { + /** @var array{0:\Modules\Media\Models\Media[]} $data */ $this->media = $data[0]; + return parent::render(); } } diff --git a/Theme/Backend/media-list.tpl.php b/Theme/Backend/media-list.tpl.php index dbddc10..2ec99ca 100755 --- a/Theme/Backend/media-list.tpl.php +++ b/Theme/Backend/media-list.tpl.php @@ -209,7 +209,7 @@ $next = empty($media) ? '{/lang}/{/app}/media/list' : '{/lang}/{/app}/media/ getTags(); foreach ($tags as $tag) : ?> - icon !== null ? '' : ''; ?> + icon) ? '' : ''; ?> printHtml($tag->getL11n()); ?> diff --git a/Theme/Backend/media-single.tpl.php b/Theme/Backend/media-single.tpl.php index a5eecd0..6667cfa 100755 --- a/Theme/Backend/media-single.tpl.php +++ b/Theme/Backend/media-single.tpl.php @@ -97,7 +97,7 @@ echo $this->getData('nav')->render(); ); ?> getHtml('Tags'); ?> - icon !== null ? '' : ''; ?>printHtml($tag->getL11n()); ?> + icon) ? '' : ''; ?>printHtml($tag->getL11n()); ?> getHtml('Description'); ?> description; ?>