fix phpstan lvl 9 bugs

This commit is contained in:
Dennis Eichhorn 2022-12-26 20:52:58 +01:00
parent 1b32256f34
commit 835c079a20
3 changed files with 35 additions and 8 deletions

View File

@ -105,7 +105,9 @@ final class ApiController extends Controller
*/ */
private function createWikiMedia(WikiDoc $doc, RequestAbstract $request) : void private function createWikiMedia(WikiDoc $doc, RequestAbstract $request) : void
{ {
$path = $this->createWikiDir($doc); $path = $this->createWikiDir($doc);
/** @var \Modules\Admin\Models\Account $account */
$account = AccountMapper::get()->where('id', $request->header->account)->execute(); $account = AccountMapper::get()->where('id', $request->header->account)->execute();
if (!empty($uploadedFiles = $request->getFiles())) { if (!empty($uploadedFiles = $request->getFiles())) {
@ -222,8 +224,13 @@ final class ApiController extends Controller
$request->setData('language', $tag['language'], true); $request->setData('language', $tag['language'], true);
$internalResponse = new HttpResponse(); $internalResponse = new HttpResponse();
$this->app->moduleManager->get('Tag')->apiTagCreate($request, $internalResponse, $data); $this->app->moduleManager->get('Tag')->apiTagCreate($request, $internalResponse, null);
$doc->addTag($internalResponse->get($request->uri->__toString())['response']);
if (!\is_array($data = $internalResponse->get($request->uri->__toString()))) {
continue;
}
$doc->addTag($data['response']);
} else { } else {
$doc->addTag(new NullTag((int) $tag['id'])); $doc->addTag(new NullTag((int) $tag['id']));
} }
@ -359,7 +366,9 @@ final class ApiController extends Controller
*/ */
public function apiWikiDocGet(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiWikiDocGet(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
/** @var \Modules\Knowledgebase\Models\WikiDoc $doc */
$doc = WikiDocMapper::get()->where('id', (int) $request->getData('id'))->execute(); $doc = WikiDocMapper::get()->where('id', (int) $request->getData('id'))->execute();
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Doc', 'Doc successfully returned', $doc); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Doc', 'Doc successfully returned', $doc);
} }
@ -378,7 +387,9 @@ final class ApiController extends Controller
*/ */
public function apiWikiDocUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiWikiDocUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
$old = clone WikiDocMapper::get()->where('id', (int) $request->getData('id'))->execute(); /** @var \Modules\Knowledgebase\Models\WikiDoc $old */
$old = WikiDocMapper::get()->where('id', (int) $request->getData('id'))->execute();
$old = clone $old;
$new = $this->updateDocFromRequest($request); $new = $this->updateDocFromRequest($request);
$this->updateModel($request->header->account, $old, $new, WikiDocMapper::class, 'doc', $request->getOrigin()); $this->updateModel($request->header->account, $old, $new, WikiDocMapper::class, 'doc', $request->getOrigin());
@ -431,7 +442,9 @@ final class ApiController extends Controller
*/ */
public function apiWikiDocDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiWikiDocDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
/** @var \Modules\Knowledgebase\Models\WikiDoc $doc */
$doc = WikiDocMapper::get()->where('id', (int) $request->getData('id'))->execute(); $doc = WikiDocMapper::get()->where('id', (int) $request->getData('id'))->execute();
$this->deleteModel($request->header->account, $doc, WikiDocMapper::class, 'doc', $request->getOrigin()); $this->deleteModel($request->header->account, $doc, WikiDocMapper::class, 'doc', $request->getOrigin());
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Doc', 'Doc successfully deleted', $doc); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Doc', 'Doc successfully deleted', $doc);
} }
@ -520,6 +533,7 @@ final class ApiController extends Controller
*/ */
public function apiWikiCategoryGet(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiWikiCategoryGet(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
/** @var \Modules\Knowledgebase\Models\WikiCategory $category */
$category = WikiCategoryMapper::get() $category = WikiCategoryMapper::get()
->with('name') ->with('name')
->where('id', (int) $request->getData('id')) ->where('id', (int) $request->getData('id'))
@ -544,7 +558,9 @@ final class ApiController extends Controller
*/ */
public function apiWikiCategoryUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiWikiCategoryUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
$old = clone WikiCategoryMapper::get()->where('id', (int) $request->getData('id'))->execute(); /** @var \Modules\Knowledgebase\Models\WikiCategory $old */
$old = WikiCategoryMapper::get()->where('id', (int) $request->getData('id'))->execute();
$old = clone $old;
$new = $this->updateCategoryFromRequest($request); $new = $this->updateCategoryFromRequest($request);
$this->updateModel($request->header->account, $old, $new, WikiCategoryMapper::class, 'category', $request->getOrigin()); $this->updateModel($request->header->account, $old, $new, WikiCategoryMapper::class, 'category', $request->getOrigin());
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Category', 'Category successfully updated', $new); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Category', 'Category successfully updated', $new);
@ -561,7 +577,9 @@ final class ApiController extends Controller
*/ */
private function updateCategoryFromRequest(RequestAbstract $request) : WikiCategory private function updateCategoryFromRequest(RequestAbstract $request) : WikiCategory
{ {
/** @var \Modules\Knowledgebase\Models\WikiCategory $category */
$category = WikiCategoryMapper::get()->where('id', (int) $request->getData('id'))->execute(); $category = WikiCategoryMapper::get()->where('id', (int) $request->getData('id'))->execute();
$category->setL11n($request->getData('name') ?? $category->getL11n(), $request->getData('language') ?? $request->getLanguage()); $category->setL11n($request->getData('name') ?? $category->getL11n(), $request->getData('language') ?? $request->getLanguage());
return $category; return $category;
@ -582,7 +600,9 @@ final class ApiController extends Controller
*/ */
public function apiWikiCategoryDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiWikiCategoryDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
/** @var \Modules\Knowledgebase\Models\WikiCategory $category */
$category = WikiCategoryMapper::get()->where('id', (int) $request->getData('id'))->execute(); $category = WikiCategoryMapper::get()->where('id', (int) $request->getData('id'))->execute();
$this->deleteModel($request->header->account, $category, WikiCategoryMapper::class, 'category', $request->getOrigin()); $this->deleteModel($request->header->account, $category, WikiCategoryMapper::class, 'category', $request->getOrigin());
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Category', 'Category successfully deleted', $category); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Category', 'Category successfully deleted', $category);
} }
@ -665,6 +685,8 @@ final class ApiController extends Controller
*/ */
public function apiWikiAppGet(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiWikiAppGet(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
/** @var \Modules\Knowledgebase\Models\WikiApp $app */
$app = WikiAppMapper::get()->where('id', (int) $request->getData('id'))->execute(); $app = WikiAppMapper::get()->where('id', (int) $request->getData('id'))->execute();
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'App', 'App successfully returned', $app); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'App', 'App successfully returned', $app);
} }
@ -684,7 +706,9 @@ final class ApiController extends Controller
*/ */
public function apiWikiAppUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiWikiAppUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
$old = clone WikiAppMapper::get()->where('id', (int) $request->getData('id'))->execute(); /** @var \Modules\Knowledgebase\Models\WikiApp $old */
$old = WikiAppMapper::get()->where('id', (int) $request->getData('id'))->execute();
$old = clone $old;
$new = $this->updateAppFromRequest($request); $new = $this->updateAppFromRequest($request);
$this->updateModel($request->header->account, $old, $new, WikiAppMapper::class, 'app', $request->getOrigin()); $this->updateModel($request->header->account, $old, $new, WikiAppMapper::class, 'app', $request->getOrigin());
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'App', 'App successfully updated', $new); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'App', 'App successfully updated', $new);
@ -701,6 +725,7 @@ final class ApiController extends Controller
*/ */
private function updateAppFromRequest(RequestAbstract $request) : WikiApp private function updateAppFromRequest(RequestAbstract $request) : WikiApp
{ {
/** @var \Modules\Knowledgebase\Models\WikiApp $app */
$app = WikiAppMapper::get()->where('id', (int) $request->getData('id'))->execute(); $app = WikiAppMapper::get()->where('id', (int) $request->getData('id'))->execute();
$app->name = (string) ($request->getData('name') ?? $app->name); $app->name = (string) ($request->getData('name') ?? $app->name);
@ -722,7 +747,9 @@ final class ApiController extends Controller
*/ */
public function apiWikiAppDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void public function apiWikiAppDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
/** @var \Modules\Knowledgebase\Models\WikiApp $app */
$app = WikiAppMapper::get()->where('id', (int) $request->getData('id'))->execute(); $app = WikiAppMapper::get()->where('id', (int) $request->getData('id'))->execute();
$this->deleteModel($request->header->account, $app, WikiAppMapper::class, 'app', $request->getOrigin()); $this->deleteModel($request->header->account, $app, WikiAppMapper::class, 'app', $request->getOrigin());
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'App', 'App successfully deleted', $app); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'App', 'App successfully deleted', $app);
} }

