diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index 8f4e5e9c..4ac82276 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -31,12 +31,22 @@ jobs: tools: phpcs - name: Setup dependencies - run: composer require -n --no-progress overtrue/phplint + run: | + composer require -n --no-progress overtrue/phplint + git clone --depth 1 https://github.com/Icinga/icingaweb2.git vendor/icingaweb2 + git clone --depth 1 https://github.com/Icinga/icingadb-web.git vendor/icingadb + git clone --depth 1 https://github.com/Icinga/icingaweb2-module-pdfexport.git vendor/pdfexport + git clone --depth 1 -b snapshot/nightly https://github.com/Icinga/icinga-php-library.git vendor/icinga-php-library + git clone --depth 1 -b snapshot/nightly https://github.com/Icinga/icinga-php-thirdparty.git vendor/icinga-php-thirdparty - name: PHP Lint - if: success() || matrix.allow_failure + if: ${{ ! cancelled() }} run: ./vendor/bin/phplint -n --exclude={^vendor/.*} -- . - name: PHP CodeSniffer - if: success() || matrix.allow_failure + if: ${{ ! cancelled() }} run: phpcs -wps --colors + + - name: PHPStan + if: ${{ ! cancelled() }} + uses: php-actions/phpstan@v3 diff --git a/application/clicommands/DownloadCommand.php b/application/clicommands/DownloadCommand.php index 36c4446a..7edf63ce 100644 --- a/application/clicommands/DownloadCommand.php +++ b/application/clicommands/DownloadCommand.php @@ -47,6 +47,7 @@ public function defaultAction() $this->fail($this->translate('Argument id is mandatory')); } + /** @var Model\Report $report */ $report = Model\Report::on($this->getDb()) ->with('timeframe') ->filter(Filter::equal('id', $id)) diff --git a/application/clicommands/ListCommand.php b/application/clicommands/ListCommand.php index 063bcb17..ef7643ef 100644 --- a/application/clicommands/ListCommand.php +++ b/application/clicommands/ListCommand.php @@ -70,7 +70,7 @@ public function indexAction() } if ($reports->count() === 0) { - printf($this->translate("No reports found\n")); + print $this->translate("No reports found\n"); exit; } @@ -121,7 +121,7 @@ protected function outputTable($reports, array $dataCallbacks) $beautifier .= "\n"; printf($format, ...array_keys($columnsAndLengths)); - printf($beautifier); + print $beautifier; foreach ($rows as $row) { printf($format, ...$row); diff --git a/application/controllers/ReportController.php b/application/controllers/ReportController.php index 8371382c..f10bab6e 100644 --- a/application/controllers/ReportController.php +++ b/application/controllers/ReportController.php @@ -33,6 +33,7 @@ public function init() { $reportId = $this->params->getRequired('id'); + /** @var Model\Report $report */ $report = Model\Report::on($this->getDb()) ->with(['timeframe']) ->filter(Filter::equal('id', $reportId)) @@ -74,8 +75,8 @@ public function cloneAction() foreach ($reportlet->getConfig() as $name => $value) { if ($name === 'name') { - if (preg_match('/(?:Clone )(\d+)$/', $value, $matches)) { - $value = preg_replace('/\d+$/', ++$matches[1], $value); + if (preg_match('/(?:Clone )(\d+)$/', $value, $m)) { + $value = preg_replace('/\d+$/', (string) ((int) $m[1] + 1), $value); } else { $value .= ' Clone 1'; } @@ -153,7 +154,11 @@ public function scheduleAction() $form = ScheduleForm::fromReport($this->report); $form->setAction((string) Url::fromRequest()) ->on(ScheduleForm::ON_SUCCESS, function () use ($form) { - $pressedButton = $form->getPressedSubmitElement()->getName(); + $pressedButton = $form->getPressedSubmitElement(); + if ($pressedButton) { + $pressedButton = $pressedButton->getName(); + } + if ($pressedButton === 'remove') { Notification::success($this->translate('Removed schedule successfully')); } elseif ($pressedButton === 'send') { @@ -192,8 +197,9 @@ public function downloadAction() switch ($type) { case 'pdf': - /** @var Hook\PdfexportHook */ - Pdfexport::first()->streamPdfFromHtml($this->report->toPdf(), $name); + /** @var Hook\PdfexportHook $exports */ + $exports = Pdfexport::first(); + $exports->streamPdfFromHtml($this->report->toPdf(), $name); exit; case 'csv': $response = $this->getResponse(); diff --git a/application/controllers/ReportsController.php b/application/controllers/ReportsController.php index f1c60e61..74583b6d 100644 --- a/application/controllers/ReportsController.php +++ b/application/controllers/ReportsController.php @@ -55,6 +55,7 @@ public function indexAction() $this->addControl($sortControl); + /** @var Report $report */ foreach ($reports as $report) { $url = Url::fromPath('reporting/report', ['id' => $report->id])->getAbsoluteUrl('&'); diff --git a/application/controllers/TemplateController.php b/application/controllers/TemplateController.php index e8cebb0b..c37f4720 100644 --- a/application/controllers/TemplateController.php +++ b/application/controllers/TemplateController.php @@ -24,6 +24,7 @@ public function indexAction() { $this->createTabs()->activate('preview'); + /** @var Model\Template $template */ $template = Model\Template::on($this->getDb()) ->filter(Filter::equal('id', $this->params->getRequired('id'))) ->first(); @@ -50,6 +51,7 @@ public function editAction() $this->createTabs()->activate('edit'); + /** @var Model\Template $template */ $template = Model\Template::on($this->getDb()) ->filter(Filter::equal('id', $this->params->getRequired('id'))) ->first(); diff --git a/application/controllers/TemplatesController.php b/application/controllers/TemplatesController.php index e300c53a..d8faa988 100644 --- a/application/controllers/TemplatesController.php +++ b/application/controllers/TemplatesController.php @@ -53,6 +53,10 @@ public function indexAction() $this->addControl($sortControl); + + $tableRows = []; + + /** @var Model\Template $template */ foreach ($templates as $template) { if ($canManage) { $subjectLink = new Link( diff --git a/application/controllers/TestController.php b/application/controllers/TestController.php deleted file mode 100644 index 6c6b4efd..00000000 --- a/application/controllers/TestController.php +++ /dev/null @@ -1,48 +0,0 @@ -from('timeframe') - ->columns('*'); - - $table = new Table(); - - $table->getAttributes()->add('class', 'common-table'); - - $table->getHeader()->add(Table::row(['Name', 'Title', 'Start', 'End'], null, 'th')); - - foreach ($this->getDb()->select($select) as $row) { - $timeframe = (new Timeframe()) - ->setName($row->name) - ->setTitle($row->title) - ->setStart($row->start) - ->setEnd($row->end); - - $table->getBody()->add(Table::row([ - $timeframe->getName(), - $timeframe->getTitle(), - $timeframe->getTimerange()->getStart()->format('Y-m-d H:i:s'), - $timeframe->getTimerange()->getEnd()->format('Y-m-d H:i:s') - ])); - } - - $this->addTitleTab($this->translate('Timeframes')); - - $this->addContent($table); - } -} diff --git a/application/controllers/TimeframeController.php b/application/controllers/TimeframeController.php index 667d5bf9..60ee3c27 100644 --- a/application/controllers/TimeframeController.php +++ b/application/controllers/TimeframeController.php @@ -22,6 +22,7 @@ class TimeframeController extends Controller public function init() { + /** @var Model\Timeframe $timeframe */ $timeframe = Model\Timeframe::on($this->getDb()) ->filter(Filter::equal('id', $this->params->getRequired('id'))) ->first(); diff --git a/library/Reporting/Actions/SendMail.php b/library/Reporting/Actions/SendMail.php index eb7d716a..122af0b8 100644 --- a/library/Reporting/Actions/SendMail.php +++ b/library/Reporting/Actions/SendMail.php @@ -33,7 +33,7 @@ public function execute(Report $report, array $config) $mail = new Mail(); $mail->setFrom( - Config::module('reporting', 'config', 'true')->get('mail', 'from', 'reporting@icinga') + Config::module('reporting', 'config', true)->get('mail', 'from', 'reporting@icinga') ); if (isset($config['subject'])) { diff --git a/library/Reporting/Database.php b/library/Reporting/Database.php index 8b0c582e..24b28fcb 100644 --- a/library/Reporting/Database.php +++ b/library/Reporting/Database.php @@ -8,6 +8,7 @@ use Icinga\Data\ResourceFactory; use ipl\Sql; use PDO; +use stdClass; trait Database { @@ -35,7 +36,7 @@ protected function listTimeframes() ->columns(['id', 'name']); $timeframes = []; - + /** @var stdClass $row */ foreach ($this->getDb()->select($select) as $row) { $timeframes[$row->id] = $row->name; } @@ -50,7 +51,7 @@ protected function listTemplates() ->columns(['id', 'name']); $templates = []; - + /** @var stdClass $row */ foreach ($this->getDb()->select($select) as $row) { $templates[$row->id] = $row->name; } diff --git a/library/Reporting/Hook/ReportHook.php b/library/Reporting/Hook/ReportHook.php index f4ff35aa..b9467c03 100644 --- a/library/Reporting/Hook/ReportHook.php +++ b/library/Reporting/Hook/ReportHook.php @@ -56,7 +56,7 @@ public function initConfigForm(Form $form) /** * Get the description of the report * - * @return string + * @return ?string */ public function getDescription() { diff --git a/library/Reporting/Mail.php b/library/Reporting/Mail.php index 0c3af4e3..810b166b 100644 --- a/library/Reporting/Mail.php +++ b/library/Reporting/Mail.php @@ -14,13 +14,13 @@ class Mail /** @var string */ public const DEFAULT_SUBJECT = 'Icinga Reporting'; - /** @var string */ + /** @var ?string */ protected $from; /** @var string */ protected $subject = self::DEFAULT_SUBJECT; - /** @var Zend_Mail_Transport_Sendmail */ + /** @var ?Zend_Mail_Transport_Sendmail */ protected $transport; /** @var array */ diff --git a/library/Reporting/Reportlet.php b/library/Reporting/Reportlet.php index b0f67eac..1c74f38e 100644 --- a/library/Reporting/Reportlet.php +++ b/library/Reporting/Reportlet.php @@ -22,8 +22,6 @@ class Reportlet public static function fromModel(Model\Reportlet $reportletModel): self { $reportlet = new static(); - - $reportlet->id = $reportletModel->id; $reportlet->class = $reportletModel->class; $reportletConfig = [ diff --git a/library/Reporting/Schedule.php b/library/Reporting/Schedule.php index ad13abda..ddd8bd3a 100644 --- a/library/Reporting/Schedule.php +++ b/library/Reporting/Schedule.php @@ -147,6 +147,9 @@ public function run(): ExtendedPromiseInterface $deferred->resolve(); }); - return $deferred->promise(); + /** @var ExtendedPromiseInterface $promise */ + $promise = $deferred->promise(); + + return $promise; } } diff --git a/library/Reporting/Web/Forms/ReportForm.php b/library/Reporting/Web/Forms/ReportForm.php index 9b6e5c52..7b5926b8 100644 --- a/library/Reporting/Web/Forms/ReportForm.php +++ b/library/Reporting/Web/Forms/ReportForm.php @@ -9,6 +9,7 @@ use Icinga\Module\Reporting\ProvidedReports; use ipl\Html\Contract\FormSubmitElement; use ipl\Html\Form; +use ipl\Html\HtmlDocument; use ipl\Validator\CallbackValidator; use ipl\Web\Compat\CompatForm; @@ -148,7 +149,10 @@ protected function assemble() 'formnovalidate' => true ]); $this->registerElement($removeButton); - $this->getElement('submit')->getWrapper()->prepend($removeButton); + + /** @var HtmlDocument $wrapper */ + $wrapper = $this->getElement('submit')->getWrapper(); + $wrapper->prepend($removeButton); } } diff --git a/library/Reporting/Web/Forms/ScheduleForm.php b/library/Reporting/Web/Forms/ScheduleForm.php index ac4bc785..beb27dc9 100644 --- a/library/Reporting/Web/Forms/ScheduleForm.php +++ b/library/Reporting/Web/Forms/ScheduleForm.php @@ -6,6 +6,7 @@ use DateTime; use Icinga\Application\Icinga; +use Icinga\Application\Web; use Icinga\Authentication\Auth; use Icinga\Module\Reporting\Database; use Icinga\Module\Reporting\Hook\ActionHook; @@ -14,6 +15,7 @@ use Icinga\Util\Json; use ipl\Html\Contract\FormSubmitElement; use ipl\Html\Form; +use ipl\Html\HtmlDocument; use ipl\Html\HtmlElement; use ipl\Scheduler\Contract\Frequency; use ipl\Web\Compat\CompatForm; @@ -35,7 +37,9 @@ class ScheduleForm extends CompatForm public function __construct() { $this->scheduleElement = new ScheduleElement('schedule_element'); - $this->scheduleElement->setIdProtector([Icinga::app()->getRequest(), 'protectId']); + /** @var Web $app */ + $app = Icinga::app(); + $this->scheduleElement->setIdProtector([$app->getRequest(), 'protectId']); } public function getPartUpdates(): array @@ -122,7 +126,10 @@ protected function assemble() 'formnovalidate' => true ]); $this->registerElement($sendButton); - $this->getElement('submit')->getWrapper()->prepend($sendButton); + + /** @var HtmlDocument $wrapper */ + $wrapper = $this->getElement('submit')->getWrapper(); + $wrapper->prepend($sendButton); /** @var FormSubmitElement $removeButton */ $removeButton = $this->createElement('submit', 'remove', [ @@ -131,7 +138,7 @@ protected function assemble() 'formnovalidate' => true ]); $this->registerElement($removeButton); - $this->getElement('submit')->getWrapper()->prepend($removeButton); + $wrapper->prepend($removeButton); } } diff --git a/library/Reporting/Web/Forms/TemplateForm.php b/library/Reporting/Web/Forms/TemplateForm.php index 6ebe31bf..407a0a0f 100644 --- a/library/Reporting/Web/Forms/TemplateForm.php +++ b/library/Reporting/Web/Forms/TemplateForm.php @@ -10,6 +10,7 @@ use Icinga\Module\Reporting\Database; use ipl\Html\Contract\FormSubmitElement; use ipl\Html\Html; +use ipl\Html\HtmlDocument; use ipl\Web\Compat\CompatForm; class TemplateForm extends CompatForm @@ -143,7 +144,10 @@ protected function assemble() 'formnovalidate' => true ]); $this->registerElement($removeButton); - $this->getElement('submit')->getWrapper()->prepend($removeButton); + + /** @var HtmlDocument $wrapper */ + $wrapper = $this->getElement('submit')->getWrapper(); + $wrapper->prepend($removeButton); } } diff --git a/library/Reporting/Web/Forms/TimeframeForm.php b/library/Reporting/Web/Forms/TimeframeForm.php index 2239b507..1f02bc07 100644 --- a/library/Reporting/Web/Forms/TimeframeForm.php +++ b/library/Reporting/Web/Forms/TimeframeForm.php @@ -9,6 +9,7 @@ use Icinga\Module\Reporting\Database; use ipl\Html\Contract\FormSubmitElement; use ipl\Html\FormElement\LocalDateTimeElement; +use ipl\Html\HtmlDocument; use ipl\Validator\CallbackValidator; use ipl\Web\Compat\CompatForm; @@ -174,7 +175,10 @@ protected function assemble() 'formnovalidate' => true ]); $this->registerElement($removeButton); - $this->getElement('submit')->getWrapper()->prepend($removeButton); + + /** @var HtmlDocument $wrapper */ + $wrapper = $this->getElement('submit')->getWrapper(); + $wrapper->prepend($removeButton); } } diff --git a/library/Reporting/Web/Widget/HeaderOrFooter.php b/library/Reporting/Web/Widget/HeaderOrFooter.php index 21ce862d..3ec9a7f2 100644 --- a/library/Reporting/Web/Widget/HeaderOrFooter.php +++ b/library/Reporting/Web/Widget/HeaderOrFooter.php @@ -64,9 +64,9 @@ protected function resolveVariable($variable) protected function createColumn(array $data, $key) { - $typeKey = "${key}_type"; - $valueKey = "${key}_value"; - $type = isset($data[$typeKey]) ? $data[$typeKey] : null; + $typeKey = "{$key}_type"; + $valueKey = "{$key}_value"; + $type = $data[$typeKey] ?? null; switch ($type) { case 'text': diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon new file mode 100644 index 00000000..6d9c15a6 --- /dev/null +++ b/phpstan-baseline.neon @@ -0,0 +1,1436 @@ +parameters: + ignoreErrors: + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Clicommands\\\\DownloadCommand\\:\\:defaultAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/clicommands/DownloadCommand.php + + - + message: "#^Parameter \\#1 \\$filename of function file_put_contents expects string, mixed given\\.$#" + count: 1 + path: application/clicommands/DownloadCommand.php + + - + message: "#^Parameter \\#1 \\$filename of function is_dir expects string, mixed given\\.$#" + count: 1 + path: application/clicommands/DownloadCommand.php + + - + message: "#^Parameter \\#1 \\$string of function strtolower expects string, mixed given\\.$#" + count: 1 + path: application/clicommands/DownloadCommand.php + + - + message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects array\\|bool\\|float\\|int\\|string, mixed given\\.$#" + count: 1 + path: application/clicommands/DownloadCommand.php + + - + message: "#^Parameter \\#2 \\.\\.\\.\\$values of function sprintf expects bool\\|float\\|int\\|string\\|null, mixed given\\.$#" + count: 1 + path: application/clicommands/DownloadCommand.php + + - + message: "#^Part \\$output \\(mixed\\) of encapsed string cannot be cast to string\\.$#" + count: 1 + path: application/clicommands/DownloadCommand.php + + - + message: "#^Call to an undefined method object\\:\\:getName\\(\\)\\.$#" + count: 1 + path: application/clicommands/ListCommand.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Clicommands\\\\ListCommand\\:\\:indexAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/clicommands/ListCommand.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Clicommands\\\\ListCommand\\:\\:outputTable\\(\\) has no return type specified\\.$#" + count: 1 + path: application/clicommands/ListCommand.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Clicommands\\\\ListCommand\\:\\:outputTable\\(\\) has parameter \\$dataCallbacks with no value type specified in iterable type array\\.$#" + count: 1 + path: application/clicommands/ListCommand.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Clicommands\\\\ListCommand\\:\\:outputTable\\(\\) has parameter \\$reports with no type specified\\.$#" + count: 1 + path: application/clicommands/ListCommand.php + + - + message: "#^Parameter \\#1 \\$haystack of function strpos expects string, mixed given\\.$#" + count: 1 + path: application/clicommands/ListCommand.php + + - + message: "#^Parameter \\#1 \\$string of function strtolower expects string, mixed given\\.$#" + count: 1 + path: application/clicommands/ListCommand.php + + - + message: "#^Parameter \\#2 \\$direction of method ipl\\\\Orm\\\\Query\\:\\:orderBy\\(\\) expects int\\|string\\|null, mixed given\\.$#" + count: 1 + path: application/clicommands/ListCommand.php + + - + message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:like\\(\\) expects array\\\\|string, mixed given\\.$#" + count: 1 + path: application/clicommands/ListCommand.php + + - + message: "#^Cannot access property \\$report on mixed\\.$#" + count: 1 + path: application/clicommands/ScheduleCommand.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Clicommands\\\\ScheduleCommand\\:\\:attachJobsLogging\\(\\) has no return type specified\\.$#" + count: 1 + path: application/clicommands/ScheduleCommand.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Clicommands\\\\ScheduleCommand\\:\\:runAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/clicommands/ScheduleCommand.php + + - + message: "#^Parameter \\#1 \\$scheduleModel of static method Icinga\\\\Module\\\\Reporting\\\\Schedule\\:\\:fromModel\\(\\) expects Icinga\\\\Module\\\\Reporting\\\\Model\\\\Schedule, mixed given\\.$#" + count: 1 + path: application/clicommands/ScheduleCommand.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ConfigController\\:\\:backendAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ConfigController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ConfigController\\:\\:mailAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ConfigController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportController\\:\\:assembleActions\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportController\\:\\:cloneAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportController\\:\\:downloadAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportController\\:\\:editAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportController\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportController\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportController\\:\\:scheduleAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportController\\:\\:sendAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportController.php + + - + message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects array\\|bool\\|float\\|int\\|string, mixed given\\.$#" + count: 1 + path: application/controllers/ReportController.php + + - + message: "#^Cannot access property \\$name on mixed\\.$#" + count: 1 + path: application/controllers/ReportsController.php + + - + message: "#^Cannot call method format\\(\\) on mixed\\.$#" + count: 2 + path: application/controllers/ReportsController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportsController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportsController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportsController\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportsController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportsController\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportsController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\ReportsController\\:\\:newAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/ReportsController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TemplateController\\:\\:createTabs\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TemplateController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TemplateController\\:\\:editAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TemplateController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TemplateController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TemplateController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TemplateController\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TemplateController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TemplateController\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TemplateController.php + + - + message: "#^Parameter \\#1 \\$json of function json_decode expects string, mixed given\\.$#" + count: 1 + path: application/controllers/TemplateController.php + + - + message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects array\\|bool\\|float\\|int\\|string, mixed given\\.$#" + count: 2 + path: application/controllers/TemplateController.php + + - + message: "#^Cannot call method format\\(\\) on mixed\\.$#" + count: 2 + path: application/controllers/TemplatesController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TemplatesController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TemplatesController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TemplatesController\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TemplatesController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TemplatesController\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TemplatesController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TemplatesController\\:\\:newAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TemplatesController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TimeframeController\\:\\:editAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TimeframeController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TimeframeController\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TimeframeController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TimeframeController\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TimeframeController.php + + - + message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects array\\|bool\\|float\\|int\\|string, mixed given\\.$#" + count: 1 + path: application/controllers/TimeframeController.php + + - + message: "#^Cannot access property \\$ctime on mixed\\.$#" + count: 1 + path: application/controllers/TimeframesController.php + + - + message: "#^Cannot access property \\$end on mixed\\.$#" + count: 1 + path: application/controllers/TimeframesController.php + + - + message: "#^Cannot access property \\$id on mixed\\.$#" + count: 1 + path: application/controllers/TimeframesController.php + + - + message: "#^Cannot access property \\$mtime on mixed\\.$#" + count: 1 + path: application/controllers/TimeframesController.php + + - + message: "#^Cannot access property \\$name on mixed\\.$#" + count: 2 + path: application/controllers/TimeframesController.php + + - + message: "#^Cannot access property \\$start on mixed\\.$#" + count: 1 + path: application/controllers/TimeframesController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TimeframesController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TimeframesController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TimeframesController\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TimeframesController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TimeframesController\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TimeframesController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Controllers\\\\TimeframesController\\:\\:newAction\\(\\) has no return type specified\\.$#" + count: 1 + path: application/controllers/TimeframesController.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Forms\\\\ConfigureMailForm\\:\\:createElements\\(\\) has no return type specified\\.$#" + count: 1 + path: application/forms/ConfigureMailForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Forms\\\\ConfigureMailForm\\:\\:createElements\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + count: 1 + path: application/forms/ConfigureMailForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Forms\\\\SelectBackendForm\\:\\:createElements\\(\\) has no return type specified\\.$#" + count: 1 + path: application/forms/SelectBackendForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Forms\\\\SelectBackendForm\\:\\:createElements\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + count: 1 + path: application/forms/SelectBackendForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Actions\\\\SendMail\\:\\:execute\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Actions/SendMail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Actions\\\\SendMail\\:\\:execute\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Actions/SendMail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Actions\\\\SendMail\\:\\:initConfigForm\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Actions/SendMail.php + + - + message: "#^Parameter \\#1 \\$array of function array_filter expects array, array\\\\|false given\\.$#" + count: 1 + path: library/Reporting/Actions/SendMail.php + + - + message: "#^Parameter \\#1 \\$from of method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:setFrom\\(\\) expects string, mixed given\\.$#" + count: 1 + path: library/Reporting/Actions/SendMail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Cli\\\\Command\\:\\:init\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Cli/Command.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Cli\\\\Command\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Cli/Command.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Cli\\\\Command\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Cli/Command.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Cli\\\\Command\\:\\:\\$configs has no type specified\\.$#" + count: 1 + path: library/Reporting/Cli/Command.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Hook\\\\ActionHook\\:\\:execute\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Hook/ActionHook.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Hook\\\\ActionHook\\:\\:execute\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Hook/ActionHook.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Hook\\\\ActionHook\\:\\:initConfigForm\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Hook/ActionHook.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Hook\\\\ReportHook\\:\\:getData\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Hook/ReportHook.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Hook\\\\ReportHook\\:\\:getHtml\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Hook/ReportHook.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Hook\\\\ReportHook\\:\\:initConfigForm\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Hook/ReportHook.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:attachCsv\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:attachCsv\\(\\) has parameter \\$csv with no type specified\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:attachCsv\\(\\) has parameter \\$filename with no type specified\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:attachJson\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:attachJson\\(\\) has parameter \\$filename with no type specified\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:attachJson\\(\\) has parameter \\$json with no type specified\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:attachPdf\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:attachPdf\\(\\) has parameter \\$filename with no type specified\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:attachPdf\\(\\) has parameter \\$pdf with no type specified\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:send\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:send\\(\\) has parameter \\$body with no type specified\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:send\\(\\) has parameter \\$recipient with no type specified\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Mail\\:\\:\\$attachments type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Mail.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Config\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Model/Config.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Config\\:\\:createRelations\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Model/Config.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Config\\:\\:getColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Config.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Config\\:\\:getKeyName\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Config.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Report\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Model/Report.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Report\\:\\:createRelations\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Model/Report.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Report\\:\\:getColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Report.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Report\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Report.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Report\\:\\:getKeyName\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Report.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Reportlet\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Model/Reportlet.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Reportlet\\:\\:createRelations\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Model/Reportlet.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Reportlet\\:\\:getColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Reportlet.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Reportlet\\:\\:getKeyName\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Reportlet.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Schedule\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Model/Schedule.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Schedule\\:\\:createRelations\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Model/Schedule.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Schedule\\:\\:getColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Schedule.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Schedule\\:\\:getKeyName\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Schedule.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Template\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Model/Template.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Template\\:\\:createRelations\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Model/Template.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Template\\:\\:getColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Template.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Template\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Template.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Template\\:\\:getKeyName\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Template.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Timeframe\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Model/Timeframe.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Timeframe\\:\\:createRelations\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Model/Timeframe.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Timeframe\\:\\:getColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Timeframe.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Model\\\\Timeframe\\:\\:getKeyName\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Model/Timeframe.php + + - + message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + count: 1 + path: library/Reporting/Report.php + + - + message: "#^Cannot access property \\$report_id on mixed\\.$#" + count: 1 + path: library/Reporting/Report.php + + - + message: "#^Cannot access property \\$report_name on mixed\\.$#" + count: 1 + path: library/Reporting/Report.php + + - + message: "#^Cannot call method count\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + count: 4 + path: library/Reporting/Report.php + + - + message: "#^Cannot call method first\\(\\) on mixed\\.$#" + count: 2 + path: library/Reporting/Report.php + + - + message: "#^Cannot call method getAverages\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + count: 2 + path: library/Reporting/Report.php + + - + message: "#^Cannot call method getDimensions\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + count: 2 + path: library/Reporting/Report.php + + - + message: "#^Cannot call method getRows\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + count: 2 + path: library/Reporting/Report.php + + - + message: "#^Cannot call method getValues\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + count: 2 + path: library/Reporting/Report.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Report\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Report.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Report\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Report.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Report\\:\\:providesData\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Report.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Report\\:\\:toJson\\(\\) should return string but returns string\\|false\\.$#" + count: 1 + path: library/Reporting/Report.php + + - + message: "#^Parameter \\#1 \\$reportletModel of static method Icinga\\\\Module\\\\Reporting\\\\Reportlet\\:\\:fromModel\\(\\) expects Icinga\\\\Module\\\\Reporting\\\\Model\\\\Reportlet, mixed given\\.$#" + count: 1 + path: library/Reporting/Report.php + + - + message: "#^Parameter \\#1 \\$timeframeModel of static method Icinga\\\\Module\\\\Reporting\\\\Timeframe\\:\\:fromModel\\(\\) expects Icinga\\\\Module\\\\Reporting\\\\Model\\\\Timeframe, mixed given\\.$#" + count: 1 + path: library/Reporting/Report.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Report\\:\\:\\$author \\(string\\) does not accept mixed\\.$#" + count: 1 + path: library/Reporting/Report.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Report\\:\\:\\$id \\(int\\) does not accept mixed\\.$#" + count: 1 + path: library/Reporting/Report.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Report\\:\\:\\$name \\(string\\) does not accept mixed\\.$#" + count: 1 + path: library/Reporting/Report.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:getAverages\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:getDimensions\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:getRows\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:getTotals\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:getValues\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:setDimensions\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:setDimensions\\(\\) has parameter \\$dimensions with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:setRows\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:setRows\\(\\) has parameter \\$rows with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:setValues\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:setValues\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:\\$dimensions has no type specified\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\ReportData\\:\\:\\$values has no type specified\\.$#" + count: 1 + path: library/Reporting/ReportData.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportRow\\:\\:getDimensions\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/ReportRow.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportRow\\:\\:getValues\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/ReportRow.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportRow\\:\\:setDimensions\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/ReportRow.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportRow\\:\\:setDimensions\\(\\) has parameter \\$dimensions with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/ReportRow.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportRow\\:\\:setValues\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/ReportRow.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\ReportRow\\:\\:setValues\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/ReportRow.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\ReportRow\\:\\:\\$dimensions has no type specified\\.$#" + count: 1 + path: library/Reporting/ReportRow.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\ReportRow\\:\\:\\$values has no type specified\\.$#" + count: 1 + path: library/Reporting/ReportRow.php + + - + message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + count: 1 + path: library/Reporting/Reportlet.php + + - + message: "#^Cannot access property \\$name on mixed\\.$#" + count: 1 + path: library/Reporting/Reportlet.php + + - + message: "#^Cannot access property \\$value on mixed\\.$#" + count: 1 + path: library/Reporting/Reportlet.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Reportlet\\:\\:getConfig\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Reportlet.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Reportlet\\:\\:getImplementation\\(\\) should return Icinga\\\\Module\\\\Reporting\\\\Hook\\\\ReportHook but returns object\\.$#" + count: 1 + path: library/Reporting/Reportlet.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Reportlet\\:\\:\\$class \\(string\\) does not accept mixed\\.$#" + count: 1 + path: library/Reporting/Reportlet.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Reportlet\\:\\:\\$config type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Reportlet.php + + - + message: "#^Cannot access property \\$parentNode on DOMElement\\|null\\.$#" + count: 3 + path: library/Reporting/Reports/SystemReport.php + + - + message: "#^Cannot call method removeChild\\(\\) on DOMNode\\|null\\.$#" + count: 3 + path: library/Reporting/Reports/SystemReport.php + + - + message: "#^Cannot call method setAttribute\\(\\) on DOMElement\\|null\\.$#" + count: 1 + path: library/Reporting/Reports/SystemReport.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Reports\\\\SystemReport\\:\\:getHtml\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Reports/SystemReport.php + + - + message: "#^Parameter \\#1 \\$content of class ipl\\\\Html\\\\HtmlString constructor expects string, string\\|false given\\.$#" + count: 1 + path: library/Reporting/Reports/SystemReport.php + + - + message: "#^Parameter \\#1 \\$source of method DOMDocument\\:\\:loadHTML\\(\\) expects string, string\\|false given\\.$#" + count: 1 + path: library/Reporting/Reports/SystemReport.php + + - + message: "#^Parameter \\#1 \\$string of function nl2br expects string, string\\|false given\\.$#" + count: 1 + path: library/Reporting/Reports/SystemReport.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\RetryConnection\\:\\:prepexec\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/RetryConnection.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Schedule\\:\\:__construct\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Schedule.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Schedule\\:\\:getConfig\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Schedule.php + + - + message: "#^Parameter \\#1 \\$json of static method Icinga\\\\Util\\\\Json\\:\\:decode\\(\\) expects string, mixed given\\.$#" + count: 1 + path: library/Reporting/Schedule.php + + - + message: "#^Part \\$scheduleModel\\-\\>id \\(mixed\\) of encapsed string cannot be cast to string\\.$#" + count: 1 + path: library/Reporting/Schedule.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Schedule\\:\\:\\$config type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Schedule.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Schedule\\:\\:\\$id \\(int\\) does not accept mixed\\.$#" + count: 1 + path: library/Reporting/Schedule.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Str\\:\\:contains\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Str\\:\\:contains\\(\\) has parameter \\$haystack with no type specified\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Str\\:\\:contains\\(\\) has parameter \\$needle with no type specified\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Str\\:\\:putcsv\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Str\\:\\:putcsv\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Str\\:\\:putcsv\\(\\) has parameter \\$delimiter with no type specified\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Str\\:\\:putcsv\\(\\) has parameter \\$enclosure with no type specified\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Str\\:\\:putcsv\\(\\) has parameter \\$escape with no type specified\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Parameter \\#1 \\$stream of function fclose expects resource, resource\\|false given\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Parameter \\#1 \\$stream of function fputcsv expects resource, resource\\|false given\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Parameter \\#1 \\$stream of function rewind expects resource, resource\\|false given\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Parameter \\#1 \\$stream of function stream_get_contents expects resource, resource\\|false given\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Parameter \\#1 \\$string of function rtrim expects string, string\\|false given\\.$#" + count: 1 + path: library/Reporting/Str.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Timeframe\\:\\:getTimerange\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Timeframe.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Timeframe\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Timeframe.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Timeframe\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Timeframe.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Timeframe\\:\\:\\$end \\(string\\) does not accept mixed\\.$#" + count: 1 + path: library/Reporting/Timeframe.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Timeframe\\:\\:\\$id \\(int\\) does not accept mixed\\.$#" + count: 1 + path: library/Reporting/Timeframe.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Timeframe\\:\\:\\$name \\(string\\) does not accept mixed\\.$#" + count: 1 + path: library/Reporting/Timeframe.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Timeframe\\:\\:\\$start \\(string\\) does not accept mixed\\.$#" + count: 1 + path: library/Reporting/Timeframe.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Timeframe\\:\\:\\$title \\(string\\) does not accept mixed\\.$#" + count: 1 + path: library/Reporting/Timeframe.php + + - + message: "#^Cannot call method getUsername\\(\\) on Icinga\\\\User\\|null\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ReportForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ReportForm\\:\\:assemble\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ReportForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ReportForm\\:\\:fromId\\(\\) has parameter \\$id with no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ReportForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ReportForm\\:\\:listReports\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ReportForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ReportForm\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ReportForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ReportForm\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ReportForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ReportForm\\:\\:onSuccess\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ReportForm.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ReportForm\\:\\:\\$id has no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ReportForm.php + + - + message: "#^Call to an undefined method object\\:\\:execute\\(\\)\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ScheduleForm.php + + - + message: "#^Cannot call method getUsername\\(\\) on Icinga\\\\User\\|null\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ScheduleForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ScheduleForm\\:\\:assemble\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ScheduleForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ScheduleForm\\:\\:getPartUpdates\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ScheduleForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ScheduleForm\\:\\:listActions\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ScheduleForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ScheduleForm\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ScheduleForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ScheduleForm\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ScheduleForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\ScheduleForm\\:\\:onSuccess\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ScheduleForm.php + + - + message: "#^Parameter \\#1 \\$request of method ipl\\\\Web\\\\FormElement\\\\ScheduleElement\\:\\:prepareMultipartUpdate\\(\\) expects Psr\\\\Http\\\\Message\\\\RequestInterface, Psr\\\\Http\\\\Message\\\\ServerRequestInterface\\|null given\\.$#" + count: 1 + path: library/Reporting/Web/Forms/ScheduleForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\SendForm\\:\\:assemble\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/SendForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\SendForm\\:\\:listReports\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/SendForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\SendForm\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/SendForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\SendForm\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/SendForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\SendForm\\:\\:onSuccess\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/SendForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\SendForm\\:\\:setReport\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/SendForm.php + + - + message: "#^Cannot call method getUsername\\(\\) on Icinga\\\\User\\|null\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TemplateForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TemplateForm\\:\\:addColumnSettings\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TemplateForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TemplateForm\\:\\:addColumnSettings\\(\\) has parameter \\$label with no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TemplateForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TemplateForm\\:\\:addColumnSettings\\(\\) has parameter \\$name with no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TemplateForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TemplateForm\\:\\:assemble\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TemplateForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TemplateForm\\:\\:fromTemplate\\(\\) has parameter \\$template with no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TemplateForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TemplateForm\\:\\:getTemplate\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TemplateForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TemplateForm\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TemplateForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TemplateForm\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TemplateForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TemplateForm\\:\\:onSuccess\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TemplateForm.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TemplateForm\\:\\:\\$template has no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TemplateForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TimeframeForm\\:\\:assemble\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TimeframeForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TimeframeForm\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TimeframeForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TimeframeForm\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TimeframeForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Forms\\\\TimeframeForm\\:\\:onSuccess\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Forms/TimeframeForm.php + + - + message: "#^Parameter \\#2 \\$datetime of static method DateTime\\:\\:createFromFormat\\(\\) expects string, mixed given\\.$#" + count: 2 + path: library/Reporting/Web/Forms/TimeframeForm.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CompatDropdown\\:\\:addLink\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Web/Widget/CompatDropdown.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:assemble\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/CoverPage.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:getBackgroundImage\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Web/Widget/CoverPage.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:getLogo\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Web/Widget/CoverPage.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:hasTitle\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/CoverPage.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:resolveMacros\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/CoverPage.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:resolveMacros\\(\\) has parameter \\$subject with no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/CoverPage.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:setBackgroundImage\\(\\) has parameter \\$backgroundImage with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Web/Widget/CoverPage.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:setLogo\\(\\) has parameter \\$logo with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Web/Widget/CoverPage.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:\\$backgroundImage type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Web/Widget/CoverPage.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:\\$logo type has no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Web/Widget/CoverPage.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:\\$macros has no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/CoverPage.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:__construct\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:__construct\\(\\) has parameter \\$type with no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:assemble\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:createColumn\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:createColumn\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:createColumn\\(\\) has parameter \\$key with no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:resolveMacros\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:resolveMacros\\(\\) has parameter \\$subject with no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:resolveVariable\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:resolveVariable\\(\\) has parameter \\$variable with no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:\\$data has no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:\\$macros has no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:\\$tag has no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter\\:\\:\\$type has no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/HeaderOrFooter.php + + - + message: "#^Cannot access offset 'color' on mixed\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Cannot access offset 'cover_page_logo' on mixed\\.$#" + count: 2 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Cannot access offset 'cover_pageā€¦' on mixed\\.$#" + count: 2 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Cannot access offset 'title' on mixed\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\Template\\:\\:assemble\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\Template\\:\\:getDataUrl\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\Template\\:\\:getDataUrl\\(\\) has parameter \\$image with no value type specified in iterable type array\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\Template\\:\\:listTemplates\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\Template\\:\\:listTimeframes\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\Template\\:\\:resolveMacros\\(\\) has no return type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\Template\\:\\:resolveMacros\\(\\) has parameter \\$subject with no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Parameter \\#1 \\$backgroundImage of method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:setBackgroundImage\\(\\) expects array, mixed given\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Parameter \\#1 \\$color of method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:setColor\\(\\) expects string, mixed given\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Parameter \\#1 \\$json of function json_decode expects string, mixed given\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Parameter \\#1 \\$logo of method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:setLogo\\(\\) expects array, mixed given\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Parameter \\#1 \\$title of method Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\CoverPage\\:\\:setTitle\\(\\) expects string, mixed given\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Parameter \\#2 \\$data of class Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\HeaderOrFooter constructor expects array, mixed given\\.$#" + count: 2 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\Template\\:\\:\\$macros has no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php + + - + message: "#^Property Icinga\\\\Module\\\\Reporting\\\\Web\\\\Widget\\\\Template\\:\\:\\$preview has no type specified\\.$#" + count: 1 + path: library/Reporting/Web/Widget/Template.php diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 00000000..16cac333 --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,29 @@ +includes: + - phpstan-baseline.neon + +parameters: + level: max + + checkFunctionNameCase: true + checkInternalClassCaseSensitivity: true + treatPhpDocTypesAsCertain: false + + paths: + - application + - library + + scanDirectories: + - vendor + + ignoreErrors: + - + messages: + - '#Unsafe usage of new static\(\)#' + - '#. but return statement is missing#' + reportUnmatched: false + + - '#Call to an undefined method Icinga\\Module\\Reporting\\RetryConnection::lastInsertId\(\)#' + + universalObjectCratesClasses: + - Icinga\Web\View + - ipl\Orm\Model