From 55654b2f440e8c3843efb22a62a3ddd17b6a6284 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sun, 9 Apr 2023 06:03:39 +0200 Subject: [PATCH] fix static analysis --- .../defaultCsvExporter.csv.php | 11 +-- .../defaultEmailExporter.mail.php | 2 +- .../spreadsheetTemplate.xls.php | 11 +++ .../defaultExcelExporter.xls.php | 12 ++-- .../PdfDefaultTemplate/pdfTemplate.pdf.php | 2 +- .../defaultPdfListExporter.pdf.php | 8 ++- .../WordDefaultTemplate/docTemplate.doc.php | 49 +++++++++---- .../defaultWordLetterExporter.doc.php | 13 ++-- .../defaultWordListExporter.doc.php | 12 ++-- .../defaultWordExporter.doc.php | 8 ++- Admin/Install/settings.php | 12 +++- Controller/ApiController.php | 70 +++++++++++-------- 12 files changed, 147 insertions(+), 63 deletions(-) diff --git a/Admin/Install/Media/CsvListExporter/defaultCsvExporter.csv.php b/Admin/Install/Media/CsvListExporter/defaultCsvExporter.csv.php index 8920498..6082e15 100755 --- a/Admin/Install/Media/CsvListExporter/defaultCsvExporter.csv.php +++ b/Admin/Install/Media/CsvListExporter/defaultCsvExporter.csv.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\Admin + * @package Modules\Media * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -15,9 +15,10 @@ declare(strict_types=1); $data = $this->getData('data') ?? []; $out = \fopen('php://output', 'w'); +if ($out !== false) { + foreach ($data as $row) { + \fputcsv($out, $row); + } -foreach ($data as $row) { - fputcsv($out, $row); + \fclose($out); } - -\fclose($out); diff --git a/Admin/Install/Media/EmailExporter/defaultEmailExporter.mail.php b/Admin/Install/Media/EmailExporter/defaultEmailExporter.mail.php index 78ec92d..a54e685 100755 --- a/Admin/Install/Media/EmailExporter/defaultEmailExporter.mail.php +++ b/Admin/Install/Media/EmailExporter/defaultEmailExporter.mail.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\Admin + * @package Modules\Media * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 diff --git a/Admin/Install/Media/ExcelDefaultTemplate/spreadsheetTemplate.xls.php b/Admin/Install/Media/ExcelDefaultTemplate/spreadsheetTemplate.xls.php index cfcba4b..56963e3 100755 --- a/Admin/Install/Media/ExcelDefaultTemplate/spreadsheetTemplate.xls.php +++ b/Admin/Install/Media/ExcelDefaultTemplate/spreadsheetTemplate.xls.php @@ -1,4 +1,15 @@ getData('media'); $data = $this->getData('data') ?? []; @@ -37,6 +38,9 @@ $file = \tempnam(\sys_get_temp_dir(), 'oms_'); $writer = IOFactory::createWriter($excel, 'Xlsx'); $writer->save($file); -echo \file_get_contents($file); +$content = \file_get_contents($file); +if ($content !== false) { + echo $content; +} \unlink($file); \ No newline at end of file diff --git a/Admin/Install/Media/PdfDefaultTemplate/pdfTemplate.pdf.php b/Admin/Install/Media/PdfDefaultTemplate/pdfTemplate.pdf.php index 80abf3f..b3f8826 100755 --- a/Admin/Install/Media/PdfDefaultTemplate/pdfTemplate.pdf.php +++ b/Admin/Install/Media/PdfDefaultTemplate/pdfTemplate.pdf.php @@ -20,7 +20,7 @@ declare(strict_types=1); * @link https://jingga.app * @since 1.0.0 * - * @phpstan-import-type TCPDF from ../../../../../Resources/tcpdf.php + * @phpstan-import-type TCPDF from ../../../../../Resources/tcpdf/tcpdf.php */ class DefaultPdf extends TCPDF { diff --git a/Admin/Install/Media/PdfListExporter/defaultPdfListExporter.pdf.php b/Admin/Install/Media/PdfListExporter/defaultPdfListExporter.pdf.php index 1d77018..af4d312 100755 --- a/Admin/Install/Media/PdfListExporter/defaultPdfListExporter.pdf.php +++ b/Admin/Install/Media/PdfListExporter/defaultPdfListExporter.pdf.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\Admin + * @package Modules\Media * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -15,10 +15,14 @@ declare(strict_types=1); require_once __DIR__ . '/../phpOMS/Autoloader.php'; use phpOMS\Autoloader; + Autoloader::addPath(__DIR__ . '/../Resources'); +/** @var \phpOMS\Views\View $this */ $media = $this->getData('media'); -$data = $this->getData('data') ?? []; + +/** @var array $data */ +$data = $this->getData('data') ?? []; include $media->getSourceByName('template.php')->getAbsolutePath(); diff --git a/Admin/Install/Media/WordDefaultTemplate/docTemplate.doc.php b/Admin/Install/Media/WordDefaultTemplate/docTemplate.doc.php index 011d4c0..c39b58e 100755 --- a/Admin/Install/Media/WordDefaultTemplate/docTemplate.doc.php +++ b/Admin/Install/Media/WordDefaultTemplate/docTemplate.doc.php @@ -1,7 +1,32 @@ addCell(1300)->addImage(__DIR__ . '/../Web/Backend/img/logo.png', ['width' => 50, 'height' => 50]); //second column - $cell = $table->addCell(8700, ['valign' => 'bottom']); + $cell = $table->addCell(8700, ['valign' => 'bottom']); $textrun = $cell->addTextRun(); $textrun->addText('Jingga', ['name' => 'helvetica', 'bold' => true, 'size' => 20]); @@ -51,7 +76,7 @@ class DefaultWord extends \PhpOffice\PhpWord\PhpWord { // columns $cell = $table->addCell(500); - $cell = $table->addCell(2000); + $cell = $table->addCell(2000); $textrun = $cell->addTextRun(); $textrun->addText('Jingga e.K.', ['name' => 'helvetica', 'size' => 7]); $textrun = $cell->addTextRun(); @@ -59,7 +84,7 @@ class DefaultWord extends \PhpOffice\PhpWord\PhpWord { $textrun = $cell->addTextRun(); $textrun->addText('61206 Woellstadt', ['name' => 'helvetica', 'size' => 7]); - $cell = $table->addCell(2700); + $cell = $table->addCell(2700); $textrun = $cell->addTextRun(); $textrun->addText('Geschäftsführer: Dennis Eichhorn', ['name' => 'helvetica', 'size' => 7]); $textrun = $cell->addTextRun(); @@ -67,7 +92,7 @@ class DefaultWord extends \PhpOffice\PhpWord\PhpWord { $textrun = $cell->addTextRun(); $textrun->addText('USt Id: DE ??????????', ['name' => 'helvetica', 'size' => 7]); - $cell = $table->addCell(2700); + $cell = $table->addCell(2700); $textrun = $cell->addTextRun(); $textrun->addText('Volksbank Mittelhessen', ['name' => 'helvetica', 'size' => 7]); $textrun = $cell->addTextRun(); @@ -75,7 +100,7 @@ class DefaultWord extends \PhpOffice\PhpWord\PhpWord { $textrun = $cell->addTextRun(); $textrun->addText('IBAN: ???????????', ['name' => 'helvetica', 'size' => 7]); - $cell = $table->addCell(2100); + $cell = $table->addCell(2100); $textrun = $cell->addTextRun(); $textrun->addText('www.jingga.app', ['name' => 'helvetica', 'size' => 7]); $textrun = $cell->addTextRun(); @@ -98,14 +123,14 @@ class DefaultWord extends \PhpOffice\PhpWord\PhpWord { ]); $header = $section->addHeader(); - $table = $header->addTable(); + $table = $header->addTable(); $table->addRow(); // first column $table->addCell(1300)->addImage(__DIR__ . '/../Web/Backend/img/logo.png', ['width' => 50, 'height' => 50]); //second column - $cell = $table->addCell(8700, ['valign' => 'bottom']); + $cell = $table->addCell(8700, ['valign' => 'bottom']); $textrun = $cell->addTextRun(); $textrun->addText('Jingga', ['name' => 'helvetica', 'bold' => true, 'size' => 20]); @@ -122,7 +147,7 @@ class DefaultWord extends \PhpOffice\PhpWord\PhpWord { // columns $cell = $table->addCell(500); - $cell = $table->addCell(2000); + $cell = $table->addCell(2000); $textrun = $cell->addTextRun(); $textrun->addText('Jingga e.K.', ['name' => 'helvetica', 'size' => 7]); $textrun = $cell->addTextRun(); @@ -130,7 +155,7 @@ class DefaultWord extends \PhpOffice\PhpWord\PhpWord { $textrun = $cell->addTextRun(); $textrun->addText('61206 Woellstadt', ['name' => 'helvetica', 'size' => 7]); - $cell = $table->addCell(2700); + $cell = $table->addCell(2700); $textrun = $cell->addTextRun(); $textrun->addText('Geschäftsführer: Dennis Eichhorn', ['name' => 'helvetica', 'size' => 7]); $textrun = $cell->addTextRun(); @@ -138,7 +163,7 @@ class DefaultWord extends \PhpOffice\PhpWord\PhpWord { $textrun = $cell->addTextRun(); $textrun->addText('USt Id: DE ??????????', ['name' => 'helvetica', 'size' => 7]); - $cell = $table->addCell(2700); + $cell = $table->addCell(2700); $textrun = $cell->addTextRun(); $textrun->addText('Volksbank Mittelhessen', ['name' => 'helvetica', 'size' => 7]); $textrun = $cell->addTextRun(); @@ -146,7 +171,7 @@ class DefaultWord extends \PhpOffice\PhpWord\PhpWord { $textrun = $cell->addTextRun(); $textrun->addText('IBAN: ???????????', ['name' => 'helvetica', 'size' => 7]); - $cell = $table->addCell(2100); + $cell = $table->addCell(2100); $textrun = $cell->addTextRun(); $textrun->addText('www.jingga.app', ['name' => 'helvetica', 'size' => 7]); $textrun = $cell->addTextRun(); diff --git a/Admin/Install/Media/WordLetterExporter/defaultWordLetterExporter.doc.php b/Admin/Install/Media/WordLetterExporter/defaultWordLetterExporter.doc.php index 98d3687..6d1cbc8 100755 --- a/Admin/Install/Media/WordLetterExporter/defaultWordLetterExporter.doc.php +++ b/Admin/Install/Media/WordLetterExporter/defaultWordLetterExporter.doc.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\Admin + * @package Modules\Media * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -15,19 +15,24 @@ declare(strict_types=1); require_once __DIR__ . '/../phpOMS/Autoloader.php'; use phpOMS\Autoloader; + Autoloader::addPath(__DIR__ . '/../Resources'); +/** @var \phpOMS\Views\View $this */ $media = $this->getData('media'); $data = $this->getData('data') ?? []; include $media->getSourceByName('template.php')->getAbsolutePath(); -$word = new DefaultWord(); +$word = new DefaultWord(); $section = $word->createFirstPage(); $file = \tempnam(\sys_get_temp_dir(), 'oms_'); $writer->save($file); -echo \file_get_contents($file); +$content = \file_get_contents($file); +if ($content !== false) { + echo $content; +} -\unlink($file); \ No newline at end of file +\unlink($file); diff --git a/Admin/Install/Media/WordListExporter/defaultWordListExporter.doc.php b/Admin/Install/Media/WordListExporter/defaultWordListExporter.doc.php index ed5f4d5..6d30bae 100755 --- a/Admin/Install/Media/WordListExporter/defaultWordListExporter.doc.php +++ b/Admin/Install/Media/WordListExporter/defaultWordListExporter.doc.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\Admin + * @package Modules\Media * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -15,14 +15,18 @@ declare(strict_types=1); require_once __DIR__ . '/../phpOMS/Autoloader.php'; use phpOMS\Autoloader; + Autoloader::addPath(__DIR__ . '/../Resources'); +/** @var \phpOMS\Views\View $this */ $media = $this->getData('media'); -$data = $this->getData('data') ?? []; + +/** @var array $data */ +$data = $this->getData('data') ?? []; include $media->getSourceByName('template.php')->getAbsolutePath(); -$word = new DefaultWord(); +$word = new DefaultWord(); $section = $word->createFirstPage(); $tbl = ''; @@ -52,4 +56,4 @@ $writer->save($file); echo \file_get_contents($file); -\unlink($file); \ No newline at end of file +\unlink($file); diff --git a/Admin/Install/Media/WordPlainTemplate/defaultWordExporter.doc.php b/Admin/Install/Media/WordPlainTemplate/defaultWordExporter.doc.php index 99b8bd1..9d948c5 100755 --- a/Admin/Install/Media/WordPlainTemplate/defaultWordExporter.doc.php +++ b/Admin/Install/Media/WordPlainTemplate/defaultWordExporter.doc.php @@ -18,6 +18,7 @@ use phpOMS\Autoloader; Autoloader::addPath(__DIR__ . '/../Resources'); +/** @var \phpOMS\Views\View $this */ $media = $this->getData('media'); $data = $this->getData('data') ?? []; @@ -29,6 +30,11 @@ $section = $word->createFirstPage(); $file = \tempnam(\sys_get_temp_dir(), 'oms_'); $writer->save($file); -echo \file_get_contents($file); +if ($file !== false) { + $content = \file_get_contents($file); + if ($content !== false) { + echo $content; + } +} \unlink($file); diff --git a/Admin/Install/settings.php b/Admin/Install/settings.php index 3a42780..11c87b5 100755 --- a/Admin/Install/settings.php +++ b/Admin/Install/settings.php @@ -1,5 +1,15 @@ where('name', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE') + ->execute(); + $response->header->set('Content-Type', MimeType::M_JSON, true); $response->set( $request->uri->__toString(), - \array_values( - GroupMapper::getAll()->where('name', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE')->execute() - ) + \array_values($groups) ); } @@ -1385,18 +1388,19 @@ final class ApiController extends Controller */ public function apiAccountFind(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { + /** @var \Modules\Admin\Models\Account[] $accounts */ + $accounts = AccountMapper::getAll() + ->where('login', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE') + ->where('email', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') + ->where('name1', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') + ->where('name2', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') + ->where('name3', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') + ->execute(); + $response->header->set('Content-Type', MimeType::M_JSON, true); $response->set( $request->uri->__toString(), - \array_values( - AccountMapper::getAll() - ->where('login', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE') - ->where('email', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') - ->where('name1', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') - ->where('name2', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') - ->where('name3', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') - ->execute() - ) + \array_values($accounts) ); } @@ -1416,19 +1420,15 @@ final class ApiController extends Controller public function apiAccountGroupFind(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { /** @var Account[] $accounts */ - $accounts = \array_values( - AccountMapper::getAll() - ->where('login', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE') - ->where('email', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') - ->where('name1', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') - ->where('name2', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') - ->where('name3', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') - ->execute() - ); + $accounts = AccountMapper::getAll() + ->where('login', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE') + ->where('email', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') + ->where('name1', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') + ->where('name2', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') + ->where('name3', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE', 'OR') + ->execute(); - /** @var Group[] $groups */ - $groups = \array_values(GroupMapper::getAll()->where('name', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE')->execute()); - $data = []; + $data = []; foreach ($accounts as $account) { /** @var array $temp */ @@ -1439,6 +1439,11 @@ final class ApiController extends Controller $data[] = $temp; } + /** @var Group[] $groups */ + $groups = GroupMapper::getAll() + ->where('name', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE') + ->execute(); + foreach ($groups as $group) { /** @var array $temp */ $temp = $group->jsonSerialize(); @@ -1731,7 +1736,10 @@ final class ApiController extends Controller ); if (!empty($defaultGroupSettings)) { - $defaultGroupIds = \array_merge($defaultGroupIds, \json_decode($defaultGroupSettings->content, true)); + $defaultGroupIds = \array_merge( + $defaultGroupIds, + \json_decode($defaultGroupSettings->content, true) + ); } } @@ -1744,7 +1752,10 @@ final class ApiController extends Controller ); if (!empty($defaultGroupSettings)) { - $defaultGroupIds = \array_merge($defaultGroupIds, \json_decode($defaultGroupSettings->content, true)); + $defaultGroupIds = \array_merge( + $defaultGroupIds, + \json_decode($defaultGroupSettings->content, true) + ); } } @@ -2069,10 +2080,12 @@ final class ApiController extends Controller if (!$request->hasData('locale')) { $account->l11n = Localization::fromJson( - $this->app->l11nServer === null ? $request->header->l11n->jsonSerialize() : $this->app->l11nServer->jsonSerialize() + $this->app->l11nServer === null + ? $request->header->l11n->jsonSerialize() + : $this->app->l11nServer->jsonSerialize() ); } else { - $locale = \explode('_', $request->getData('locale')); + $locale = \explode('_', $request->getdataString('locale') ?? ''); $account->l11n ->loadFromLanguage( @@ -3069,6 +3082,7 @@ final class ApiController extends Controller if ($cliEventHandling) { $count = \count($data); + /** @var string $cliPath */ $cliPath = \realpath(__DIR__ . '/../../../cli.php'); if ($cliPath === false) { return;