View File

@ -41,7 +41,7 @@ echo $this->getData('nav')->render(); ?>
<div class="portlet-foot"> <div class="portlet-foot">
<div class="overflowfix"> <div class="overflowfix">
<?php $tags = $doc->getTags(); foreach ($tags as $tag) : ?> <?php $tags = $doc->getTags(); foreach ($tags as $tag) : ?>
<span class="tag" style="background: <?= $this->printHtml($tag->color); ?>"><?= $tag->icon !== null ? '<i class="' . $this->printHtml($tag->icon ?? '') . '"></i>' : ''; ?><?= $this->printHtml($tag->getL11n()); ?></span> <span class="tag" style="background: <?= $this->printHtml($tag->color); ?>"><?= !empty($tag->icon) ? '<i class="' . $this->printHtml($tag->icon) . '"></i>' : ''; ?><?= $this->printHtml($tag->getL11n()); ?></span>
<?php endforeach; ?> <?php endforeach; ?>
<a href="<?= $url; ?>" class="button floatRight"><?= $this->getHtml('More', '0', '0'); ?></a> <a href="<?= $url; ?>" class="button floatRight"><?= $this->getHtml('More', '0', '0'); ?></a>
</div> </div>

View File

@ -46,7 +46,7 @@ echo $this->getData('nav')->render();
<div class="row"> <div class="row">
<div class="col-xs-6 overflowfix"> <div class="col-xs-6 overflowfix">
<?php foreach ($tags as $tag) : ?> <?php foreach ($tags as $tag) : ?>
<span class="tag" style="background: <?= $this->printHtml($tag->color); ?>"><?= $tag->icon !== null ? '<i class="' . $this->printHtml($tag->icon ?? '') . '"></i>' : ''; ?><?= $this->printHtml($tag->getL11n()); ?></span> <span class="tag" style="background: <?= $this->printHtml($tag->color); ?>"><?= !empty($tag->icon) ? '<i class="' . $this->printHtml($tag->icon) . '"></i>' : ''; ?><?= $this->printHtml($tag->getL11n()); ?></span>
<?php endforeach; ?> <?php endforeach; ?>
<?php $files = $doc->getMedia(); foreach ($files as $file) : ?> <?php $files = $doc->getMedia(); foreach ($files as $file) : ?>