diff --git a/application/controllers/CommentController.php b/application/controllers/CommentController.php index b184d6b9..ab79ce23 100644 --- a/application/controllers/CommentController.php +++ b/application/controllers/CommentController.php @@ -10,7 +10,7 @@ use Icinga\Module\Icingadb\Common\Links; use Icinga\Module\Icingadb\Model\Comment; use Icinga\Module\Icingadb\Web\Controller; use Icinga\Module\Icingadb\Widget\Detail\CommentDetail; -use Icinga\Module\Icingadb\Widget\ItemList\CommentList; +use Icinga\Module\Icingadb\Widget\Detail\ObjectHeader; use ipl\Stdlib\Filter; use ipl\Web\Url; @@ -49,13 +49,9 @@ class CommentController extends Controller public function indexAction() { - $this->addControl((new CommentList([$this->comment])) - ->setViewMode('minimal') - ->setDetailActionsDisabled() - ->setCaptionDisabled() - ->setNoSubjectLink()); + $this->addControl(new ObjectHeader($this->comment)); - $this->addContent((new CommentDetail($this->comment))->setTicketLinkEnabled()); + $this->addContent(new CommentDetail($this->comment)); $this->setAutorefreshInterval(10); } diff --git a/application/controllers/CommentsController.php b/application/controllers/CommentsController.php index 2358423d..a7c23e2b 100644 --- a/application/controllers/CommentsController.php +++ b/application/controllers/CommentsController.php @@ -10,8 +10,8 @@ use Icinga\Module\Icingadb\Forms\Command\Object\DeleteCommentForm; use Icinga\Module\Icingadb\Model\Comment; use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Controller; -use Icinga\Module\Icingadb\Widget\ItemList\CommentList; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Icinga\Module\Icingadb\Widget\ShowMore; use ipl\Web\Control\LimitControl; use ipl\Web\Control\SortControl; @@ -81,7 +81,10 @@ class CommentsController extends Controller $results = $comments->execute(); - $this->addContent((new CommentList($results))->setViewMode($viewModeSwitcher->getViewMode())); + $this->addContent( + (new ObjectList($results)) + ->setViewMode($viewModeSwitcher->getViewMode()) + ); if ($compact) { $this->addContent( @@ -156,7 +159,11 @@ class CommentsController extends Controller $rs = $comments->execute(); - $this->addControl((new CommentList($rs))->setViewMode('minimal')); + $this->addControl( + (new ObjectList($rs)) + ->setViewMode('minimal') + ->setDetailActionsDisabled() + ); $this->addControl(new ShowMore( $rs, diff --git a/application/controllers/DowntimeController.php b/application/controllers/DowntimeController.php index a0a7fa07..d796df2c 100644 --- a/application/controllers/DowntimeController.php +++ b/application/controllers/DowntimeController.php @@ -10,7 +10,7 @@ use Icinga\Module\Icingadb\Common\Links; use Icinga\Module\Icingadb\Model\Downtime; use Icinga\Module\Icingadb\Web\Controller; use Icinga\Module\Icingadb\Widget\Detail\DowntimeDetail; -use Icinga\Module\Icingadb\Widget\ItemList\DowntimeList; +use Icinga\Module\Icingadb\Widget\Detail\ObjectHeader; use ipl\Stdlib\Filter; use ipl\Web\Url; @@ -61,11 +61,7 @@ class DowntimeController extends Controller { $detail = new DowntimeDetail($this->downtime); - $this->addControl((new DowntimeList([$this->downtime])) - ->setViewMode('minimal') - ->setDetailActionsDisabled() - ->setCaptionDisabled() - ->setNoSubjectLink()); + $this->addControl(new ObjectHeader($this->downtime)); $this->addContent($detail); diff --git a/application/controllers/DowntimesController.php b/application/controllers/DowntimesController.php index c045ffb4..2b7d9a5e 100644 --- a/application/controllers/DowntimesController.php +++ b/application/controllers/DowntimesController.php @@ -10,8 +10,8 @@ use Icinga\Module\Icingadb\Forms\Command\Object\DeleteDowntimeForm; use Icinga\Module\Icingadb\Model\Downtime; use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Controller; -use Icinga\Module\Icingadb\Widget\ItemList\DowntimeList; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Icinga\Module\Icingadb\Widget\ShowMore; use ipl\Web\Control\LimitControl; use ipl\Web\Control\SortControl; @@ -87,7 +87,10 @@ class DowntimesController extends Controller $results = $downtimes->execute(); - $this->addContent((new DowntimeList($results))->setViewMode($viewModeSwitcher->getViewMode())); + $this->addContent( + (new ObjectList($results)) + ->setViewMode($viewModeSwitcher->getViewMode()) + ); if ($compact) { $this->addContent( @@ -162,7 +165,11 @@ class DowntimesController extends Controller $rs = $downtimes->execute(); - $this->addControl((new DowntimeList($rs))->setViewMode('minimal')); + $this->addControl( + (new ObjectList($rs)) + ->setViewMode('minimal') + ->setDetailActionsDisabled() + ); $this->addControl(new ShowMore( $rs, diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php index 7108606d..ae325621 100644 --- a/application/controllers/EventController.php +++ b/application/controllers/EventController.php @@ -4,12 +4,10 @@ namespace Icinga\Module\Icingadb\Controllers; -use ArrayObject; use Icinga\Module\Icingadb\Model\History; use Icinga\Module\Icingadb\Web\Controller; use Icinga\Module\Icingadb\Widget\Detail\EventDetail; -use Icinga\Module\Icingadb\Widget\ItemList\HistoryList; -use ipl\Orm\ResultSet; +use Icinga\Module\Icingadb\Widget\Detail\ObjectHeader; use ipl\Stdlib\Filter; class EventController extends Controller @@ -60,12 +58,7 @@ class EventController extends Controller public function indexAction() { - $this->addControl((new HistoryList(new ResultSet(new ArrayObject([$this->event])))) - ->setViewMode('minimal') - ->setPageSize(1) - ->setCaptionDisabled() - ->setNoSubjectLink() - ->setDetailActionsDisabled()); - $this->addContent((new EventDetail($this->event))->setTicketLinkEnabled()); + $this->addControl(new ObjectHeader($this->event)); + $this->addContent(new EventDetail($this->event)); } } diff --git a/application/controllers/HistoryController.php b/application/controllers/HistoryController.php index a1b873b2..08a96889 100644 --- a/application/controllers/HistoryController.php +++ b/application/controllers/HistoryController.php @@ -8,8 +8,8 @@ use GuzzleHttp\Psr7\ServerRequest; use Icinga\Module\Icingadb\Model\History; use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Controller; -use Icinga\Module\Icingadb\Widget\ItemList\HistoryList; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; +use Icinga\Module\Icingadb\Widget\ItemList\LoadMoreObjectList; use ipl\Stdlib\Filter; use ipl\Web\Control\LimitControl; use ipl\Web\Control\SortControl; @@ -98,7 +98,7 @@ class HistoryController extends Controller ->onlyWith($preserveParams) ->setFilter($filter); - $historyList = (new HistoryList($history->execute())) + $historyList = (new LoadMoreObjectList($history->execute())) ->setPageSize($limitControl->getLimit()) ->setViewMode($viewModeSwitcher->getViewMode()) ->setLoadMoreUrl($url->setParam('before', $before)); diff --git a/application/controllers/HostController.php b/application/controllers/HostController.php index ed716fd8..1fa4a24c 100644 --- a/application/controllers/HostController.php +++ b/application/controllers/HostController.php @@ -26,11 +26,10 @@ use Icinga\Module\Icingadb\Web\Controller; use Icinga\Module\Icingadb\Widget\Detail\HostDetail; use Icinga\Module\Icingadb\Widget\Detail\HostInspectionDetail; use Icinga\Module\Icingadb\Widget\Detail\HostMetaInfo; +use Icinga\Module\Icingadb\Widget\Detail\ObjectHeader; use Icinga\Module\Icingadb\Widget\Detail\QuickActions; -use Icinga\Module\Icingadb\Widget\ItemList\DependencyNodeList; -use Icinga\Module\Icingadb\Widget\ItemList\HostList; -use Icinga\Module\Icingadb\Widget\ItemList\HistoryList; -use Icinga\Module\Icingadb\Widget\ItemList\ServiceList; +use Icinga\Module\Icingadb\Widget\ItemList\LoadMoreObjectList; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use ipl\Orm\Query; use ipl\Sql\Expression; use ipl\Sql\Filter\Exists; @@ -69,10 +68,7 @@ class HostController extends Controller $this->host = $host; $this->loadTabsForObject($host); - $this->addControl((new HostList([$host])) - ->setViewMode('objectHeader') - ->setDetailActionsDisabled() - ->setNoSubjectLink()); + $this->addControl(new ObjectHeader($host)); $this->setTitleTab($this->getRequest()->getActionName()); $this->setTitle($host->display_name); @@ -171,7 +167,7 @@ class HostController extends Controller $this->addControl($limitControl); $this->addControl($viewModeSwitcher); - $historyList = (new HistoryList($history->execute())) + $historyList = (new LoadMoreObjectList($history->execute())) ->setViewMode($viewModeSwitcher->getViewMode()) ->setPageSize($limitControl->getLimit()) ->setLoadMoreUrl($url->setParam('before', $before)); @@ -223,7 +219,7 @@ class HostController extends Controller yield $this->export($services); - $serviceList = (new ServiceList($services)) + $serviceList = (new ObjectList($services)) ->setViewMode($viewModeSwitcher->getViewMode()); $this->addControl($paginationControl); @@ -288,7 +284,7 @@ class HostController extends Controller $this->addControl($searchBar); $this->addContent( - (new DependencyNodeList($nodesQuery)) + (new ObjectList($nodesQuery)) ->setViewMode($viewModeSwitcher->getViewMode()) ); @@ -358,7 +354,7 @@ class HostController extends Controller $this->addControl($searchBar); $this->addContent( - (new DependencyNodeList($nodesQuery)) + (new ObjectList($nodesQuery)) ->setViewMode($viewModeSwitcher->getViewMode()) ); @@ -537,7 +533,7 @@ class HostController extends Controller protected function getDefaultTabControls(): array { - return [(new HostList([$this->host]))->setDetailActionsDisabled()->setNoSubjectLink()]; + return [new ObjectHeader($this->host)]; } /** diff --git a/application/controllers/HostgroupController.php b/application/controllers/HostgroupController.php index e48adca2..dbf75dda 100644 --- a/application/controllers/HostgroupController.php +++ b/application/controllers/HostgroupController.php @@ -12,7 +12,8 @@ use Icinga\Module\Icingadb\Redis\VolatileStateResults; use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; use Icinga\Module\Icingadb\Web\Controller; -use Icinga\Module\Icingadb\Widget\ItemList\HostList; +use Icinga\Module\Icingadb\Widget\Detail\ObjectHeader; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Icinga\Module\Icingadb\Widget\ItemTable\HostgroupTableRow; use ipl\Html\Html; use ipl\Stdlib\Filter; @@ -109,15 +110,15 @@ class HostgroupController extends Controller yield $this->export($hosts); - $hostList = (new HostList($hosts->execute())) + $hostList = (new ObjectList($hosts)) ->setViewMode($viewModeSwitcher->getViewMode()); // ICINGAWEB_EXPORT_FORMAT is not set yet and $this->format is inaccessible, yeah... if ($this->getRequest()->getParam('format') === 'pdf') { - $this->addContent(new HostgroupTableRow($hostgroup)); + $this->addContent(new ObjectHeader($hostgroup)); $this->addContent(Html::tag('h2', null, t('Hosts'))); } else { - $this->addControl(new HostgroupTableRow($hostgroup)); + $this->addControl(new ObjectHeader($hostgroup)); } $this->addControl($paginationControl); diff --git a/application/controllers/HostgroupsController.php b/application/controllers/HostgroupsController.php index 700c6fd7..94df4a78 100644 --- a/application/controllers/HostgroupsController.php +++ b/application/controllers/HostgroupsController.php @@ -7,10 +7,13 @@ namespace Icinga\Module\Icingadb\Controllers; use GuzzleHttp\Psr7\ServerRequest; use Icinga\Module\Icingadb\Model\Hostgroup; use Icinga\Module\Icingadb\Model\Hostgroupsummary; +use Icinga\Module\Icingadb\View\HostgroupGridRenderer; +use Icinga\Module\Icingadb\View\HostgroupRenderer; use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Controller; -use Icinga\Module\Icingadb\Widget\ItemTable\HostgroupTable; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; +use Icinga\Module\Icingadb\Widget\ItemTable\ObjectGrid; +use Icinga\Module\Icingadb\Widget\ItemTable\ObjectTable; use Icinga\Module\Icingadb\Widget\ShowMore; use ipl\Web\Control\LimitControl; use ipl\Web\Control\SortControl; @@ -99,11 +102,13 @@ class HostgroupsController extends Controller $results = $hostgroups->execute(); - $this->addContent( - (new HostgroupTable($results)) - ->setBaseFilter($filter) - ->setViewMode($viewModeSwitcher->getViewMode()) - ); + if ($viewModeSwitcher->getViewMode() === 'grid') { + $content = new ObjectGrid($results, (new HostgroupGridRenderer())->setBaseFilter($filter)); + } else { + $content = new ObjectTable($results, (new HostgroupRenderer())->setBaseFilter($filter)); + } + + $this->addContent($content); if ($compact) { $this->addContent( diff --git a/application/controllers/HostsController.php b/application/controllers/HostsController.php index fff7139a..226e6db8 100644 --- a/application/controllers/HostsController.php +++ b/application/controllers/HostsController.php @@ -15,8 +15,8 @@ use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Controller; use Icinga\Module\Icingadb\Widget\Detail\MultiselectQuickActions; use Icinga\Module\Icingadb\Widget\Detail\ObjectsDetail; -use Icinga\Module\Icingadb\Widget\ItemList\HostList; use Icinga\Module\Icingadb\Widget\HostStatusBar; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Icinga\Module\Icingadb\Widget\ItemTable\HostItemTable; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; use Icinga\Module\Icingadb\Widget\ShowMore; @@ -104,7 +104,7 @@ class HostsController extends Controller $hostList = (new HostItemTable($results, HostItemTable::applyColumnMetaData($hosts, $columns))) ->setSort($sortControl->getSort()); } else { - $hostList = (new HostList($results)) + $hostList = (new ObjectList($results)) ->setViewMode($viewModeSwitcher->getViewMode()); } @@ -166,7 +166,7 @@ class HostsController extends Controller $summary->comments_total = $comments->count(); $this->addControl( - (new HostList($results)) + (new ObjectList($results)) ->setViewMode('minimal') ->setDetailActionsDisabled() ); diff --git a/application/controllers/NotificationsController.php b/application/controllers/NotificationsController.php index 2d23604c..ba805a5a 100644 --- a/application/controllers/NotificationsController.php +++ b/application/controllers/NotificationsController.php @@ -8,13 +8,11 @@ use GuzzleHttp\Psr7\ServerRequest; use Icinga\Module\Icingadb\Model\NotificationHistory; use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Controller; -use Icinga\Module\Icingadb\Widget\ItemList\NotificationList; +use Icinga\Module\Icingadb\Widget\ItemList\LoadMoreObjectList; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; -use ipl\Sql\Sql; use ipl\Stdlib\Filter; use ipl\Web\Control\LimitControl; use ipl\Web\Control\SortControl; -use ipl\Web\Filter\QueryString; use ipl\Web\Url; class NotificationsController extends Controller @@ -94,7 +92,7 @@ class NotificationsController extends Controller ->onlyWith($preserveParams) ->setFilter($filter); - $notificationList = (new NotificationList($notifications->execute())) + $notificationList = (new LoadMoreObjectList($notifications->execute())) ->setPageSize($limitControl->getLimit()) ->setViewMode($viewModeSwitcher->getViewMode()) ->setLoadMoreUrl($url->setParam('before', $before)); diff --git a/application/controllers/RedundancygroupController.php b/application/controllers/RedundancygroupController.php index 2c368891..1ef14a54 100644 --- a/application/controllers/RedundancygroupController.php +++ b/application/controllers/RedundancygroupController.php @@ -14,8 +14,8 @@ use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; use Icinga\Module\Icingadb\Web\Controller; use Icinga\Module\Icingadb\Widget\Detail\MultiselectQuickActions; use Icinga\Module\Icingadb\Widget\Detail\RedundancyGroupDetail; -use Icinga\Module\Icingadb\Widget\Detail\RedundancyGroupHeader; -use Icinga\Module\Icingadb\Widget\ItemList\DependencyNodeList; +use Icinga\Module\Icingadb\Widget\Detail\ObjectHeader; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Generator; use ipl\Orm\Query; use ipl\Stdlib\Filter; @@ -68,14 +68,9 @@ class RedundancygroupController extends Controller $this->setTitleTab($this->getRequest()->getActionName()); $this->setTitle($this->group->display_name); - $summary = RedundancyGroupSummary::on($this->getDb()) - ->filter(Filter::equal('id', $this->groupId)); + $this->groupSummary = $this->group->summary; - $this->applyRestrictions($summary); - - $this->groupSummary = $summary->first(); - - $this->addControl(new RedundancyGroupHeader($this->group, $this->groupSummary)); + $this->addControl(new ObjectHeader($this->group)); } public function indexAction(): void @@ -145,7 +140,7 @@ class RedundancygroupController extends Controller $this->addControl($searchBar); $this->addContent( - (new DependencyNodeList($nodesQuery)) + (new ObjectList($nodesQuery)) ->setViewMode($viewModeSwitcher->getViewMode()) ); @@ -214,7 +209,7 @@ class RedundancygroupController extends Controller $this->addControl($searchBar); $this->addContent( - (new DependencyNodeList($nodesQuery)) + (new ObjectList($nodesQuery)) ->setViewMode($viewModeSwitcher->getViewMode()) ); diff --git a/application/controllers/ServiceController.php b/application/controllers/ServiceController.php index c7c540a8..f75fc74d 100644 --- a/application/controllers/ServiceController.php +++ b/application/controllers/ServiceController.php @@ -20,13 +20,13 @@ use Icinga\Module\Icingadb\Redis\VolatileStateResults; use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; use Icinga\Module\Icingadb\Web\Controller; +use Icinga\Module\Icingadb\Widget\Detail\ObjectHeader; use Icinga\Module\Icingadb\Widget\Detail\QuickActions; use Icinga\Module\Icingadb\Widget\Detail\ServiceDetail; use Icinga\Module\Icingadb\Widget\Detail\ServiceInspectionDetail; use Icinga\Module\Icingadb\Widget\Detail\ServiceMetaInfo; -use Icinga\Module\Icingadb\Widget\ItemList\DependencyNodeList; -use Icinga\Module\Icingadb\Widget\ItemList\HistoryList; -use Icinga\Module\Icingadb\Widget\ItemList\ServiceList; +use Icinga\Module\Icingadb\Widget\ItemList\LoadMoreObjectList; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use ipl\Orm\Query; use ipl\Sql\Expression; use ipl\Stdlib\Filter; @@ -79,10 +79,7 @@ class ServiceController extends Controller $this->service = $service; $this->loadTabsForObject($service); - $this->addControl((new ServiceList([$service])) - ->setViewMode('objectHeader') - ->setDetailActionsDisabled() - ->setNoSubjectLink()); + $this->addControl(new ObjectHeader($service)); $this->setTitleTab($this->getRequest()->getActionName()); $this->setTitle( @@ -159,7 +156,7 @@ class ServiceController extends Controller $this->addControl($searchBar); $this->addContent( - (new DependencyNodeList($nodesQuery)) + (new ObjectList($nodesQuery)) ->setViewMode($viewModeSwitcher->getViewMode()) ); @@ -230,7 +227,7 @@ class ServiceController extends Controller $this->addControl($searchBar); $this->addContent( - (new DependencyNodeList($nodesQuery)) + (new ObjectList($nodesQuery)) ->setViewMode($viewModeSwitcher->getViewMode()) ); @@ -316,7 +313,7 @@ class ServiceController extends Controller $this->addControl($limitControl); $this->addControl($viewModeSwitcher); - $historyList = (new HistoryList($history->execute())) + $historyList = (new LoadMoreObjectList($history->execute())) ->setViewMode($viewModeSwitcher->getViewMode()) ->setPageSize($limitControl->getLimit()) ->setLoadMoreUrl($url->setParam('before', $before)); @@ -515,6 +512,6 @@ class ServiceController extends Controller protected function getDefaultTabControls(): array { - return [(new ServiceList([$this->service]))->setDetailActionsDisabled()->setNoSubjectLink()]; + return [new ObjectHeader($this->service)]; } } diff --git a/application/controllers/ServicegroupController.php b/application/controllers/ServicegroupController.php index c3dea15b..b4359f83 100644 --- a/application/controllers/ServicegroupController.php +++ b/application/controllers/ServicegroupController.php @@ -12,8 +12,8 @@ use Icinga\Module\Icingadb\Redis\VolatileStateResults; use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; use Icinga\Module\Icingadb\Web\Controller; -use Icinga\Module\Icingadb\Widget\ItemList\ServiceList; -use Icinga\Module\Icingadb\Widget\ItemTable\ServicegroupTableRow; +use Icinga\Module\Icingadb\Widget\Detail\ObjectHeader; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use ipl\Html\Html; use ipl\Stdlib\Filter; use ipl\Web\Control\LimitControl; @@ -117,15 +117,15 @@ class ServicegroupController extends Controller yield $this->export($services); - $serviceList = (new ServiceList($services->execute())) + $serviceList = (new ObjectList($services)) ->setViewMode($viewModeSwitcher->getViewMode()); // ICINGAWEB_EXPORT_FORMAT is not set yet and $this->format is inaccessible, yeah... if ($this->getRequest()->getParam('format') === 'pdf') { - $this->addContent(new ServicegroupTableRow($servicegroup)); + $this->addContent(new ObjectHeader($servicegroup)); $this->addContent(Html::tag('h2', null, t('Services'))); } else { - $this->addControl(new ServicegroupTableRow($servicegroup)); + $this->addControl(new ObjectHeader($servicegroup)); } $this->addControl($paginationControl); diff --git a/application/controllers/ServicegroupsController.php b/application/controllers/ServicegroupsController.php index 299d001b..0134c034 100644 --- a/application/controllers/ServicegroupsController.php +++ b/application/controllers/ServicegroupsController.php @@ -7,14 +7,19 @@ namespace Icinga\Module\Icingadb\Controllers; use GuzzleHttp\Psr7\ServerRequest; use Icinga\Module\Icingadb\Model\Servicegroup; use Icinga\Module\Icingadb\Model\ServicegroupSummary; +use Icinga\Module\Icingadb\View\ServicegroupGridRenderer; +use Icinga\Module\Icingadb\View\ServicegroupRenderer; use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Controller; -use Icinga\Module\Icingadb\Widget\ItemTable\ServicegroupTable; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; +use Icinga\Module\Icingadb\Widget\ItemTable\ObjectGrid; +use Icinga\Module\Icingadb\Widget\ItemTable\ObjectTable; use Icinga\Module\Icingadb\Widget\ShowMore; +use ipl\Html\Attributes; use ipl\Web\Control\LimitControl; use ipl\Web\Control\SortControl; use ipl\Web\Url; +use ipl\Web\Widget\ItemList; class ServicegroupsController extends Controller { @@ -87,11 +92,13 @@ class ServicegroupsController extends Controller $results = $servicegroups->execute(); - $this->addContent( - (new ServicegroupTable($results)) - ->setBaseFilter($filter) - ->setViewMode($viewModeSwitcher->getViewMode()) - ); + if ($viewModeSwitcher->getViewMode() === 'grid') { + $content = new ObjectGrid($results, (new ServicegroupGridRenderer())->setBaseFilter($filter)); + } else { + $content = new ObjectTable($results, (new ServicegroupRenderer())->setBaseFilter($filter)); + } + + $this->addContent($content); if ($compact) { $this->addContent( diff --git a/application/controllers/ServicesController.php b/application/controllers/ServicesController.php index c39f8b5d..04b93056 100644 --- a/application/controllers/ServicesController.php +++ b/application/controllers/ServicesController.php @@ -17,7 +17,7 @@ use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Controller; use Icinga\Module\Icingadb\Widget\Detail\MultiselectQuickActions; use Icinga\Module\Icingadb\Widget\Detail\ObjectsDetail; -use Icinga\Module\Icingadb\Widget\ItemList\ServiceList; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Icinga\Module\Icingadb\Widget\ItemTable\ServiceItemTable; use Icinga\Module\Icingadb\Widget\ServiceStatusBar; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; @@ -115,7 +115,7 @@ class ServicesController extends Controller $serviceList = (new ServiceItemTable($results, ServiceItemTable::applyColumnMetaData($services, $columns))) ->setSort($sortControl->getSort()); } else { - $serviceList = (new ServiceList($results)) + $serviceList = (new ObjectList($results)) ->setViewMode($viewModeSwitcher->getViewMode()); } @@ -182,7 +182,7 @@ class ServicesController extends Controller $summary->comments_total = $comments->count(); $this->addControl( - (new ServiceList($results)) + (new ObjectList($results)) ->setViewMode('minimal') ->setDetailActionsDisabled() ); diff --git a/application/controllers/UserController.php b/application/controllers/UserController.php index a80f2b45..6afc0921 100644 --- a/application/controllers/UserController.php +++ b/application/controllers/UserController.php @@ -7,8 +7,8 @@ namespace Icinga\Module\Icingadb\Controllers; use Icinga\Exception\NotFoundError; use Icinga\Module\Icingadb\Model\User; use Icinga\Module\Icingadb\Web\Controller; +use Icinga\Module\Icingadb\Widget\Detail\ObjectHeader; use Icinga\Module\Icingadb\Widget\Detail\UserDetail; -use Icinga\Module\Icingadb\Widget\ItemTable\UserTableRow; use ipl\Stdlib\Filter; class UserController extends Controller @@ -40,7 +40,7 @@ class UserController extends Controller public function indexAction() { - $this->addControl(new UserTableRow($this->user)); + $this->addControl(new ObjectHeader($this->user)); $this->addContent(new UserDetail($this->user)); $this->setAutorefreshInterval(10); diff --git a/application/controllers/UsergroupController.php b/application/controllers/UsergroupController.php index 8c3fed8b..9ea90b9b 100644 --- a/application/controllers/UsergroupController.php +++ b/application/controllers/UsergroupController.php @@ -7,8 +7,8 @@ namespace Icinga\Module\Icingadb\Controllers; use Icinga\Exception\NotFoundError; use Icinga\Module\Icingadb\Model\Usergroup; use Icinga\Module\Icingadb\Web\Controller; +use Icinga\Module\Icingadb\Widget\Detail\ObjectHeader; use Icinga\Module\Icingadb\Widget\Detail\UsergroupDetail; -use Icinga\Module\Icingadb\Widget\ItemTable\UsergroupTableRow; use ipl\Stdlib\Filter; class UsergroupController extends Controller @@ -40,7 +40,7 @@ class UsergroupController extends Controller public function indexAction() { - $this->addControl(new UsergroupTableRow($this->usergroup)); + $this->addControl(new ObjectHeader($this->usergroup)); $this->addContent(new UsergroupDetail($this->usergroup)); $this->setAutorefreshInterval(10); diff --git a/application/controllers/UsergroupsController.php b/application/controllers/UsergroupsController.php index 99a73a96..4a024117 100644 --- a/application/controllers/UsergroupsController.php +++ b/application/controllers/UsergroupsController.php @@ -8,10 +8,11 @@ use GuzzleHttp\Psr7\ServerRequest; use Icinga\Module\Icingadb\Model\Usergroup; use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Controller; -use Icinga\Module\Icingadb\Widget\ItemTable\UsergroupTable; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; use ipl\Web\Control\LimitControl; use ipl\Web\Control\SortControl; +use ipl\Web\Url; class UsergroupsController extends Controller { @@ -64,7 +65,7 @@ class UsergroupsController extends Controller $this->addControl($limitControl); $this->addControl($searchBar); - $this->addContent(new UsergroupTable($usergroups)); + $this->addContent(new ObjectList($usergroups)); if (! $searchBar->hasBeenSubmitted() && $searchBar->hasBeenSent()) { $this->sendMultipartUpdate(); diff --git a/application/controllers/UsersController.php b/application/controllers/UsersController.php index 83ee96dc..ea4a87f3 100644 --- a/application/controllers/UsersController.php +++ b/application/controllers/UsersController.php @@ -8,10 +8,11 @@ use GuzzleHttp\Psr7\ServerRequest; use Icinga\Module\Icingadb\Model\User; use Icinga\Module\Icingadb\Web\Control\SearchBar\ObjectSuggestions; use Icinga\Module\Icingadb\Web\Controller; -use Icinga\Module\Icingadb\Widget\ItemTable\UserTable; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Icinga\Module\Icingadb\Web\Control\ViewModeSwitcher; use ipl\Web\Control\LimitControl; use ipl\Web\Control\SortControl; +use ipl\Web\Url; class UsersController extends Controller { @@ -66,7 +67,7 @@ class UsersController extends Controller $this->addControl($limitControl); $this->addControl($searchBar); - $this->addContent(new UserTable($users)); + $this->addContent(new ObjectList($users)); if (! $searchBar->hasBeenSubmitted() && $searchBar->hasBeenSent()) { $this->sendMultipartUpdate(); diff --git a/library/Icingadb/Common/CaptionDisabled.php b/library/Icingadb/Common/CaptionDisabled.php deleted file mode 100644 index 2cee178b..00000000 --- a/library/Icingadb/Common/CaptionDisabled.php +++ /dev/null @@ -1,31 +0,0 @@ -captionDisabled; - } - - /** - * @param bool $captionDisabled - * - * @return $this - */ - public function setCaptionDisabled(bool $captionDisabled = true): self - { - $this->captionDisabled = $captionDisabled; - - return $this; - } -} diff --git a/library/Icingadb/Common/ListItemCommonLayout.php b/library/Icingadb/Common/ListItemCommonLayout.php deleted file mode 100644 index 5a11be30..00000000 --- a/library/Icingadb/Common/ListItemCommonLayout.php +++ /dev/null @@ -1,26 +0,0 @@ -addHtml($this->createTitle()); - $header->add($this->createTimestamp()); - } - - protected function assembleMain(BaseHtmlElement $main): void - { - $main->addHtml($this->createHeader()); - if (!$this->isCaptionDisabled()) { - $main->addHtml($this->createCaption()); - } - } -} diff --git a/library/Icingadb/Common/ListItemDetailedLayout.php b/library/Icingadb/Common/ListItemDetailedLayout.php deleted file mode 100644 index 23aa0179..00000000 --- a/library/Icingadb/Common/ListItemDetailedLayout.php +++ /dev/null @@ -1,23 +0,0 @@ -add($this->createTitle()); - $header->add($this->createTimestamp()); - } - - protected function assembleMain(BaseHtmlElement $main): void - { - $main->add($this->createHeader()); - $main->add($this->createCaption()); - $main->add($this->createFooter()); - } -} diff --git a/library/Icingadb/Common/ListItemMinimalLayout.php b/library/Icingadb/Common/ListItemMinimalLayout.php deleted file mode 100644 index 3cdf3a9e..00000000 --- a/library/Icingadb/Common/ListItemMinimalLayout.php +++ /dev/null @@ -1,26 +0,0 @@ -add($this->createTitle()); - if (! $this->isCaptionDisabled()) { - $header->add($this->createCaption()); - } - $header->add($this->createTimestamp()); - } - - protected function assembleMain(BaseHtmlElement $main): void - { - $main->add($this->createHeader()); - } -} diff --git a/library/Icingadb/Common/NoSubjectLink.php b/library/Icingadb/Common/NoSubjectLink.php deleted file mode 100644 index 76c9a84d..00000000 --- a/library/Icingadb/Common/NoSubjectLink.php +++ /dev/null @@ -1,35 +0,0 @@ -noSubjectLink = $state; - - return $this; - } - - /** - * Get whether a list item's subject should be a link - * - * @return bool - */ - public function getNoSubjectLink(): bool - { - return $this->noSubjectLink; - } -} diff --git a/library/Icingadb/Common/ObjectLinkDisabled.php b/library/Icingadb/Common/ObjectLinkDisabled.php deleted file mode 100644 index ca8283f5..00000000 --- a/library/Icingadb/Common/ObjectLinkDisabled.php +++ /dev/null @@ -1,35 +0,0 @@ -objectLinkDisabled = $state; - - return $this; - } - - /** - * Get whether list items should render host and service links - * - * @return bool - */ - public function getObjectLinkDisabled(): bool - { - return $this->objectLinkDisabled; - } -} diff --git a/library/Icingadb/Common/TicketLinks.php b/library/Icingadb/Common/TicketLinks.php index 3fb01c60..b66c1b69 100644 --- a/library/Icingadb/Common/TicketLinks.php +++ b/library/Icingadb/Common/TicketLinks.php @@ -5,34 +5,35 @@ namespace Icinga\Module\Icingadb\Common; use Icinga\Application\Hook; +use Icinga\Application\Hook\TicketHook; trait TicketLinks { - /** @var bool */ - protected $ticketLinkEnabled = false; + /** @var bool Whether the ticket link is disabled */ + protected $ticketLinkDisabled = false; /** - * Set whether list items should render host and service links + * Set whether the ticket link is disabled * * @param bool $state * * @return $this */ - public function setTicketLinkEnabled(bool $state = true): self + public function setTicketLinkDisabled(bool $state = true): self { - $this->ticketLinkEnabled = $state; + $this->ticketLinkDisabled = $state; return $this; } /** - * Get whether list items should render host and service links + * Get whether the ticket link is disabled * * @return bool */ - public function getTicketLinkEnabled(): bool + public function isTicketLinkDisabled(): bool { - return $this->ticketLinkEnabled; + return $this->ticketLinkDisabled; } /** @@ -42,15 +43,13 @@ trait TicketLinks */ public function createTicketLinks($text): string { - if (Hook::has('ticket')) { - $tickets = Hook::first('ticket'); + if ($this->isTicketLinkDisabled() || ! Hook::has('ticket')) { + return $text ?? ''; } - if ($this->getTicketLinkEnabled() && isset($tickets)) { - /** @var \Icinga\Application\Hook\TicketHook $tickets */ - return $tickets->createLinks($text); - } + /** @var TicketHook $tickets */ + $tickets = Hook::first('ticket'); - return $text ?? ''; + return $tickets->createLinks($text); } } diff --git a/library/Icingadb/Common/ViewMode.php b/library/Icingadb/Common/ViewMode.php deleted file mode 100644 index 841f28b1..00000000 --- a/library/Icingadb/Common/ViewMode.php +++ /dev/null @@ -1,35 +0,0 @@ -viewMode; - } - - /** - * Set the view mode - * - * @param string $viewMode - * - * @return $this - */ - public function setViewMode(string $viewMode): self - { - $this->viewMode = $viewMode; - - return $this; - } -} diff --git a/library/Icingadb/Model/RedundancyGroup.php b/library/Icingadb/Model/RedundancyGroup.php index f1bd9015..885e288f 100644 --- a/library/Icingadb/Model/RedundancyGroup.php +++ b/library/Icingadb/Model/RedundancyGroup.php @@ -4,13 +4,16 @@ namespace Icinga\Module\Icingadb\Model; +use Icinga\Module\Icingadb\Common\Auth; +use Icinga\Module\Icingadb\Common\Backend; use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; -use ipl\Orm\Behavior\BoolCast; use ipl\Orm\Behaviors; +use ipl\Orm\Defaults; use ipl\Orm\Model; use ipl\Orm\Query; use ipl\Orm\Relations; +use ipl\Stdlib\Filter; /** * Redundancy group model. @@ -22,9 +25,13 @@ use ipl\Orm\Relations; * @property (?RedundancyGroupState)|Query $state * @property DependencyEdge|Query $from * @property DependencyEdge|Query $to + * + * @property RedundancyGroupSummary $summary */ class RedundancyGroup extends Model { + use Auth; + public function getTableName(): string { return 'redundancy_group'; @@ -78,4 +85,16 @@ class RedundancyGroup extends Model ->setTargetForeignKey('id') ->through(DependencyNode::class); } + + public function createDefaults(Defaults $defaults) + { + $defaults->add('summary', function (RedundancyGroup $group) { + $summary = RedundancyGroupSummary::on(Backend::getDb()) + ->filter(Filter::equal('id', $group->id)); + + $this->applyRestrictions($summary); + + return $summary->first(); + }); + } } diff --git a/library/Icingadb/View/BaseHostAndServiceRenderer.php b/library/Icingadb/View/BaseHostAndServiceRenderer.php new file mode 100644 index 00000000..77d86a27 --- /dev/null +++ b/library/Icingadb/View/BaseHostAndServiceRenderer.php @@ -0,0 +1,304 @@ + + */ +abstract class BaseHostAndServiceRenderer implements ItemRenderer +{ + use Translation; + + /** + * Create subject for the given item + * + * @param Item $item The item to create subject for + * + * @param string $layout The name of the layout + * + * @return ValidHtml + */ + abstract protected function createSubject($item, string $layout): ValidHtml; + + public function assembleVisual($item, HtmlDocument $visual, string $layout): void + { + if ($layout === 'header') { + if ($item->state->state_type === 'soft') { + $stateType = 'soft_state'; + $previousStateType = 'previous_soft_state'; + + if ($item->state->previous_soft_state === 0) { + $previousStateType = 'hard_state'; + } + } else { + $stateType = 'hard_state'; + $previousStateType = 'previous_hard_state'; + + if ($item->state->hard_state === $item->state->previous_hard_state) { + $previousStateType = 'previous_soft_state'; + } + } + + if ($item instanceof Host) { + $state = HostStates::text($item->state->$stateType); + $previousState = HostStates::text($item->state->$previousStateType); + } else { + $state = ServiceStates::text($item->state->$stateType); + $previousState = ServiceStates::text($item->state->$previousStateType); + } + + $stateChange = new StateChange($state, $previousState); + if ($stateType === 'soft_state') { + $stateChange->setCurrentStateBallSize(StateBall::SIZE_MEDIUM_LARGE); + } + + if ($previousStateType === 'previous_soft_state') { + $stateChange->setPreviousStateBallSize(StateBall::SIZE_MEDIUM_LARGE); + if ($stateType === 'soft_state') { + $visual->getAttributes()->add('class', 'small-state-change'); + } + } + + $stateChange->setIcon($item->state->getIcon()); + $stateChange->setHandled( + $item->state->is_problem && ($item->state->is_handled || ! $item->state->is_reachable) + ); + + $visual->addHtml($stateChange); + + return; + } + + $ballSize = $layout === 'minimal' ? StateBall::SIZE_BIG : StateBall::SIZE_LARGE; + + $stateBall = new StateBall($item->state->getStateText(), $ballSize); + $stateBall->add($item->state->getIcon()); + if ($item->state->is_problem && ($item->state->is_handled || ! $item->state->is_reachable)) { + $stateBall->getAttributes()->add('class', 'handled'); + } + + $visual->addHtml($stateBall); + if ($layout !== 'minimal' && $item->state->state_type === 'soft') { + $visual->addHtml( + new CheckAttempt((int) $item->state->check_attempt, (int) $item->max_check_attempts) + ); + } + } + + public function assembleCaption($item, HtmlDocument $caption, string $layout): void + { + if ($item->state->soft_state === null && $item->state->output === null) { + $caption->addHtml(Text::create($this->translate('Waiting for Icinga DB to synchronize the state.'))); + } else { + if (empty($item->state->output)) { + $pluginOutput = new EmptyState($this->translate('Output unavailable.')); + } else { + $pluginOutput = new PluginOutputContainer(PluginOutput::fromObject($item)); + } + + $caption->addHtml($pluginOutput); + } + } + + public function assembleTitle($item, HtmlDocument $title, string $layout): void + { + $title->addHtml(Html::sprintf( + $this->translate('%s is %s', ' is '), + $this->createSubject($item, $layout), + Html::tag('span', ['class' => 'state-text'], $item->state->getStateTextTranslated()) + )); + + if (isset($item->state->affects_children) && $item->state->affects_children) { + $total = (int) $item->total_children; + + if ($total > 1000) { + $total = '1000+'; + $tooltip = $this->translate('Up to 1000+ affected objects'); + } else { + $tooltip = sprintf( + $this->translatePlural( + '%d affected object', + 'Up to %d affected objects', + $total + ), + $total + ); + } + + $icon = new Icon(Icons::UNREACHABLE); + + $title->addHtml(new HtmlElement( + 'span', + Attributes::create([ + 'class' => 'affected-objects', + 'title' => $tooltip + ]), + $icon, + Text::create($total) + )); + } + } + + public function assembleExtendedInfo($item, HtmlDocument $info, string $layout): void + { + if ($item->state->is_overdue) { + $since = new TimeSince($item->state->next_update->getTimestamp()); + $since->prepend($this->translate('Overdue') . ' '); + $since->prependHtml(new Icon(Icons::WARNING)); + + $info->addHtml($since); + } elseif ($item->state->last_state_change !== null && $item->state->last_state_change->getTimestamp() > 0) { + $info->addHtml(new TimeSince($item->state->last_state_change->getTimestamp())); + } + } + + public function assembleFooter($item, HtmlDocument $footer, string $layout): void + { + $pieChartLimit = 5; + $statusIcons = new HtmlElement('div', Attributes::create(['class' => 'status-icons'])); + $isService = $item instanceof Service; + + if ( + ($isService && $item->state->last_comment->service_id === $item->id) + || $item->state->last_comment->host_id === $item->id + ) { + $comment = $item->state->last_comment; + + if ($isService) { + $comment->service = $item; + } else { + $comment->host = $item; + } + + $commentItem = new ItemLayout( + $comment, + (new CommentRenderer()) + ->setTicketLinkDisabled() + ->setNoObjectLink() + ->setNoSubjectLink() + ); + + $statusIcons->addHtml( + new HtmlElement( + 'div', + Attributes::create(['class' => 'comment-wrapper']), + new HtmlElement( + 'div', + $commentItem->getAttributes()->add('class', 'comment-popup'), + $commentItem + ), + (new Icon('comments', ['class' => 'comment-icon'])) + ) + ); + } + + if ($item->state->is_flapping) { + $title = $isService + ? sprintf( + $this->translate('Service "%s" on "%s" is in flapping state'), + $item->display_name, + $item->host->display_name + ) + : sprintf( + $this->translate('Host "%s" is in flapping state'), + $item->display_name + ); + + $statusIcons->addHtml(new Icon('random', ['title' => $title])); + } + + if (! $item->notifications_enabled) { + $statusIcons->addHtml( + new Icon('bell-slash', ['title' => $this->translate('Notifications disabled')]) + ); + } + + if (! $item->active_checks_enabled) { + $statusIcons->addHtml( + new Icon('eye-slash', ['title' => $this->translate('Active checks disabled')]) + ); + } + + $performanceData = new HtmlElement('div', Attributes::create(['class' => 'performance-data'])); + if ($item->state->performance_data) { + $pieChartData = PerfDataSet::fromString($item->state->normalized_performance_data)->asArray(); + + $pies = []; + foreach ($pieChartData as $i => $perfdata) { + if ($perfdata->isVisualizable()) { + $pies[] = $perfdata->asInlinePie()->render(); + } + + // Check if number of visualizable pie charts is larger than $PIE_CHART_LIMIT + if (count($pies) > $pieChartLimit) { + break; + } + } + + $maxVisiblePies = $pieChartLimit - 2; + $numOfPies = count($pies); + foreach ($pies as $i => $pie) { + if ( + // Show max. 5 elements: if there are more than 5, show 4 + `…` + $i > $maxVisiblePies && $numOfPies > $pieChartLimit + ) { + $performanceData->addHtml(new HtmlElement('span', null, Text::create('…'))); + break; + } + + $performanceData->addHtml(HtmlString::create($pie)); + } + } + + if (! $statusIcons->isEmpty()) { + $footer->addHtml($statusIcons); + } + + if (! $performanceData->isEmpty()) { + $footer->addHtml($performanceData); + } + } + + public function assemble($item, string $name, HtmlDocument $element, string $layout): bool + { + if ($name === 'icon-image') { + if (isset($item->icon_image->icon_image)) { + $element->addHtml(new IconImage($item->icon_image->icon_image, $item->icon_image_alt)); + } + + return true; + } + + return false; + } +} diff --git a/library/Icingadb/View/CommentRenderer.php b/library/Icingadb/View/CommentRenderer.php new file mode 100644 index 00000000..f54ff4e8 --- /dev/null +++ b/library/Icingadb/View/CommentRenderer.php @@ -0,0 +1,167 @@ + */ +class CommentRenderer implements ItemRenderer +{ + use Translation; + use TicketLinks; + use HostLink; + use ServiceLink; + + /** @var bool Whether the object link for th item should be omitted */ + protected $noObjectLink = false; + + /** @var bool Whether item's subject should be a link */ + protected $noSubjectLink = false; + + /** + * Set whether the object link for th item should be omitted + * + * @param bool $state + * + * @return $this + */ + public function setNoObjectLink(bool $state = true): self + { + $this->noObjectLink = $state; + + return $this; + } + + /** + * Set whether item's subject should be a link + * + * @param bool $state + * + * @return $this + */ + public function setNoSubjectLink(bool $state = true): self + { + $this->noSubjectLink = $state; + + return $this; + } + + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->get('class')->addValue('comment'); + } + + public function assembleVisual($item, HtmlDocument $visual, string $layout): void + { + $visual->addHtml(new HtmlElement( + 'div', + Attributes::create(['class' => 'user-ball']), + Text::create($item->author[0]) + )); + } + + public function assembleTitle($item, HtmlDocument $title, string $layout): void + { + $isAck = $item->entry_type === 'ack'; + $expires = $item->expire_time; + + $subjectText = sprintf( + $isAck + ? $this->translate('%s acknowledged', '..') + : $this->translate('%s commented', '..'), + $item->author + ); + + $headerParts = [ + new Icon(Icons::USER), + $layout === 'header' || $this->noSubjectLink + ? new HtmlElement('span', Attributes::create(['class' => 'subject']), Text::create($subjectText)) + : new Link($subjectText, Links::comment($item), ['class' => 'subject']) + ]; + + if ($isAck) { + $label = [Text::create('ack')]; + + if ($item->is_persistent) { + array_unshift($label, new Icon(Icons::IS_PERSISTENT)); + } + + $headerParts[] = Text::create(' '); + $headerParts[] = new HtmlElement('span', Attributes::create(['class' => 'ack-badge badge']), ...$label); + } + + if ($expires !== null) { + $headerParts[] = Text::create(' '); + $headerParts[] = new HtmlElement( + 'span', + Attributes::create(['class' => 'ack-badge badge']), + Text::create($this->translate('EXPIRES')) + ); + } + + if ($this->noObjectLink) { + // pass + } elseif ($item->object_type === 'host') { + $headerParts[] = $this->createHostLink($item->host, true); + } else { + $headerParts[] = $this->createServiceLink($item->service, $item->service->host, true); + } + + $title->addHtml(...$headerParts); + } + + public function assembleCaption($item, HtmlDocument $caption, string $layout): void + { + $markdownLine = new MarkdownLine($this->createTicketLinks($item->text)); + + $caption->getAttributes()->add($markdownLine->getAttributes()); + $caption->addFrom($markdownLine); + } + + public function assembleExtendedInfo($item, HtmlDocument $info, string $layout): void + { + if ($item->expire_time) { + $info->addHtml( + FormattedString::create( + $this->translate("expires %s"), + new TimeUntil($item->expire_time->getTimestamp()) + ) + ); + } else { + $info->addHtml( + FormattedString::create( + $this->translate("created %s"), + new TimeAgo($item->entry_time->getTimestamp()) + ) + ); + } + } + + public function assembleFooter($item, HtmlDocument $footer, string $layout): void + { + } + + public function assemble($item, string $name, HtmlDocument $element, string $layout): bool + { + return false; // no custom sections + } +} diff --git a/library/Icingadb/View/DowntimeRenderer.php b/library/Icingadb/View/DowntimeRenderer.php new file mode 100644 index 00000000..d50d147b --- /dev/null +++ b/library/Icingadb/View/DowntimeRenderer.php @@ -0,0 +1,246 @@ + */ +class DowntimeRenderer implements ItemRenderer +{ + use Translation; + use TicketLinks; + use HostLink; + use ServiceLink; + + /** @var int Current Time */ + protected $currentTime; + + /** @var int Duration */ + protected $duration; + + /** @var int Downtime end time */ + protected $endTime; + + /** @var bool Whether the downtime is active */ + protected $isActive; + + /** @var int Downtime start time */ + protected $startTime; + + /** @var bool Whether the state has been loaded */ + protected $stateLoaded = false; + + /** @var bool Whether the object link for th item should be omitted */ + protected $noObjectLink = false; + + /** + * Set whether the object link for th item should be omitted + * + * @param bool $state + * + * @return $this + */ + public function setNoObjectLink(bool $state = true): self + { + $this->noObjectLink = $state; + + return $this; + } + + /** + * Load the state of the downtime + * + * @param Downtime $item + * + * @return void + */ + protected function loadState(Downtime $item): void + { + if ($this->stateLoaded) { + return; + } + + if ( + isset($item->start_time, $item->end_time) + && $item->is_flexible + && $item->is_in_effect + ) { + $this->startTime = $item->start_time->getTimestamp(); + $this->endTime = $item->end_time->getTimestamp(); + } else { + $this->startTime = $item->scheduled_start_time->getTimestamp(); + $this->endTime = $item->scheduled_end_time->getTimestamp(); + } + + $this->currentTime = time(); + + $this->isActive = $item->is_in_effect + || ($item->is_flexible && $item->scheduled_start_time->getTimestamp() <= $this->currentTime); + + $until = ($this->isActive ? $this->endTime : $this->startTime) - $this->currentTime; + $this->duration = explode(' ', DateFormatter::formatDuration( + $until <= 3600 ? $until : $until + (3600 - ((int) $until % 3600)) + ), 2)[0]; + + $this->stateLoaded = true; + } + + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->add(new Attributes(['class' => ['downtime', $item->is_in_effect ? 'in-effect' : '']])); + } + + public function assembleVisual($item, HtmlDocument $visual, string $layout): void + { + $this->loadState($item); + + $dateTime = DateFormatter::formatDateTime($this->endTime); + + if ($this->isActive) { + $visual->addHtml(Html::sprintf( + $this->translate('%s left', '..'), + Html::tag( + 'strong', + Html::tag( + 'time', + [ + 'datetime' => $dateTime, + 'title' => $dateTime + ], + $this->duration + ) + ) + )); + } else { + $visual->addHtml(Html::sprintf( + $this->translate('in %s', '..'), + Html::tag('strong', $this->duration) + )); + } + } + + public function assembleTitle($item, HtmlDocument $title, string $layout): void + { + if ($this->noObjectLink) { + $link = null; + } elseif ($item->object_type === 'host') { + $link = $this->createHostLink($item->host, true); + } else { + $link = $this->createServiceLink($item->service, $item->service->host, true); + } + + if ($item->is_flexible) { + if ($link !== null) { + $template = $this->translate('{{#link}}Flexible Downtime{{/link}} for %s'); + } else { + $template = $this->translate('Flexible Downtime'); + } + } else { + if ($link !== null) { + $template = $this->translate('{{#link}}Fixed Downtime{{/link}} for %s'); + } else { + $template = $this->translate('Fixed Downtime'); + } + } + + if ($layout === 'header') { + if ($link === null) { + $title->addHtml(HtmlElement::create('span', [ 'class' => 'subject'], $template)); + } else { + $title->addHtml(TemplateString::create( + $template, + ['link' => HtmlElement::create('span', [ 'class' => 'subject'])], + $link + )); + } + } else { + if ($link === null) { + $title->addHtml(new Link($template, Links::downtime($item))); + } else { + $title->addHtml(TemplateString::create( + $template, + ['link' => new Link('', Links::downtime($item))], + $link + )); + } + } + } + + public function assembleCaption($item, HtmlDocument $caption, string $layout): void + { + $markdownLine = new MarkdownLine($this->createTicketLinks($item->comment)); + $caption->getAttributes()->add($markdownLine->getAttributes()); + $caption->addHtml( + new HtmlElement( + 'span', + null, + new Icon(Icons::USER), + Text::create($item->author) + ), + Text::create(': ') + )->addFrom($markdownLine); + } + + public function assembleExtendedInfo($item, HtmlDocument $info, string $layout): void + { + $this->loadState($item); + + $dateTime = DateFormatter::formatDateTime($this->isActive ? $this->endTime : $this->startTime); + + $info->addHtml(Html::tag( + 'time', + [ + 'datetime' => $dateTime, + 'title' => $dateTime + ], + sprintf( + $this->isActive + ? $this->translate('expires in %s', '..') + : $this->translate('starts in %s', '..'), + $this->duration + ) + )); + } + + public function assembleFooter($item, HtmlDocument $footer, string $layout): void + { + } + + public function assemble($item, string $name, HtmlDocument $element, string $layout): bool + { + if ($name === 'progress' && ($layout === 'detailed' || $layout === 'common')) { + $this->loadState($item); + + $element + ->addAttributes(Attributes::create([ + 'data-animate-progress' => true, + 'data-start-time' => $this->startTime, + 'data-end-time' => $this->endTime + ])) + ->addHtml(new HtmlElement('div', Attributes::create(['class' => 'bar']))); + + return true; + } + + return false; + } +} diff --git a/library/Icingadb/View/EventRenderer.php b/library/Icingadb/View/EventRenderer.php new file mode 100644 index 00000000..0a9e3217 --- /dev/null +++ b/library/Icingadb/View/EventRenderer.php @@ -0,0 +1,425 @@ + */ +class EventRenderer implements ItemRenderer +{ + use Translation; + use TicketLinks; + use HostLink; + use ServiceLink; + + /** @var NotificationRenderer To render NotificationHistory event */ + protected $notificationRenderer; + + public function __construct() + { + $this->notificationRenderer = new NotificationRenderer(); + } + + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->get('class')->addValue('history'); + } + + public function assembleVisual($item, HtmlDocument $visual, string $layout): void + { + $ballSize = StateBall::SIZE_LARGE; + if ($layout === 'minimal' || $layout === 'header') { + $ballSize = StateBall::SIZE_BIG; + } + + switch ($item->event_type) { + case 'comment_add': + $visual->addHtml( + HtmlElement::create( + 'div', + ['class' => ['icon-ball', 'ball-size-' . $ballSize]], + new Icon(Icons::COMMENT) + ) + ); + + break; + case 'comment_remove': + case 'downtime_end': + case 'ack_clear': + $visual->addHtml( + HtmlElement::create( + 'div', + ['class' => ['icon-ball', 'ball-size-' . $ballSize]], + new Icon(Icons::REMOVE) + ) + ); + + break; + case 'downtime_start': + $visual->addHtml( + HtmlElement::create( + 'div', + ['class' => ['icon-ball', 'ball-size-' . $ballSize]], + new Icon(Icons::IN_DOWNTIME) + ) + ); + + break; + case 'ack_set': + $visual->addHtml( + HtmlElement::create( + 'div', + ['class' => ['icon-ball', 'ball-size-' . $ballSize]], + new Icon(Icons::IS_ACKNOWLEDGED) + ) + ); + + break; + case 'flapping_end': + case 'flapping_start': + $visual->addHtml( + HtmlElement::create( + 'div', + ['class' => ['icon-ball', 'ball-size-' . $ballSize]], + new Icon(Icons::IS_FLAPPING) + ) + ); + + break; + case 'notification': + $visual->addHtml( + HtmlElement::create( + 'div', + ['class' => ['icon-ball', 'ball-size-' . $ballSize]], + new Icon(Icons::NOTIFICATION) + ) + ); + + break; + case 'state_change': + if ($layout !== 'minimal' && $layout !== 'header' && $item->state->state_type === 'soft') { + $stateType = 'soft_state'; + $previousStateType = 'previous_soft_state'; + + if ($item->state->previous_soft_state === 0) { + $previousStateType = 'hard_state'; + } + + $visual->addHtml( + new CheckAttempt( + (int) $item->state->check_attempt, + (int) $item->state->max_check_attempts + ) + ); + } else { + $stateType = 'hard_state'; + $previousStateType = 'previous_hard_state'; + + if ($item->state->hard_state === $item->state->previous_hard_state) { + $previousStateType = 'previous_soft_state'; + } + } + + if ($item->object_type === 'host') { + $state = HostStates::text($item->state->$stateType); + $previousState = HostStates::text($item->state->$previousStateType); + } else { + $state = ServiceStates::text($item->state->$stateType); + $previousState = ServiceStates::text($item->state->$previousStateType); + } + + $stateChange = new StateChange($state, $previousState); + if ($stateType === 'soft_state') { + $stateChange->setCurrentStateBallSize(StateBall::SIZE_MEDIUM_LARGE); + } + + if ($previousStateType === 'previous_soft_state') { + $stateChange->setPreviousStateBallSize(StateBall::SIZE_MEDIUM_LARGE); + if ($stateType === 'soft_state') { + $visual->getAttributes()->add('class', 'small-state-change'); + } + } + + $visual->prependHtml($stateChange); + + break; + } + } + + public function assembleTitle($item, HtmlDocument $title, string $layout): void + { + if ($item->event_type === 'notification' && isset($item->notification->id)) { + $item->notification->history = $item; + $item->notification->host = $item->host; + $item->notification->service = $item->service; + + $this->notificationRenderer->assembleTitle($item->notification, $title, $layout); + + return; + } + + switch ($item->event_type) { + case 'comment_add': + $subjectLabel = $this->translate('Comment added'); + + break; + case 'comment_remove': + if (! empty($item->comment->removed_by)) { + if ($item->comment->removed_by !== $item->comment->author) { + $subjectLabel = sprintf( + $this->translate('Comment removed by %s', '..'), + $item->comment->removed_by + ); + } else { + $subjectLabel = $this->translate('Comment removed by author'); + } + } elseif (isset($item->comment->expire_time)) { + $subjectLabel = $this->translate('Comment expired'); + } else { + $subjectLabel = $this->translate('Comment removed'); + } + + break; + case 'downtime_end': + if (! empty($item->downtime->cancelled_by)) { + if ($item->downtime->cancelled_by !== $item->downtime->author) { + $subjectLabel = sprintf( + $this->translate('Downtime cancelled by %s', '..'), + $item->downtime->cancelled_by + ); + } else { + $subjectLabel = $this->translate('Downtime cancelled by author'); + } + } elseif ($item->downtime->has_been_cancelled === 'y') { + $subjectLabel = $this->translate('Downtime cancelled'); + } else { + $subjectLabel = $this->translate('Downtime ended'); + } + + break; + case 'downtime_start': + $subjectLabel = $this->translate('Downtime started'); + + break; + case 'flapping_start': + $subjectLabel = $this->translate('Flapping started'); + + break; + case 'flapping_end': + $subjectLabel = $this->translate('Flapping stopped'); + + break; + case 'ack_set': + $subjectLabel = $this->translate('Acknowledgement set'); + + break; + case 'ack_clear': + if (! empty($item->acknowledgement->cleared_by)) { + if ($item->acknowledgement->cleared_by !== $item->acknowledgement->author) { + $subjectLabel = sprintf( + $this->translate('Acknowledgement cleared by %s', '..'), + $item->acknowledgement->cleared_by + ); + } else { + $subjectLabel = $this->translate('Acknowledgement cleared by author'); + } + } elseif (isset($item->acknowledgement->expire_time)) { + $subjectLabel = $this->translate('Acknowledgement expired'); + } else { + $subjectLabel = $this->translate('Acknowledgement cleared'); + } + + break; + case 'state_change': + $state = $item->state->state_type === 'hard' + ? $item->state->hard_state + : $item->state->soft_state; + if ($state === 0) { + if ($item->object_type === 'service') { + $subjectLabel = $this->translate('Service recovered'); + } else { + $subjectLabel = $this->translate('Host recovered'); + } + } else { + if ($item->state->state_type === 'hard') { + $subjectLabel = $this->translate('Hard state changed'); + } else { + $subjectLabel = $this->translate('Soft state changed'); + } + } + + break; + default: + $subjectLabel = $item->event_type; + + break; + } + + if ($layout === 'header') { + $title->addHtml(HtmlElement::create('span', ['class' => 'subject'], $subjectLabel)); + } else { + $title->addHtml(new Link($subjectLabel, Links::event($item), ['class' => 'subject'])); + } + + if ($item->object_type === 'host' && isset($item->host->id)) { + $link = $this->createHostLink($item->host, true); + } elseif (isset($item->host->id, $item->service->id)) { + $link = $this->createServiceLink($item->service, $item->host, true); + } + + $title->addHtml(Text::create(' ')); + if (isset($link)) { + $title->addHtml($link); + } + } + + public function assembleCaption($item, HtmlDocument $caption, string $layout): void + { + if ($item->event_type === 'notification') { + $item->notification->host = $item->host; + $item->notification->service = $item->service; + + $this->notificationRenderer->assembleCaption($item->notification, $caption, $layout); + + return; + } + + switch ($item->event_type) { + case 'comment_add': + case 'comment_remove': + $markdownLine = new MarkdownLine($this->createTicketLinks($item->comment->comment)); + $caption->getAttributes()->add($markdownLine->getAttributes()); + $caption->add([ + new Icon(Icons::USER), + $item->comment->author, + ': ' + ])->addFrom($markdownLine); + + break; + case 'downtime_end': + case 'downtime_start': + $markdownLine = new MarkdownLine($this->createTicketLinks($item->downtime->comment)); + $caption->getAttributes()->add($markdownLine->getAttributes()); + $caption->add([ + new Icon(Icons::USER), + $item->downtime->author, + ': ' + ])->addFrom($markdownLine); + + break; + case 'flapping_start': + $caption + ->add( + sprintf( + $this->translate('State Change Rate: %.2f%%; Start Threshold: %.2f%%'), + $item->flapping->percent_state_change_start, + $item->flapping->flapping_threshold_high + ) + ) + ->getAttributes() + ->add('class', 'plugin-output'); + + break; + case 'flapping_end': + $caption + ->add( + sprintf( + $this->translate('State Change Rate: %.2f%%; End Threshold: %.2f%%; Flapping for %s'), + $item->flapping->percent_state_change_end, + $item->flapping->flapping_threshold_low, + isset($item->flapping->end_time) + ? DateFormatter::formatDuration( + $item->flapping->end_time->getTimestamp() + - $item->flapping->start_time->getTimestamp() + ) + : $this->translate('n. a.') + ) + ) + ->getAttributes() + ->add('class', 'plugin-output'); + + break; + case 'ack_clear': + case 'ack_set': + if (! isset($item->acknowledgement->comment) && ! isset($item->acknowledgement->author)) { + $caption->addHtml( + new EmptyState( + $this->translate('This acknowledgement was set before Icinga DB history recording') + ) + ); + } else { + $markdownLine = new MarkdownLine($this->createTicketLinks($item->acknowledgement->comment)); + $caption->getAttributes()->add($markdownLine->getAttributes()); + $caption->add([ + new Icon(Icons::USER), + $item->acknowledgement->author, + ': ' + ])->addFrom($markdownLine); + } + + break; + case 'state_change': + $commandName = $item->object_type === 'host' + ? $item->host->checkcommand_name + : $item->service->checkcommand_name; + if (isset($commandName)) { + if (empty($item->state->output)) { + $caption->addHtml(new EmptyState($this->translate('Output unavailable.'))); + } else { + $caption->addHtml( + new PluginOutputContainer( + (new PluginOutput($item->state->output)) + ->setCommandName($commandName) + ) + ); + } + } else { + $caption->addHtml( + new EmptyState($this->translate('Waiting for Icinga DB to synchronize the config.')) + ); + } + + break; + } + } + + public function assembleExtendedInfo($item, HtmlDocument $info, string $layout): void + { + $info->addHtml(new TimeAgo($item->event_time->getTimestamp())); + } + + public function assembleFooter($item, HtmlDocument $footer, string $layout): void + { + } + + public function assemble($item, string $name, HtmlDocument $element, string $layout): bool + { + return false; // no custom sections + } +} diff --git a/library/Icingadb/View/HostRenderer.php b/library/Icingadb/View/HostRenderer.php new file mode 100644 index 00000000..1f7a95a8 --- /dev/null +++ b/library/Icingadb/View/HostRenderer.php @@ -0,0 +1,31 @@ + */ +class HostRenderer extends BaseHostAndServiceRenderer +{ + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->get('class')->addValue('host'); + } + + protected function createSubject($item, string $layout): ValidHtml + { + if ($layout === 'header') { + return new HtmlElement('span', new Attributes(['class' => 'subject']), new Text($item->display_name)); + } + + return new Link($item->display_name, Links::host($item), ['class' => 'subject']); + } +} diff --git a/library/Icingadb/View/HostgroupGridRenderer.php b/library/Icingadb/View/HostgroupGridRenderer.php new file mode 100644 index 00000000..f3823e1f --- /dev/null +++ b/library/Icingadb/View/HostgroupGridRenderer.php @@ -0,0 +1,169 @@ + */ +class HostgroupGridRenderer implements ItemRenderer +{ + use Translation; + use BaseFilter; + + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->get('class')->addValue(['object-grid-cell', 'hostgroup']); + } + + public function assembleVisual($item, HtmlDocument $visual, string $layout): void + { + $url = Url::fromPath('icingadb/hosts'); + $urlFilter = Filter::all(Filter::equal('hostgroup.name', $item->name)); + + if ($item->hosts_down_unhandled > 0) { + $urlFilter->add(Filter::equal('host.state.soft_state', 1)) + ->add(Filter::equal('host.state.is_handled', 'n')) + ->add(Filter::equal('host.state.is_reachable', 'y')); + + $link = new Link( + new StateBadge($item->hosts_down_unhandled, 'down'), + $url->setFilter($urlFilter), + [ + 'title' => sprintf( + $this->translatePlural( + 'List %d host that is currently in DOWN state in host group "%s"', + 'List %d hosts which are currently in DOWN state in host group "%s"', + $item->hosts_down_unhandled + ), + $item->hosts_down_unhandled, + $item->display_name + ) + ] + ); + } elseif ($item->hosts_down_handled > 0) { + $urlFilter->add(Filter::equal('host.state.soft_state', 1)) + ->add(Filter::any( + Filter::equal('host.state.is_handled', 'y'), + Filter::equal('host.state.is_reachable', 'n') + )); + + $link = new Link( + new StateBadge($item->hosts_down_handled, 'down', true), + $url->setFilter($urlFilter), + [ + 'title' => sprintf( + $this->translatePlural( + 'List %d host that is currently in DOWN (Acknowledged) state in host group "%s"', + 'List %d hosts which are currently in DOWN (Acknowledged) state in host group "%s"', + $item->hosts_down_handled + ), + $item->hosts_down_handled, + $item->display_name + ) + ] + ); + } elseif ($item->hosts_pending > 0) { + $urlFilter->add(Filter::equal('host.state.soft_state', 99)); + + $link = new Link( + new StateBadge($item->hosts_pending, 'pending'), + $url->setFilter($urlFilter), + [ + 'title' => sprintf( + $this->translatePlural( + 'List %d host that is currently in PENDING state in host group "%s"', + 'List %d hosts which are currently in PENDING state in host group "%s"', + $item->hosts_pending + ), + $item->hosts_pending, + $item->display_name + ) + ] + ); + } elseif ($item->hosts_up > 0) { + $urlFilter->add(Filter::equal('host.state.soft_state', 0)); + + $link = new Link( + new StateBadge($item->hosts_up, 'up'), + $url->setFilter($urlFilter), + [ + 'title' => sprintf( + $this->translatePlural( + 'List %d host that is currently in UP state in host group "%s"', + 'List %d hosts which are currently in UP state in host group "%s"', + $item->hosts_up + ), + $item->hosts_up, + $item->display_name + ) + ] + ); + } else { + $link = new Link( + new StateBadge(0, 'none'), + Links::hostgroup($item), + [ + 'title' => sprintf( + $this->translate('There are no hosts in host group "%s"'), + $item->display_name + ) + ] + ); + } + + $visual->addHtml($link); + } + + public function assembleTitle($item, HtmlDocument $title, string $layout): void + { + $link = new Link( + $item->display_name, + Links::hostgroup($item), + [ + 'class' => 'subject', + 'title' => sprintf( + $this->translate('List all hosts in the group "%s"'), + $item->display_name + ) + ] + ); + + if ($this->hasBaseFilter()) { + $link->getUrl()->setFilter($this->getBaseFilter()); + } + + $title->addHtml($link); + } + + public function assembleCaption($item, HtmlDocument $caption, string $layout): void + { + $caption->addHtml(Text::create($item->name)); + } + + public function assembleExtendedInfo($item, HtmlDocument $info, string $layout): void + { + } + + public function assembleFooter($item, HtmlDocument $footer, string $layout): void + { + } + + public function assemble($item, string $name, HtmlDocument $element, string $layout): bool + { + return false; // no custom sections + } +} diff --git a/library/Icingadb/View/HostgroupRenderer.php b/library/Icingadb/View/HostgroupRenderer.php new file mode 100644 index 00000000..d0a6c39e --- /dev/null +++ b/library/Icingadb/View/HostgroupRenderer.php @@ -0,0 +1,115 @@ + */ +class HostgroupRenderer implements ItemTableRenderer +{ + use Translation; + use BaseFilter; + + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->get('class')->addValue('hostgroup'); + } + + public function assembleVisual($item, HtmlDocument $visual, string $layout): void + { + } + + public function assembleTitle($item, HtmlDocument $title, string $layout): void + { + if ($layout === 'header') { + $title->addHtml(new HtmlElement( + 'span', + Attributes::create(['class' => 'subject']), + Text::create($item->display_name) + )); + } else { + $link = new Link( + $item->display_name, + Links::hostgroup($item), + [ + 'class' => 'subject', + 'title' => sprintf( + $this->translate('List all hosts in the group "%s"'), + $item->display_name + ) + ] + ); + + if ($this->hasBaseFilter()) { + $link->getUrl()->setFilter($this->getBaseFilter()); + } + + $title->addHtml($link); + } + } + + public function assembleCaption($item, HtmlDocument $caption, string $layout): void + { + $caption->addHtml(Text::create($item->name)); + } + + public function assembleExtendedInfo($item, HtmlDocument $info, string $layout): void + { + // assembleExtendedInfo() is only called when $layout == header + $info->addHtml(...$this->createStatistics($item)); + } + + public function assembleFooter($item, HtmlDocument $footer, string $layout): void + { + } + + public function assemble($item, string $name, HtmlDocument $element, string $layout): bool + { + return false; // no custom sections + } + + public function assembleColumns($item, HtmlDocument $columns, string $layout): void + { + [$hostStats, $serviceStats] = $this->createStatistics($item); + + if ($this->hasBaseFilter()) { + $hostStats->setBaseFilter(Filter::all($hostStats->getBaseFilter(), $this->getBaseFilter())); + $serviceStats->setBaseFilter(Filter::all($serviceStats->getBaseFilter(), $this->getBaseFilter())); + } + + $columns->addHtml($hostStats, $serviceStats); + } + + /** + * Create statistics for the given item + * + * @param Hostgroupsummary $item + * + * @return array{0: HostStatistics, 1: ServiceStatistics} + */ + protected function createStatistics(Hostgroupsummary $item): array + { + $hostStats = (new HostStatistics($item)) + ->setBaseFilter(Filter::equal('hostgroup.name', $item->name)); + + + $serviceStats = (new ServiceStatistics($item)) + ->setBaseFilter(Filter::equal('hostgroup.name', $item->name)); + + return [$hostStats, $serviceStats]; + } +} diff --git a/library/Icingadb/View/NotificationRenderer.php b/library/Icingadb/View/NotificationRenderer.php new file mode 100644 index 00000000..7885a30d --- /dev/null +++ b/library/Icingadb/View/NotificationRenderer.php @@ -0,0 +1,200 @@ + */ +class NotificationRenderer implements ItemRenderer +{ + use Translation; + use HostLink; + use ServiceLink; + + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->get('class')->addValue('notification'); + } + + public function assembleVisual($item, HtmlDocument $visual, string $layout): void + { + $ballSize = StateBall::SIZE_LARGE; + if ($layout === 'minimal' || $layout === 'header') { + $ballSize = StateBall::SIZE_BIG; + } + + switch ($item->type) { + case 'acknowledgement': + $visual->addHtml(HtmlElement::create( + 'div', + ['class' => ['icon-ball', 'ball-size-' . $ballSize]], + new Icon(Icons::IS_ACKNOWLEDGED) + )); + + break; + case 'custom': + $visual->addHtml(HtmlElement::create( + 'div', + ['class' => ['icon-ball', 'ball-size-' . $ballSize]], + new Icon(Icons::NOTIFICATION) + )); + + break; + case 'downtime_end': + case 'downtime_removed': + case 'downtime_start': + $visual->addHtml(HtmlElement::create( + 'div', + ['class' => ['icon-ball', 'ball-size-' . $ballSize]], + new Icon(Icons::IN_DOWNTIME) + )); + + break; + case 'flapping_end': + case 'flapping_start': + $visual->addHtml(HtmlElement::create( + 'div', + ['class' => ['icon-ball', 'ball-size-' . $ballSize]], + new Icon(Icons::IS_FLAPPING) + )); + + break; + case 'problem': + case 'recovery': + if ($item->object_type === 'host') { + $state = HostStates::text($item->state); + $previousHardState = HostStates::text($item->previous_hard_state); + } else { + $state = ServiceStates::text($item->state); + $previousHardState = ServiceStates::text($item->previous_hard_state); + } + + $visual->addHtml(new StateChange($state, $previousHardState)); + + break; + } + } + + public function assembleTitle($item, HtmlDocument $title, string $layout): void + { + if ($layout === 'header') { + $title->addHtml(HtmlElement::create( + 'span', + ['class' => 'subject'], + sprintf($this->phraseForType($item->type), ucfirst($item->object_type)) + )); + } else { + $title->addHtml(new Link( + sprintf($this->phraseForType($item->type), ucfirst($item->object_type)), + Links::event($item->history), + ['class' => 'subject'] + )); + } + + if ($item->object_type === 'host') { + $link = $this->createHostLink($item->host, true); + } else { + $link = $this->createServiceLink($item->service, $item->host, true); + } + + $title->addHtml(Text::create(' '), $link); + } + + public function assembleCaption($item, HtmlDocument $caption, string $layout): void + { + if (in_array($item->type, ['flapping_end', 'flapping_start', 'problem', 'recovery'])) { + $commandName = $item->object_type === 'host' + ? $item->host->checkcommand_name + : $item->service->checkcommand_name; + if (isset($commandName)) { + if (empty($item->text)) { + $caption->addHtml(new EmptyState($this->translate('Output unavailable.'))); + } else { + $caption->addHtml(new PluginOutputContainer( + (new PluginOutput($item->text)) + ->setCommandName($commandName) + )); + } + } else { + $caption->addHtml(new EmptyState($this->translate('Waiting for Icinga DB to synchronize the config.'))); + } + } else { + $caption->add([ + new Icon(Icons::USER), + $item->author, + ': ', + $item->text + ]); + } + } + + public function assembleExtendedInfo($item, HtmlDocument $info, string $layout): void + { + $info->addHtml(new TimeAgo($item->send_time->getTimestamp())); + } + + public function assembleFooter($item, HtmlDocument $footer, string $layout): void + { + } + + public function assemble($item, string $name, HtmlDocument $element, string $layout): bool + { + return false; // no custom sections + } + + /** + * Get a localized phrase for the given notification type + * + * @param string $type + * + * @return string + */ + protected function phraseForType(string $type): string + { + switch ($type) { + case 'acknowledgement': + return $this->translate('Problem acknowledged'); + case 'custom': + return $this->translate('Custom Notification triggered'); + case 'downtime_end': + return $this->translate('Downtime ended'); + case 'downtime_removed': + return $this->translate('Downtime removed'); + case 'downtime_start': + return $this->translate('Downtime started'); + case 'flapping_end': + return $this->translate('Flapping stopped'); + case 'flapping_start': + return $this->translate('Flapping started'); + case 'problem': + return $this->translate('%s ran into a problem'); + case 'recovery': + return $this->translate('%s recovered'); + default: + throw new InvalidArgumentException(sprintf('Type %s is not a valid notification type', $type)); + } + } +} diff --git a/library/Icingadb/View/RedundancyGroupRenderer.php b/library/Icingadb/View/RedundancyGroupRenderer.php new file mode 100644 index 00000000..8bb6ff5c --- /dev/null +++ b/library/Icingadb/View/RedundancyGroupRenderer.php @@ -0,0 +1,91 @@ + */ +class RedundancyGroupRenderer implements ItemRenderer +{ + use Translation; + + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->get('class')->addValue('redundancy-group'); + } + + public function assembleVisual($item, HtmlDocument $visual, string $layout): void + { + $ballSize = StateBall::SIZE_LARGE; + if ($layout === 'minimal' || $layout === 'header') { + $ballSize = StateBall::SIZE_BIG; + } + + $stateBall = new StateBall($item->state->getStateText(), $ballSize); + $stateBall->add($item->state->getIcon()); + + $visual->addHtml($stateBall); + } + + public function assembleCaption($item, HtmlDocument $caption, string $layout): void + { + $caption->addHtml(new DependencyNodeStatistics($item->summary)); + } + + public function assembleFooter($item, HtmlDocument $footer, string $layout): void + { + } + + public function assembleTitle($item, HtmlDocument $title, string $layout): void + { + if ($layout === 'header') { + $subject = new HtmlElement( + 'span', + Attributes::create(['class' => 'subject']), + Text::create($item->display_name) + ); + } else { + $subject = new Link( + $item->display_name, + Url::fromPath('icingadb/redundancygroup', ['id' => bin2hex($item->id)]), + ['class' => 'subject'] + ); + } + + if ($item->state->failed) { + $title->addHtml(Html::sprintf( + $this->translate('%s has no working objects', ' has ...'), + $subject + )); + } else { + $title->addHtml(Html::sprintf( + $this->translate('%s has working objects', ' has ...'), + $subject + )); + } + } + + public function assembleExtendedInfo($item, HtmlDocument $info, string $layout): void + { + $info->addHtml(new TimeSince($item->state->last_state_change->getTimestamp())); + } + + public function assemble($item, string $name, HtmlDocument $element, string $layout): bool + { + return $name === 'icon-image'; // Always add the icon-image section + } +} diff --git a/library/Icingadb/View/ServiceRenderer.php b/library/Icingadb/View/ServiceRenderer.php new file mode 100644 index 00000000..cbdd523d --- /dev/null +++ b/library/Icingadb/View/ServiceRenderer.php @@ -0,0 +1,43 @@ + */ +class ServiceRenderer extends BaseHostAndServiceRenderer +{ + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->get('class')->addValue('service'); + } + + protected function createSubject($item, string $layout): ValidHtml + { + $service = $item->display_name; + $host = [ + new StateBall($item->host->state->getStateText(), StateBall::SIZE_MEDIUM), + ' ', + $item->host->display_name + ]; + + $host = new Link($host, Links::host($item->host), ['class' => 'subject']); + if ($layout === 'header') { + $service = new HtmlElement('span', new Attributes(['class' => 'subject']), new Text($service)); + } else { + $service = new Link($service, Links::service($item, $item->host), ['class' => 'subject']); + } + + return Html::sprintf($this->translate('%s on %s', ' on '), $service, $host); + } +} diff --git a/library/Icingadb/Widget/ItemTable/ServicegroupGridCell.php b/library/Icingadb/View/ServicegroupGridRenderer.php similarity index 54% rename from library/Icingadb/Widget/ItemTable/ServicegroupGridCell.php rename to library/Icingadb/View/ServicegroupGridRenderer.php index 16e50e19..cb62cbcd 100644 --- a/library/Icingadb/Widget/ItemTable/ServicegroupGridCell.php +++ b/library/Icingadb/View/ServicegroupGridRenderer.php @@ -1,54 +1,68 @@ */ +class ServicegroupGridRenderer implements ItemRenderer { - use GridCellLayout; + use Translation; + use BaseFilter; - protected $defaultAttributes = ['class' => ['group-grid-cell', 'servicegroup-grid-cell']]; + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->get('class')->addValue(['object-grid-cell', 'servicegroup']); + } - protected function createGroupBadge(): Link + public function assembleVisual($item, HtmlDocument $visual, string $layout): void { $url = Url::fromPath('icingadb/services/grid'); - $urlFilter = Filter::all(Filter::equal('servicegroup.name', $this->item->name)); + $urlFilter = Filter::all(Filter::equal('servicegroup.name', $item->name)); - if ($this->item->services_critical_unhandled > 0) { + if ($item->services_critical_unhandled > 0) { $urlFilter->add(Filter::equal('service.state.soft_state', 2)) ->add(Filter::equal('service.state.is_handled', 'n')) ->add(Filter::equal('service.state.is_reachable', 'y')); - return new Link( - new StateBadge($this->item->services_critical_unhandled, 'critical'), + $link = new Link( + new StateBadge($item->services_critical_unhandled, 'critical'), $url->setFilter($urlFilter), [ 'title' => sprintf( $this->translatePlural( 'List %d service that is currently in CRITICAL state in service group "%s"', 'List %d services which are currently in CRITICAL state in service group "%s"', - $this->item->services_critical_unhandled + $item->services_critical_unhandled ), - $this->item->services_critical_unhandled, - $this->item->display_name + $item->services_critical_unhandled, + $item->display_name ) ] ); - } elseif ($this->item->services_critical_handled > 0) { + } elseif ($item->services_critical_handled > 0) { $urlFilter->add(Filter::equal('service.state.soft_state', 2)) ->add(Filter::any( Filter::equal('service.state.is_handled', 'y'), Filter::equal('service.state.is_reachable', 'n') )); - return new Link( - new StateBadge($this->item->services_critical_handled, 'critical', true), + $link = new Link( + new StateBadge($item->services_critical_handled, 'critical', true), $url->setFilter($urlFilter), [ 'title' => sprintf( @@ -57,42 +71,42 @@ class ServicegroupGridCell extends BaseServiceGroupItem . ' "%s"', 'List %d services which are currently in CRITICAL (Acknowledged) state in service group' . ' "%s"', - $this->item->services_critical_handled + $item->services_critical_handled ), - $this->item->services_critical_handled, - $this->item->display_name + $item->services_critical_handled, + $item->display_name ) ] ); - } elseif ($this->item->services_warning_unhandled > 0) { + } elseif ($item->services_warning_unhandled > 0) { $urlFilter->add(Filter::equal('service.state.soft_state', 1)) ->add(Filter::equal('service.state.is_handled', 'n')) ->add(Filter::equal('service.state.is_reachable', 'y')); - return new Link( - new StateBadge($this->item->services_warning_unhandled, 'warning'), + $link = new Link( + new StateBadge($item->services_warning_unhandled, 'warning'), $url->setFilter($urlFilter), [ 'title' => sprintf( $this->translatePlural( 'List %d service that is currently in WARNING state in service group "%s"', 'List %d services which are currently in WARNING state in service group "%s"', - $this->item->services_warning_unhandled + $item->services_warning_unhandled ), - $this->item->services_warning_unhandled, - $this->item->display_name + $item->services_warning_unhandled, + $item->display_name ) ] ); - } elseif ($this->item->services_warning_handled > 0) { + } elseif ($item->services_warning_handled > 0) { $urlFilter->add(Filter::equal('service.state.soft_state', 1)) ->add(Filter::any( Filter::equal('service.state.is_handled', 'y'), Filter::equal('service.state.is_reachable', 'n') )); - return new Link( - new StateBadge($this->item->services_warning_handled, 'warning', true), + $link = new Link( + new StateBadge($item->services_warning_handled, 'warning', true), $url->setFilter($urlFilter), [ 'title' => sprintf( @@ -101,42 +115,42 @@ class ServicegroupGridCell extends BaseServiceGroupItem . ' "%s"', 'List %d services which are currently in WARNING (Acknowledged) state in service group' . ' "%s"', - $this->item->services_warning_handled + $item->services_warning_handled ), - $this->item->services_warning_handled, - $this->item->display_name + $item->services_warning_handled, + $item->display_name ) ] ); - } elseif ($this->item->services_unknown_unhandled > 0) { + } elseif ($item->services_unknown_unhandled > 0) { $urlFilter->add(Filter::equal('service.state.soft_state', 3)) ->add(Filter::equal('service.state.is_handled', 'n')) ->add(Filter::equal('service.state.is_reachable', 'y')); - return new Link( - new StateBadge($this->item->services_unknown_unhandled, 'unknown'), + $link = new Link( + new StateBadge($item->services_unknown_unhandled, 'unknown'), $url->setFilter($urlFilter), [ 'title' => sprintf( $this->translatePlural( 'List %d service that is currently in UNKNOWN state in service group "%s"', 'List %d services which are currently in UNKNOWN state in service group "%s"', - $this->item->services_unknown_unhandled + $item->services_unknown_unhandled ), - $this->item->services_unknown_unhandled, - $this->item->display_name + $item->services_unknown_unhandled, + $item->display_name ) ] ); - } elseif ($this->item->services_unknown_handled > 0) { + } elseif ($item->services_unknown_handled > 0) { $urlFilter->add(Filter::equal('service.state.soft_state', 3)) ->add(Filter::any( Filter::equal('service.state.is_handled', 'y'), Filter::equal('service.state.is_reachable', 'n') )); - return new Link( - new StateBadge($this->item->services_unknown_handled, 'unknown', true), + $link = new Link( + new StateBadge($item->services_unknown_handled, 'unknown', true), $url->setFilter($urlFilter), [ 'title' => sprintf( @@ -145,60 +159,101 @@ class ServicegroupGridCell extends BaseServiceGroupItem . ' "%s"', 'List %d services which are currently in UNKNOWN (Acknowledged) state in service group' . ' "%s"', - $this->item->services_unknown_handled + $item->services_unknown_handled ), - $this->item->services_unknown_handled, - $this->item->display_name + $item->services_unknown_handled, + $item->display_name ) ] ); - } elseif ($this->item->services_pending > 0) { + } elseif ($item->services_pending > 0) { $urlFilter->add(Filter::equal('service.state.soft_state', 99)); - return new Link( - new StateBadge($this->item->services_pending, 'pending'), + $link = new Link( + new StateBadge($item->services_pending, 'pending'), $url->setFilter($urlFilter), [ 'title' => sprintf( $this->translatePlural( 'List %d service that is currently in PENDING state in service group "%s"', 'List %d services which are currently in PENDING state in service group "%s"', - $this->item->services_pending + $item->services_pending ), - $this->item->services_pending, - $this->item->display_name + $item->services_pending, + $item->display_name ) ] ); - } elseif ($this->item->services_ok > 0) { + } elseif ($item->services_ok > 0) { $urlFilter->add(Filter::equal('service.state.soft_state', 0)); - return new Link( - new StateBadge($this->item->services_ok, 'ok'), + $link = new Link( + new StateBadge($item->services_ok, 'ok'), $url->setFilter($urlFilter), [ 'title' => sprintf( $this->translatePlural( 'List %d service that is currently in OK state in service group "%s"', 'List %d services which are currently in OK state in service group "%s"', - $this->item->services_ok + $item->services_ok ), - $this->item->services_ok, - $this->item->display_name + $item->services_ok, + $item->display_name + ) + ] + ); + } else { + $link = new Link( + new StateBadge(0, 'none'), + Links::servicegroup($item), + [ + 'title' => sprintf( + $this->translate('There are no services in service group "%s"'), + $item->display_name ) ] ); } - return new Link( - new StateBadge(0, 'none'), - $url, + $visual->addHtml($link); + } + + public function assembleTitle($item, HtmlDocument $title, string $layout): void + { + $link = new Link( + $item->display_name, + Links::servicegroup($item), [ + 'class' => 'subject', 'title' => sprintf( - $this->translate('There are no services in service group "%s"'), - $this->item->display_name + $this->translate('List all services in the group "%s"'), + $item->display_name ) ] ); + + if ($this->hasBaseFilter()) { + $link->getUrl()->setFilter($this->getBaseFilter()); + } + + $title->addHtml($link); + } + + public function assembleCaption($item, HtmlDocument $caption, string $layout): void + { + $caption->addHtml(Text::create($item->name)); + } + + public function assembleExtendedInfo($item, HtmlDocument $info, string $layout): void + { + } + + public function assembleFooter($item, HtmlDocument $footer, string $layout): void + { + } + + public function assemble($item, string $name, HtmlDocument $element, string $layout): bool + { + return false; // no custom sections } } diff --git a/library/Icingadb/View/ServicegroupRenderer.php b/library/Icingadb/View/ServicegroupRenderer.php new file mode 100644 index 00000000..56df0e91 --- /dev/null +++ b/library/Icingadb/View/ServicegroupRenderer.php @@ -0,0 +1,107 @@ + */ +class ServicegroupRenderer implements ItemTableRenderer +{ + use Translation; + use BaseFilter; + + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->get('class')->addValue('servicegroup'); + } + + public function assembleVisual($item, HtmlDocument $visual, string $layout): void + { + } + + public function assembleTitle($item, HtmlDocument $title, string $layout): void + { + if ($layout === 'header') { + $title->addHtml(new HtmlElement( + 'span', + Attributes::create(['class' => 'subject']), + Text::create($item->display_name) + )); + } else { + $link = new Link( + $item->display_name, + Links::servicegroup($item), + [ + 'class' => 'subject', + 'title' => sprintf( + $this->translate('List all services in the group "%s"'), + $item->display_name + ) + ] + ); + + if ($this->hasBaseFilter()) { + $link->getUrl()->setFilter($this->getBaseFilter()); + } + + $title->addHtml($link); + } + } + + public function assembleCaption($item, HtmlDocument $caption, string $layout): void + { + $caption->addHtml(Text::create($item->name)); + } + + public function assembleExtendedInfo($item, HtmlDocument $info, string $layout): void + { + // assembleExtendedInfo() is only called when $layout == header + $info->addHtml($this->createStatistics($item)); + } + + public function assembleFooter($item, HtmlDocument $footer, string $layout): void + { + } + + public function assemble($item, string $name, HtmlDocument $element, string $layout): bool + { + return false; // no custom sections + } + + public function assembleColumns($item, HtmlDocument $columns, string $layout): void + { + $serviceStats = $this->createStatistics($item); + + if ($this->hasBaseFilter()) { + $serviceStats->setBaseFilter(Filter::all($serviceStats->getBaseFilter(), $this->getBaseFilter())); + } + + $columns->addHtml($serviceStats); + } + + /** + * Create statistics for the given item + * + * @param ServicegroupSummary $item + * + * @return ServiceStatistics + */ + protected function createStatistics(ServicegroupSummary $item): ServiceStatistics + { + return (new ServiceStatistics($item)) + ->setBaseFilter(Filter::equal('servicegroup.name', $item->name)); + } +} diff --git a/library/Icingadb/View/UserRenderer.php b/library/Icingadb/View/UserRenderer.php new file mode 100644 index 00000000..077739ef --- /dev/null +++ b/library/Icingadb/View/UserRenderer.php @@ -0,0 +1,63 @@ + */ +class UserRenderer implements ItemRenderer +{ + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->get('class')->addValue('user'); + } + + public function assembleVisual($item, HtmlDocument $visual, string $layout): void + { + $visual->addHtml(new HtmlElement( + 'div', + Attributes::create(['class' => 'user-ball']), + Text::create($item->display_name[0]) + )); + } + + public function assembleTitle($item, HtmlDocument $title, string $layout): void + { + if ($layout === 'header') { + $title->addHtml(new HtmlElement( + 'span', + Attributes::create(['class' => 'subject']), + Text::create($item->display_name) + )); + } else { + $title->addHtml(new Link($item->display_name, Links::user($item), ['class' => 'subject'])); + } + } + + public function assembleCaption($item, HtmlDocument $caption, string $layout): void + { + $caption->addHtml(Text::create($item->name)); + } + + public function assembleExtendedInfo($item, HtmlDocument $info, string $layout): void + { + } + + public function assembleFooter($item, HtmlDocument $footer, string $layout): void + { + } + + public function assemble($item, string $name, HtmlDocument $element, string $layout): bool + { + return false; // no custom sections + } +} diff --git a/library/Icingadb/View/UsergroupRenderer.php b/library/Icingadb/View/UsergroupRenderer.php new file mode 100644 index 00000000..50c7f672 --- /dev/null +++ b/library/Icingadb/View/UsergroupRenderer.php @@ -0,0 +1,63 @@ + */ +class UsergroupRenderer implements ItemRenderer +{ + public function assembleAttributes($item, Attributes $attributes, string $layout): void + { + $attributes->get('class')->addValue('user-group'); + } + + public function assembleVisual($item, HtmlDocument $visual, string $layout): void + { + $visual->addHtml(new HtmlElement( + 'div', + Attributes::create(['class' => 'usergroup-ball']), + Text::create($item->display_name[0]) + )); + } + + public function assembleTitle($item, HtmlDocument $title, string $layout): void + { + if ($layout === 'header') { + $title->addHtml(new HtmlElement( + 'span', + Attributes::create(['class' => 'subject']), + Text::create($item->display_name) + )); + } else { + $title->addHtml(new Link($item->display_name, Links::usergroup($item), ['class' => 'subject'])); + } + } + + public function assembleCaption($item, HtmlDocument $caption, string $layout): void + { + $caption->addHtml(Text::create($item->name)); + } + + public function assembleExtendedInfo($item, HtmlDocument $info, string $layout): void + { + } + + public function assembleFooter($item, HtmlDocument $footer, string $layout): void + { + } + + public function assemble($item, string $name, HtmlDocument $element, string $layout): bool + { + return false; // no custom sections + } +} diff --git a/library/Icingadb/Web/Controller.php b/library/Icingadb/Web/Controller.php index ffa711ac..ae812047 100644 --- a/library/Icingadb/Web/Controller.php +++ b/library/Icingadb/Web/Controller.php @@ -37,8 +37,6 @@ use ipl\Html\ValidHtml; use ipl\Orm\Query; use ipl\Orm\UnionQuery; use ipl\Stdlib\Filter; -use ipl\Web\Common\BaseItemList; -use ipl\Web\Common\BaseItemTable; use ipl\Web\Compat\CompatController; use ipl\Web\Control\LimitControl; use ipl\Web\Control\PaginationControl; @@ -486,9 +484,7 @@ class Controller extends CompatController protected function addContent(ValidHtml $content) { - if ($content instanceof BaseItemList || $content instanceof BaseItemTable) { - $this->content->getAttributes()->add('class', 'full-width'); - } elseif ($content instanceof StateItemTable) { + if ($content instanceof StateItemTable) { $this->content->getAttributes()->add('class', 'full-height'); } diff --git a/library/Icingadb/Widget/Detail/DowntimeDetail.php b/library/Icingadb/Widget/Detail/DowntimeDetail.php index 9e50f7f2..ccc886a7 100644 --- a/library/Icingadb/Widget/Detail/DowntimeDetail.php +++ b/library/Icingadb/Widget/Detail/DowntimeDetail.php @@ -10,12 +10,13 @@ use Icinga\Module\Icingadb\Common\Auth; use Icinga\Module\Icingadb\Common\Database; use Icinga\Module\Icingadb\Common\HostLink; use Icinga\Module\Icingadb\Common\Links; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Icinga\Module\Icingadb\Widget\MarkdownText; use Icinga\Module\Icingadb\Common\ServiceLink; use Icinga\Module\Icingadb\Forms\Command\Object\DeleteDowntimeForm; use Icinga\Module\Icingadb\Model\Downtime; -use Icinga\Module\Icingadb\Widget\ItemList\DowntimeList; use Icinga\Module\Icingadb\Widget\ShowMore; +use ipl\Web\Url; use ipl\Web\Widget\EmptyState; use ipl\Web\Widget\HorizontalKeyValue; use ipl\Html\BaseHtmlElement; @@ -180,7 +181,7 @@ class DowntimeDetail extends BaseHtmlElement if ($children->hasResult()) { $this->addHtml( new HtmlElement('h2', null, Text::create(t('Children'))), - new DowntimeList($children), + new ObjectList($children), (new ShowMore($children, Links::downtimes()->setQueryString( QueryString::render(Filter::any( Filter::equal('downtime.parent.name', $this->downtime->name), diff --git a/library/Icingadb/Widget/Detail/EventDetail.php b/library/Icingadb/Widget/Detail/EventDetail.php index ccbfbc92..f0d0fb07 100644 --- a/library/Icingadb/Widget/Detail/EventDetail.php +++ b/library/Icingadb/Widget/Detail/EventDetail.php @@ -15,6 +15,7 @@ use Icinga\Module\Icingadb\Common\HostStates; use Icinga\Module\Icingadb\Common\Links; use Icinga\Module\Icingadb\Common\TicketLinks; use Icinga\Module\Icingadb\Hook\ExtensionHook\ObjectDetailExtensionHook; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Icinga\Module\Icingadb\Widget\MarkdownText; use Icinga\Module\Icingadb\Common\ServiceLink; use Icinga\Module\Icingadb\Common\ServiceStates; @@ -27,10 +28,10 @@ use Icinga\Module\Icingadb\Model\NotificationHistory; use Icinga\Module\Icingadb\Model\StateHistory; use Icinga\Module\Icingadb\Util\PluginOutput; use Icinga\Module\Icingadb\Widget\ShowMore; +use ipl\Web\Url; use ipl\Web\Widget\CopyToClipboard; use ipl\Web\Widget\EmptyState; use ipl\Web\Widget\HorizontalKeyValue; -use Icinga\Module\Icingadb\Widget\ItemTable\UserTable; use Icinga\Module\Icingadb\Widget\PluginOutputContainer; use ipl\Html\BaseHtmlElement; use ipl\Html\FormattedString; @@ -169,7 +170,7 @@ class EventDetail extends BaseHtmlElement $users = $users->execute(); /** @var ResultSet $users */ - $notifiedUsers[] = new UserTable($users); + $notifiedUsers[] = new ObjectList($users); $notifiedUsers[] = (new ShowMore( $users, Links::users()->addParams(['notification_history.id' => bin2hex($notification->id)]), diff --git a/library/Icingadb/Widget/Detail/ObjectDetail.php b/library/Icingadb/Widget/Detail/ObjectDetail.php index c4e0a689..3b8e4678 100644 --- a/library/Icingadb/Widget/Detail/ObjectDetail.php +++ b/library/Icingadb/Widget/Detail/ObjectDetail.php @@ -28,7 +28,8 @@ use Icinga\Module\Icingadb\Model\Service; use Icinga\Module\Icingadb\Model\UnreachableParent; use Icinga\Module\Icingadb\Redis\VolatileStateResults; use Icinga\Module\Icingadb\Web\Navigation\Action; -use Icinga\Module\Icingadb\Widget\ItemList\DependencyNodeList; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; +use Icinga\Module\Icingadb\Widget\ItemList\TicketLinkObjectList; use Icinga\Module\Icingadb\Widget\MarkdownText; use Icinga\Module\Icingadb\Common\ServiceLinks; use Icinga\Module\Icingadb\Forms\Command\Object\ToggleObjectFeaturesForm; @@ -42,11 +43,11 @@ use Icinga\Module\Icingadb\Widget\ItemList\DowntimeList; use Icinga\Module\Icingadb\Widget\ShowMore; use ipl\Sql\Expression; use ipl\Sql\Filter\Exists; +use ipl\Web\Url; use ipl\Web\Widget\CopyToClipboard; use ipl\Web\Widget\EmptyState; use ipl\Web\Widget\EmptyStateBar; use ipl\Web\Widget\HorizontalKeyValue; -use Icinga\Module\Icingadb\Widget\ItemList\CommentList; use Icinga\Module\Icingadb\Widget\PluginOutputContainer; use Icinga\Module\Icingadb\Widget\TagList; use Icinga\Module\Monitoring\Hook\DetailviewExtensionHook; @@ -231,7 +232,7 @@ class ObjectDetail extends BaseHtmlElement $content = [Html::tag('h2', t('Comments'))]; if ($comments->hasResult()) { - $content[] = (new CommentList($comments))->setObjectLinkDisabled()->setTicketLinkEnabled(); + $content[] = new TicketLinkObjectList($comments); $content[] = (new ShowMore($comments, $link))->setBaseTarget('_next'); } else { $content[] = new EmptyState(t('No comments created.')); @@ -282,7 +283,7 @@ class ObjectDetail extends BaseHtmlElement $content = [Html::tag('h2', t('Downtimes'))]; if ($downtimes->hasResult()) { - $content[] = (new DowntimeList($downtimes))->setObjectLinkDisabled()->setTicketLinkEnabled(); + $content[] = new TicketLinkObjectList($downtimes); $content[] = (new ShowMore($downtimes, $link))->setBaseTarget('_next'); } else { $content[] = new EmptyState(t('No downtimes scheduled.')); @@ -668,7 +669,7 @@ class ObjectDetail extends BaseHtmlElement return [ HtmlElement::create('h2', null, Text::create(t('Root Problems'))), - (new DependencyNodeList($rootProblems))->setEmptyStateMessage( + (new ObjectList($rootProblems))->setEmptyStateMessage( t('You are not authorized to view these objects.') ) ]; @@ -744,7 +745,7 @@ class ObjectDetail extends BaseHtmlElement return [ HtmlElement::create('h2', null, Text::create(t('Affected Objects'))), - (new DependencyNodeList($affectedObjects))->setEmptyStateMessage( + (new ObjectList($affectedObjects))->setEmptyStateMessage( t('You are not authorized to view these objects.') ) ]; diff --git a/library/Icingadb/Widget/Detail/ObjectHeader.php b/library/Icingadb/Widget/Detail/ObjectHeader.php index 15862202..4036f579 100644 --- a/library/Icingadb/Widget/Detail/ObjectHeader.php +++ b/library/Icingadb/Widget/Detail/ObjectHeader.php @@ -1,26 +1,48 @@ */ - protected $baseAttributes = ['class' => 'object-header']; - - /** @var Model The associated object */ + /** @var Item */ protected $object; protected $tag = 'div'; @@ -28,118 +50,70 @@ abstract class ObjectHeader extends BaseHtmlElement /** * Create a new object header * - * @param Model $object + * @param Item $object */ public function __construct(Model $object) { $this->object = $object; - - $this->addAttributes($this->baseAttributes); - - $this->init(); - } - - abstract protected function assembleHeader(BaseHtmlElement $header): void; - - abstract protected function assembleMain(BaseHtmlElement $main): void; - - protected function assembleCaption(BaseHtmlElement $caption): void - { - } - - protected function assembleTitle(BaseHtmlElement $title): void - { - } - - protected function assembleVisual(BaseHtmlElement $visual): void - { - } - - protected function getStateBallSize(): string - { - return StateBall::SIZE_BIG; - } - - protected function createCaption(): BaseHtmlElement - { - $caption = new HtmlElement('section', Attributes::create(['class' => 'caption'])); - - $this->assembleCaption($caption); - - return $caption; - } - - protected function createHeader(): BaseHtmlElement - { - $header = new HtmlElement('header'); - - $this->assembleHeader($header); - - return $header; - } - - protected function createMain(): BaseHtmlElement - { - $main = new HtmlElement('div', Attributes::create(['class' => 'main'])); - - $this->assembleMain($main); - - return $main; - } - - protected function createTimestamp(): ?BaseHtmlElement - { - //TODO: add support for host/service - return new TimeSince($this->object->state->last_state_change->getTimestamp()); - } - - protected function createSubject(): BaseHtmlElement - { - return new HtmlElement( - 'span', - Attributes::create(['class' => 'subject']), - Text::create($this->object->display_name) - ); - } - - protected function createTitle(): BaseHtmlElement - { - $title = new HtmlElement('div', Attributes::create(['class' => 'title'])); - - $this->assembleTitle($title); - - return $title; } /** - * @return ?BaseHtmlElement + * @throws NotImplementedError When the object type is not supported */ - protected function createVisual(): ?BaseHtmlElement - { - $visual = new HtmlElement('div', Attributes::create(['class' => 'visual'])); - - $this->assembleVisual($visual); - if ($visual->isEmpty()) { - return null; - } - - return $visual; - } - - /** - * Initialize the list item - * - * If you want to adjust the object header after construction, override this method. - */ - protected function init(): void - { - } - protected function assemble(): void { - $this->add([ - $this->createVisual(), - $this->createMain() - ]); + switch (true) { + case $this->object instanceof RedundancyGroup: + $renderer = new RedundancyGroupRenderer(); + + break; + case $this->object instanceof Service: + $renderer = new ServiceRenderer(); + + break; + case $this->object instanceof Host: + $renderer = new HostRenderer(); + + break; + case $this->object instanceof Usergroup: + $renderer = new UsergroupRenderer(); + + break; + case $this->object instanceof User: + $renderer = new UserRenderer(); + + break; + case $this->object instanceof Comment: + $renderer = (new CommentRenderer())->setTicketLinkDisabled(); + + break; + case $this->object instanceof Downtime: + $renderer = (new DowntimeRenderer())->setTicketLinkDisabled(); + + break; + case $this->object instanceof History: + $renderer = new EventRenderer(); + + break; + case $this->object instanceof Hostgroupsummary: + $renderer = new HostgroupRenderer(); + + break; + case $this->object instanceof ServicegroupSummary: + $renderer = new ServicegroupRenderer(); + + break; + default: + throw new NotImplementedError('Not implemented'); + } + + $layout = new HeaderItemLayout($this->object, $renderer); + + if (isset($this->object->icon_image->icon_image)) { + $layout->after(ItemLayout::VISUAL, 'icon-image'); + } + + $this->addAttributes($layout->getAttributes()); + $this->addHtml($layout); } } diff --git a/library/Icingadb/Widget/Detail/RedundancyGroupDetail.php b/library/Icingadb/Widget/Detail/RedundancyGroupDetail.php index 8e7f4f59..8f4ce721 100644 --- a/library/Icingadb/Widget/Detail/RedundancyGroupDetail.php +++ b/library/Icingadb/Widget/Detail/RedundancyGroupDetail.php @@ -10,7 +10,7 @@ use Icinga\Module\Icingadb\Model\DependencyNode; use Icinga\Module\Icingadb\Model\RedundancyGroup; use Icinga\Module\Icingadb\Model\UnreachableParent; use Icinga\Module\Icingadb\Redis\VolatileStateResults; -use Icinga\Module\Icingadb\Widget\ItemList\DependencyNodeList; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Icinga\Module\Icingadb\Hook\ExtensionHook\ObjectDetailExtensionHook; use Icinga\Module\Icingadb\Widget\ShowMore; use ipl\Html\BaseHtmlElement; @@ -96,7 +96,7 @@ class RedundancyGroupDetail extends BaseHtmlElement return [ HtmlElement::create('h2', null, Text::create($this->translate('Root Problems'))), - (new DependencyNodeList($rootProblems))->setEmptyStateMessage( + (new ObjectList($rootProblems))->setEmptyStateMessage( $this->translate('You are not authorized to view these objects.') ) ]; @@ -129,7 +129,7 @@ class RedundancyGroupDetail extends BaseHtmlElement return [ HtmlElement::create('h2', null, Text::create($this->translate('Group Members'))), - (new DependencyNodeList($members)) + (new ObjectList($members)) ->setEmptyStateMessage($this->translate('You are not authorized to view these objects.')), (new ShowMore($members, Url::fromPath('icingadb/redundancygroup/members', ['id' => $this->group->id]))) ->setBaseTarget('_self') diff --git a/library/Icingadb/Widget/Detail/RedundancyGroupHeader.php b/library/Icingadb/Widget/Detail/RedundancyGroupHeader.php deleted file mode 100644 index 850a9480..00000000 --- a/library/Icingadb/Widget/Detail/RedundancyGroupHeader.php +++ /dev/null @@ -1,71 +0,0 @@ -summary = $summary; - - parent::__construct($object); - } - - protected function assembleVisual(BaseHtmlElement $visual): void - { - $stateBall = new StateBall($this->object->state->getStateText(), $this->getStateBallSize()); - $stateBall->add($this->object->state->getIcon()); - - $visual->addHtml($stateBall); - } - - protected function assembleTitle(BaseHtmlElement $title): void - { - $subject = $this->createSubject(); - if ($this->object->state->failed) { - $title->addHtml(Html::sprintf( - $this->translate('%s has no working objects', ' has ...'), - $subject - )); - } else { - $title->addHtml(Html::sprintf( - $this->translate('%s has working objects', ' has ...'), - $subject - )); - } - } - - protected function createStatistics(): BaseHtmlElement - { - return new DependencyNodeStatistics($this->summary); - } - - protected function assembleHeader(BaseHtmlElement $header): void - { - $header->add($this->createTitle()); - $header->add($this->createStatistics()); - $header->add($this->createTimestamp()); - } - - protected function assembleMain(BaseHtmlElement $main): void - { - $main->add($this->createHeader()); - } -} diff --git a/library/Icingadb/Widget/Detail/UserDetail.php b/library/Icingadb/Widget/Detail/UserDetail.php index 99c23058..6a8036b8 100644 --- a/library/Icingadb/Widget/Detail/UserDetail.php +++ b/library/Icingadb/Widget/Detail/UserDetail.php @@ -9,11 +9,12 @@ use Icinga\Module\Icingadb\Common\Database; use Icinga\Module\Icingadb\Common\Links; use Icinga\Module\Icingadb\Hook\ExtensionHook\ObjectDetailExtensionHook; use Icinga\Module\Icingadb\Model\User; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Icinga\Module\Icingadb\Widget\ShowMore; use ipl\Html\Attributes; +use ipl\Web\Url; use ipl\Web\Widget\EmptyState; use ipl\Web\Widget\HorizontalKeyValue; -use Icinga\Module\Icingadb\Widget\ItemTable\UsergroupTable; use ipl\Html\BaseHtmlElement; use ipl\Html\HtmlElement; use ipl\Html\Text; @@ -89,7 +90,7 @@ class UserDetail extends BaseHtmlElement return [ new HtmlElement('h2', null, Text::create(t('Groups'))), - new UsergroupTable($userGroups), + new ObjectList($userGroups), $showMoreLink ]; } diff --git a/library/Icingadb/Widget/Detail/UsergroupDetail.php b/library/Icingadb/Widget/Detail/UsergroupDetail.php index 249c7955..c980ed57 100644 --- a/library/Icingadb/Widget/Detail/UsergroupDetail.php +++ b/library/Icingadb/Widget/Detail/UsergroupDetail.php @@ -9,12 +9,13 @@ use Icinga\Module\Icingadb\Common\Database; use Icinga\Module\Icingadb\Common\Links; use Icinga\Module\Icingadb\Hook\ExtensionHook\ObjectDetailExtensionHook; use Icinga\Module\Icingadb\Model\Usergroup; -use Icinga\Module\Icingadb\Widget\ItemTable\UserTable; +use Icinga\Module\Icingadb\Widget\ItemList\ObjectList; use Icinga\Module\Icingadb\Widget\ShowMore; use ipl\Html\Attributes; use ipl\Html\BaseHtmlElement; use ipl\Html\HtmlElement; use ipl\Html\Text; +use ipl\Web\Url; use ipl\Web\Widget\EmptyState; use ipl\Web\Widget\HorizontalKeyValue; @@ -74,7 +75,7 @@ class UsergroupDetail extends BaseHtmlElement return [ new HtmlElement('h2', null, Text::create(t('Users'))), - new UserTable($users), + new ObjectList($users), $showMoreLink ]; } diff --git a/library/Icingadb/Widget/ItemList/BaseCommentListItem.php b/library/Icingadb/Widget/ItemList/BaseCommentListItem.php deleted file mode 100644 index de11c0c9..00000000 --- a/library/Icingadb/Widget/ItemList/BaseCommentListItem.php +++ /dev/null @@ -1,131 +0,0 @@ -createTicketLinks($this->item->text)); - - $caption->getAttributes()->add($markdownLine->getAttributes()); - $caption->addFrom($markdownLine); - } - - protected function assembleTitle(BaseHtmlElement $title): void - { - $isAck = $this->item->entry_type === 'ack'; - $expires = $this->item->expire_time; - - $subjectText = sprintf( - $isAck ? t('%s acknowledged', '..') : t('%s commented', '..'), - $this->item->author - ); - - $headerParts = [ - new Icon(Icons::USER), - $this->getNoSubjectLink() - ? new HtmlElement('span', Attributes::create(['class' => 'subject']), Text::create($subjectText)) - : new Link($subjectText, Links::comment($this->item), ['class' => 'subject']) - ]; - - if ($isAck) { - $label = [Text::create('ack')]; - - if ($this->item->is_persistent) { - array_unshift($label, new Icon(Icons::IS_PERSISTENT)); - } - - $headerParts[] = Text::create(' '); - $headerParts[] = new HtmlElement('span', Attributes::create(['class' => 'ack-badge badge']), ...$label); - } - - if ($expires !== null) { - $headerParts[] = Text::create(' '); - $headerParts[] = new HtmlElement( - 'span', - Attributes::create(['class' => 'ack-badge badge']), - Text::create(t('EXPIRES')) - ); - } - - if ($this->getObjectLinkDisabled()) { - // pass - } elseif ($this->item->object_type === 'host') { - $headerParts[] = $this->createHostLink($this->item->host, true); - } else { - $headerParts[] = $this->createServiceLink($this->item->service, $this->item->service->host, true); - } - - $title->addHtml(...$headerParts); - } - - protected function assembleVisual(BaseHtmlElement $visual): void - { - $visual->addHtml(new HtmlElement( - 'div', - Attributes::create(['class' => 'user-ball']), - Text::create($this->item->author[0]) - )); - } - - protected function createTimestamp(): ?BaseHtmlElement - { - if ($this->item->expire_time) { - return Html::tag( - 'span', - FormattedString::create(t("expires %s"), new TimeUntil($this->item->expire_time->getTimestamp())) - ); - } - - return Html::tag( - 'span', - FormattedString::create(t("created %s"), new TimeAgo($this->item->entry_time->getTimestamp())) - ); - } - - protected function init(): void - { - $this->setTicketLinkEnabled($this->list->getTicketLinkEnabled()); - $this->list->addDetailFilterAttribute($this, Filter::equal('name', $this->item->name)); - $this->list->addMultiselectFilterAttribute($this, Filter::equal('name', $this->item->name)); - $this->setObjectLinkDisabled($this->list->getObjectLinkDisabled()); - $this->setNoSubjectLink($this->list->getNoSubjectLink()); - } -} diff --git a/library/Icingadb/Widget/ItemList/BaseDowntimeListItem.php b/library/Icingadb/Widget/ItemList/BaseDowntimeListItem.php deleted file mode 100644 index dedaa721..00000000 --- a/library/Icingadb/Widget/ItemList/BaseDowntimeListItem.php +++ /dev/null @@ -1,216 +0,0 @@ -item->start_time, $this->item->end_time) - && $this->item->is_flexible - && $this->item->is_in_effect - ) { - $this->startTime = $this->item->start_time->getTimestamp(); - $this->endTime = $this->item->end_time->getTimestamp(); - } else { - $this->startTime = $this->item->scheduled_start_time->getTimestamp(); - $this->endTime = $this->item->scheduled_end_time->getTimestamp(); - } - - $this->currentTime = time(); - - $this->isActive = $this->item->is_in_effect - || $this->item->is_flexible && $this->item->scheduled_start_time->getTimestamp() <= $this->currentTime; - - $until = ($this->isActive ? $this->endTime : $this->startTime) - $this->currentTime; - $this->duration = explode(' ', DateFormatter::formatDuration( - $until <= 3600 ? $until : $until + (3600 - ((int) $until % 3600)) - ), 2)[0]; - - $this->list->addDetailFilterAttribute($this, Filter::equal('name', $this->item->name)); - $this->list->addMultiselectFilterAttribute($this, Filter::equal('name', $this->item->name)); - $this->setObjectLinkDisabled($this->list->getObjectLinkDisabled()); - $this->setNoSubjectLink($this->list->getNoSubjectLink()); - $this->setTicketLinkEnabled($this->list->getTicketLinkEnabled()); - - if ($this->item->is_in_effect) { - $this->getAttributes()->add('class', 'in-effect'); - } - } - - protected function createProgress(): BaseHtmlElement - { - return new HtmlElement( - 'div', - Attributes::create([ - 'class' => 'progress', - 'data-animate-progress' => true, - 'data-start-time' => $this->startTime, - 'data-end-time' => $this->endTime - ]), - new HtmlElement( - 'div', - Attributes::create(['class' => 'bar']) - ) - ); - } - - protected function assembleCaption(BaseHtmlElement $caption): void - { - $markdownLine = new MarkdownLine($this->createTicketLinks($this->item->comment)); - $caption->getAttributes()->add($markdownLine->getAttributes()); - $caption->addHtml( - new HtmlElement( - 'span', - null, - new Icon(Icons::USER), - Text::create($this->item->author) - ), - Text::create(': ') - )->addFrom($markdownLine); - } - - protected function assembleTitle(BaseHtmlElement $title): void - { - if ($this->getObjectLinkDisabled()) { - $link = null; - } elseif ($this->item->object_type === 'host') { - $link = $this->createHostLink($this->item->host, true); - } else { - $link = $this->createServiceLink($this->item->service, $this->item->service->host, true); - } - - if ($this->item->is_flexible) { - if ($link !== null) { - $template = t('{{#link}}Flexible Downtime{{/link}} for %s'); - } else { - $template = t('Flexible Downtime'); - } - } else { - if ($link !== null) { - $template = t('{{#link}}Fixed Downtime{{/link}} for %s'); - } else { - $template = t('Fixed Downtime'); - } - } - - if ($this->getNoSubjectLink()) { - if ($link === null) { - $title->addHtml(HtmlElement::create('span', [ 'class' => 'subject'], $template)); - } else { - $title->addHtml(TemplateString::create( - $template, - ['link' => HtmlElement::create('span', [ 'class' => 'subject'])], - $link - )); - } - } else { - if ($link === null) { - $title->addHtml(new Link($template, Links::downtime($this->item))); - } else { - $title->addHtml(TemplateString::create( - $template, - ['link' => new Link('', Links::downtime($this->item))], - $link - )); - } - } - } - - protected function assembleVisual(BaseHtmlElement $visual): void - { - $dateTime = DateFormatter::formatDateTime($this->endTime); - - if ($this->isActive) { - $visual->addHtml(Html::sprintf( - t('%s left', '..'), - Html::tag( - 'strong', - Html::tag( - 'time', - [ - 'datetime' => $dateTime, - 'title' => $dateTime - ], - $this->duration - ) - ) - )); - } else { - $visual->addHtml(Html::sprintf( - t('in %s', '..'), - Html::tag('strong', $this->duration) - )); - } - } - - protected function createTimestamp(): ?BaseHtmlElement - { - $dateTime = DateFormatter::formatDateTime($this->isActive ? $this->endTime : $this->startTime); - - return Html::tag( - 'time', - [ - 'datetime' => $dateTime, - 'title' => $dateTime - ], - sprintf( - $this->isActive - ? t('expires in %s', '..') - : t('starts in %s', '..'), - $this->duration - ) - ); - } -} diff --git a/library/Icingadb/Widget/ItemList/BaseHistoryListItem.php b/library/Icingadb/Widget/ItemList/BaseHistoryListItem.php deleted file mode 100644 index 61da9fd1..00000000 --- a/library/Icingadb/Widget/ItemList/BaseHistoryListItem.php +++ /dev/null @@ -1,407 +0,0 @@ -setNoSubjectLink($this->list->getNoSubjectLink()); - $this->setTicketLinkEnabled($this->list->getTicketLinkEnabled()); - $this->list->addDetailFilterAttribute($this, Filter::equal('id', bin2hex($this->item->id))); - } - - abstract protected function getStateBallSize(): string; - - protected function assembleCaption(BaseHtmlElement $caption): void - { - switch ($this->item->event_type) { - case 'comment_add': - case 'comment_remove': - $markdownLine = new MarkdownLine($this->createTicketLinks($this->item->comment->comment)); - $caption->getAttributes()->add($markdownLine->getAttributes()); - $caption->add([ - new Icon(Icons::USER), - $this->item->comment->author, - ': ' - ])->addFrom($markdownLine); - - break; - case 'downtime_end': - case 'downtime_start': - $markdownLine = new MarkdownLine($this->createTicketLinks($this->item->downtime->comment)); - $caption->getAttributes()->add($markdownLine->getAttributes()); - $caption->add([ - new Icon(Icons::USER), - $this->item->downtime->author, - ': ' - ])->addFrom($markdownLine); - - break; - case 'flapping_start': - $caption - ->add(sprintf( - t('State Change Rate: %.2f%%; Start Threshold: %.2f%%'), - $this->item->flapping->percent_state_change_start, - $this->item->flapping->flapping_threshold_high - )) - ->getAttributes() - ->add('class', 'plugin-output'); - - break; - case 'flapping_end': - $caption - ->add(sprintf( - t('State Change Rate: %.2f%%; End Threshold: %.2f%%; Flapping for %s'), - $this->item->flapping->percent_state_change_end, - $this->item->flapping->flapping_threshold_low, - isset($this->item->flapping->end_time) - ? DateFormatter::formatDuration( - $this->item->flapping->end_time->getTimestamp() - - $this->item->flapping->start_time->getTimestamp() - ) - : t('n. a.') - )) - ->getAttributes() - ->add('class', 'plugin-output'); - - break; - case 'ack_clear': - case 'ack_set': - if (! isset($this->item->acknowledgement->comment) && ! isset($this->item->acknowledgement->author)) { - $caption->addHtml(new EmptyState( - t('This acknowledgement was set before Icinga DB history recording') - )); - } else { - $markdownLine = new MarkdownLine($this->createTicketLinks($this->item->acknowledgement->comment)); - $caption->getAttributes()->add($markdownLine->getAttributes()); - $caption->add([ - new Icon(Icons::USER), - $this->item->acknowledgement->author, - ': ' - ])->addFrom($markdownLine); - } - - break; - case 'notification': - if (! empty($this->item->notification->author)) { - $caption->add([ - new Icon(Icons::USER), - $this->item->notification->author, - ': ', - $this->item->notification->text - ]); - } else { - $commandName = $this->item->object_type === 'host' - ? $this->item->host->checkcommand_name - : $this->item->service->checkcommand_name; - if (isset($commandName)) { - if (empty($this->item->notification->text)) { - $caption->addHtml(new EmptyState(t('Output unavailable.'))); - } else { - $caption->addHtml(new PluginOutputContainer( - (new PluginOutput($this->item->notification->text)) - ->setCommandName($commandName) - )); - } - } else { - $caption->addHtml(new EmptyState(t('Waiting for Icinga DB to synchronize the config.'))); - } - } - - break; - case 'state_change': - $commandName = $this->item->object_type === 'host' - ? $this->item->host->checkcommand_name - : $this->item->service->checkcommand_name; - if (isset($commandName)) { - if (empty($this->item->state->output)) { - $caption->addHtml(new EmptyState(t('Output unavailable.'))); - } else { - $caption->addHtml(new PluginOutputContainer( - (new PluginOutput($this->item->state->output)) - ->setCommandName($commandName) - )); - } - } else { - $caption->addHtml(new EmptyState(t('Waiting for Icinga DB to synchronize the config.'))); - } - - break; - } - } - - protected function assembleVisual(BaseHtmlElement $visual): void - { - switch ($this->item->event_type) { - case 'comment_add': - $visual->addHtml(HtmlElement::create( - 'div', - ['class' => ['icon-ball', 'ball-size-' . $this->getStateBallSize()]], - new Icon(Icons::COMMENT) - )); - - break; - case 'comment_remove': - case 'downtime_end': - case 'ack_clear': - $visual->addHtml(HtmlElement::create( - 'div', - ['class' => ['icon-ball', 'ball-size-' . $this->getStateBallSize()]], - new Icon(Icons::REMOVE) - )); - - break; - case 'downtime_start': - $visual->addHtml(HtmlElement::create( - 'div', - ['class' => ['icon-ball', 'ball-size-' . $this->getStateBallSize()]], - new Icon(Icons::IN_DOWNTIME) - )); - - break; - case 'ack_set': - $visual->addHtml(HtmlElement::create( - 'div', - ['class' => ['icon-ball', 'ball-size-' . $this->getStateBallSize()]], - new Icon(Icons::IS_ACKNOWLEDGED) - )); - - break; - case 'flapping_end': - case 'flapping_start': - $visual->addHtml(HtmlElement::create( - 'div', - ['class' => ['icon-ball', 'ball-size-' . $this->getStateBallSize()]], - new Icon(Icons::IS_FLAPPING) - )); - - break; - case 'notification': - $visual->addHtml(HtmlElement::create( - 'div', - ['class' => ['icon-ball', 'ball-size-' . $this->getStateBallSize()]], - new Icon(Icons::NOTIFICATION) - )); - - break; - case 'state_change': - if ($this->item->state->state_type === 'soft') { - $stateType = 'soft_state'; - $previousStateType = 'previous_soft_state'; - - if ($this->item->state->previous_soft_state === 0) { - $previousStateType = 'hard_state'; - } - - $visual->addHtml(new CheckAttempt( - (int) $this->item->state->check_attempt, - (int) $this->item->state->max_check_attempts - )); - } else { - $stateType = 'hard_state'; - $previousStateType = 'previous_hard_state'; - - if ($this->item->state->hard_state === $this->item->state->previous_hard_state) { - $previousStateType = 'previous_soft_state'; - } - } - - if ($this->item->object_type === 'host') { - $state = HostStates::text($this->item->state->$stateType); - $previousState = HostStates::text($this->item->state->$previousStateType); - } else { - $state = ServiceStates::text($this->item->state->$stateType); - $previousState = ServiceStates::text($this->item->state->$previousStateType); - } - - $stateChange = new StateChange($state, $previousState); - if ($stateType === 'soft_state') { - $stateChange->setCurrentStateBallSize(StateBall::SIZE_MEDIUM_LARGE); - } - - if ($previousStateType === 'previous_soft_state') { - $stateChange->setPreviousStateBallSize(StateBall::SIZE_MEDIUM_LARGE); - if ($stateType === 'soft_state') { - $visual->getAttributes()->add('class', 'small-state-change'); - } - } - - $visual->prependHtml($stateChange); - - break; - } - } - - protected function assembleTitle(BaseHtmlElement $title): void - { - switch ($this->item->event_type) { - case 'comment_add': - $subjectLabel = t('Comment added'); - - break; - case 'comment_remove': - if (! empty($this->item->comment->removed_by)) { - if ($this->item->comment->removed_by !== $this->item->comment->author) { - $subjectLabel = sprintf( - t('Comment removed by %s', '..'), - $this->item->comment->removed_by - ); - } else { - $subjectLabel = t('Comment removed by author'); - } - } elseif (isset($this->item->comment->expire_time)) { - $subjectLabel = t('Comment expired'); - } else { - $subjectLabel = t('Comment removed'); - } - - break; - case 'downtime_end': - if (! empty($this->item->downtime->cancelled_by)) { - if ($this->item->downtime->cancelled_by !== $this->item->downtime->author) { - $subjectLabel = sprintf( - t('Downtime cancelled by %s', '..'), - $this->item->downtime->cancelled_by - ); - } else { - $subjectLabel = t('Downtime cancelled by author'); - } - } elseif ($this->item->downtime->has_been_cancelled === 'y') { - $subjectLabel = t('Downtime cancelled'); - } else { - $subjectLabel = t('Downtime ended'); - } - - break; - case 'downtime_start': - $subjectLabel = t('Downtime started'); - - break; - case 'flapping_start': - $subjectLabel = t('Flapping started'); - - break; - case 'flapping_end': - $subjectLabel = t('Flapping stopped'); - - break; - case 'ack_set': - $subjectLabel = t('Acknowledgement set'); - - break; - case 'ack_clear': - if (! empty($this->item->acknowledgement->cleared_by)) { - if ($this->item->acknowledgement->cleared_by !== $this->item->acknowledgement->author) { - $subjectLabel = sprintf( - t('Acknowledgement cleared by %s', '..'), - $this->item->acknowledgement->cleared_by - ); - } else { - $subjectLabel = t('Acknowledgement cleared by author'); - } - } elseif (isset($this->item->acknowledgement->expire_time)) { - $subjectLabel = t('Acknowledgement expired'); - } else { - $subjectLabel = t('Acknowledgement cleared'); - } - - break; - case 'notification': - $subjectLabel = isset($this->item->notification->type) ? sprintf( - NotificationListItem::phraseForType($this->item->notification->type), - ucfirst($this->item->object_type) - ) : $this->item->event_type; - - break; - case 'state_change': - $state = $this->item->state->state_type === 'hard' - ? $this->item->state->hard_state - : $this->item->state->soft_state; - if ($state === 0) { - if ($this->item->object_type === 'service') { - $subjectLabel = t('Service recovered'); - } else { - $subjectLabel = t('Host recovered'); - } - } else { - if ($this->item->state->state_type === 'hard') { - $subjectLabel = t('Hard state changed'); - } else { - $subjectLabel = t('Soft state changed'); - } - } - - break; - default: - $subjectLabel = $this->item->event_type; - - break; - } - - if ($this->getNoSubjectLink()) { - $title->addHtml(HtmlElement::create('span', ['class' => 'subject'], $subjectLabel)); - } else { - $title->addHtml(new Link($subjectLabel, Links::event($this->item), ['class' => 'subject'])); - } - - if ($this->item->object_type === 'host') { - if (isset($this->item->host->id)) { - $link = $this->createHostLink($this->item->host, true); - } - } else { - if (isset($this->item->host->id, $this->item->service->id)) { - $link = $this->createServiceLink($this->item->service, $this->item->host, true); - } - } - - $title->addHtml(Text::create(' ')); - if (isset($link)) { - $title->addHtml($link); - } - } - - protected function createTimestamp(): ?BaseHtmlElement - { - return new TimeAgo($this->item->event_time->getTimestamp()); - } -} diff --git a/library/Icingadb/Widget/ItemList/BaseHostListItem.php b/library/Icingadb/Widget/ItemList/BaseHostListItem.php deleted file mode 100644 index edaf6c88..00000000 --- a/library/Icingadb/Widget/ItemList/BaseHostListItem.php +++ /dev/null @@ -1,56 +0,0 @@ -getNoSubjectLink()) { - return new HtmlElement( - 'span', - Attributes::create(['class' => 'subject']), - Text::create($this->item->display_name) - ); - } else { - return new Link($this->item->display_name, Links::host($this->item), ['class' => 'subject']); - } - } - - protected function init(): void - { - parent::init(); - - if ($this->list->getNoSubjectLink()) { - $this->setNoSubjectLink(); - } - - $this->list->addDetailFilterAttribute($this, Filter::equal('name', $this->item->name)) - ->addMultiselectFilterAttribute($this, Filter::equal('host.name', $this->item->name)); - } -} diff --git a/library/Icingadb/Widget/ItemList/BaseNotificationListItem.php b/library/Icingadb/Widget/ItemList/BaseNotificationListItem.php deleted file mode 100644 index b538ac4a..00000000 --- a/library/Icingadb/Widget/ItemList/BaseNotificationListItem.php +++ /dev/null @@ -1,189 +0,0 @@ -setNoSubjectLink($this->list->getNoSubjectLink()); - $this->list->addDetailFilterAttribute($this, Filter::equal('id', bin2hex($this->item->history->id))); - } - - /** - * Get a localized phrase for the given notification type - * - * @param string $type - * - * @return string - */ - public static function phraseForType(string $type): string - { - switch ($type) { - case 'acknowledgement': - return t('Problem acknowledged'); - case 'custom': - return t('Custom Notification triggered'); - case 'downtime_end': - return t('Downtime ended'); - case 'downtime_removed': - return t('Downtime removed'); - case 'downtime_start': - return t('Downtime started'); - case 'flapping_end': - return t('Flapping stopped'); - case 'flapping_start': - return t('Flapping started'); - case 'problem': - return t('%s ran into a problem'); - case 'recovery': - return t('%s recovered'); - default: - throw new InvalidArgumentException(sprintf('Type %s is not a valid notification type', $type)); - } - } - - abstract protected function getStateBallSize(); - - protected function assembleCaption(BaseHtmlElement $caption): void - { - if (in_array($this->item->type, ['flapping_end', 'flapping_start', 'problem', 'recovery'])) { - $commandName = $this->item->object_type === 'host' - ? $this->item->host->checkcommand_name - : $this->item->service->checkcommand_name; - if (isset($commandName)) { - if (empty($this->item->text)) { - $caption->addHtml(new EmptyState(t('Output unavailable.'))); - } else { - $caption->addHtml(new PluginOutputContainer( - (new PluginOutput($this->item->text)) - ->setCommandName($commandName) - )); - } - } else { - $caption->addHtml(new EmptyState(t('Waiting for Icinga DB to synchronize the config.'))); - } - } else { - $caption->add([ - new Icon(Icons::USER), - $this->item->author, - ': ', - $this->item->text - ]); - } - } - - protected function assembleVisual(BaseHtmlElement $visual): void - { - switch ($this->item->type) { - case 'acknowledgement': - $visual->addHtml(HtmlElement::create( - 'div', - ['class' => ['icon-ball', 'ball-size-' . $this->getStateBallSize()]], - new Icon(Icons::IS_ACKNOWLEDGED) - )); - - break; - case 'custom': - $visual->addHtml(HtmlElement::create( - 'div', - ['class' => ['icon-ball', 'ball-size-' . $this->getStateBallSize()]], - new Icon(Icons::NOTIFICATION) - )); - - break; - case 'downtime_end': - case 'downtime_removed': - case 'downtime_start': - $visual->addHtml(HtmlElement::create( - 'div', - ['class' => ['icon-ball', 'ball-size-' . $this->getStateBallSize()]], - new Icon(Icons::IN_DOWNTIME) - )); - - break; - case 'flapping_end': - case 'flapping_start': - $visual->addHtml(HtmlElement::create( - 'div', - ['class' => ['icon-ball', 'ball-size-' . $this->getStateBallSize()]], - new Icon(Icons::IS_FLAPPING) - )); - - break; - case 'problem': - case 'recovery': - if ($this->item->object_type === 'host') { - $state = HostStates::text($this->item->state); - $previousHardState = HostStates::text($this->item->previous_hard_state); - } else { - $state = ServiceStates::text($this->item->state); - $previousHardState = ServiceStates::text($this->item->previous_hard_state); - } - - $visual->addHtml(new StateChange($state, $previousHardState)); - - break; - } - } - - protected function assembleTitle(BaseHtmlElement $title): void - { - if ($this->getNoSubjectLink()) { - $title->addHtml(HtmlElement::create( - 'span', - ['class' => 'subject'], - sprintf(self::phraseForType($this->item->type), ucfirst($this->item->object_type)) - )); - } else { - $title->addHtml(new Link( - sprintf(self::phraseForType($this->item->type), ucfirst($this->item->object_type)), - Links::event($this->item->history), - ['class' => 'subject'] - )); - } - - if ($this->item->object_type === 'host') { - $link = $this->createHostLink($this->item->host, true); - } else { - $link = $this->createServiceLink($this->item->service, $this->item->host, true); - } - - $title->addHtml(Text::create(' '), $link); - } - - protected function createTimestamp(): ?BaseHtmlElement - { - return new TimeAgo($this->item->send_time->getTimestamp()); - } -} diff --git a/library/Icingadb/Widget/ItemList/BaseServiceListItem.php b/library/Icingadb/Widget/ItemList/BaseServiceListItem.php deleted file mode 100644 index fe4f0146..00000000 --- a/library/Icingadb/Widget/ItemList/BaseServiceListItem.php +++ /dev/null @@ -1,70 +0,0 @@ -item->display_name; - $host = [ - new StateBall($this->item->host->state->getStateText(), StateBall::SIZE_MEDIUM), - ' ', - $this->item->host->display_name - ]; - - $host = new Link($host, Links::host($this->item->host), ['class' => 'subject']); - if ($this->getNoSubjectLink()) { - $service = new HtmlElement('span', Attributes::create(['class' => 'subject']), Text::create($service)); - } else { - $service = new Link($service, Links::service($this->item, $this->item->host), ['class' => 'subject']); - } - - return [Html::sprintf(t('%s on %s', ' on '), $service, $host)]; - } - - protected function init(): void - { - parent::init(); - - if ($this->list->getNoSubjectLink()) { - $this->setNoSubjectLink(); - } - - $this->list->addMultiselectFilterAttribute( - $this, - Filter::all( - Filter::equal('service.name', $this->item->name), - Filter::equal('host.name', $this->item->host->name) - ) - ); - $this->list->addDetailFilterAttribute( - $this, - Filter::all( - Filter::equal('name', $this->item->name), - Filter::equal('host.name', $this->item->host->name) - ) - ); - } -} diff --git a/library/Icingadb/Widget/ItemList/CommentList.php b/library/Icingadb/Widget/ItemList/CommentList.php deleted file mode 100644 index 5cf65aeb..00000000 --- a/library/Icingadb/Widget/ItemList/CommentList.php +++ /dev/null @@ -1,49 +0,0 @@ - 'comment-list']; - - protected function getItemClass(): string - { - $viewMode = $this->getViewMode(); - - $this->addAttributes(['class' => $viewMode]); - - if ($viewMode === 'minimal') { - return CommentListItemMinimal::class; - } elseif ($viewMode === 'detailed') { - $this->removeAttribute('class', 'default-layout'); - } - - return CommentListItem::class; - } - - protected function init(): void - { - $this->initializeDetailActions(); - $this->setMultiselectUrl(Links::commentsDetails()); - $this->setDetailUrl(Url::fromPath('icingadb/comment')); - } -} diff --git a/library/Icingadb/Widget/ItemList/CommentListItem.php b/library/Icingadb/Widget/ItemList/CommentListItem.php deleted file mode 100644 index 3bbd0c2b..00000000 --- a/library/Icingadb/Widget/ItemList/CommentListItem.php +++ /dev/null @@ -1,12 +0,0 @@ -list->isCaptionDisabled()) { - $this->setCaptionDisabled(); - } - } -} diff --git a/library/Icingadb/Widget/ItemList/DependencyNodeList.php b/library/Icingadb/Widget/ItemList/DependencyNodeList.php deleted file mode 100644 index 3457b16e..00000000 --- a/library/Icingadb/Widget/ItemList/DependencyNodeList.php +++ /dev/null @@ -1,62 +0,0 @@ - ['dependency-node-list']]; - - protected function init(): void - { - $this->initializeDetailActions(); - } - - protected function getItemClass(): string - { - return ''; - } - - protected function createListItem(object $data): BaseListItem - { - $viewMode = $this->getViewMode(); - /** @var UnreachableParent|DependencyNode $data */ - if ($data->redundancy_group_id !== null) { - if ($viewMode === 'minimal') { - return new RedundancyGroupListItemMinimal($data->redundancy_group, $this); - } - - if ($viewMode === 'detailed') { - $this->removeAttribute('class', 'default-layout'); - } - - return new RedundancyGroupListItem($data->redundancy_group, $this); - } - - $object = $data->service_id !== null ? $data->service : $data->host; - - switch ($viewMode) { - case 'minimal': - $class = $object instanceof Host ? HostListItemMinimal::class : ServiceListItemMinimal::class; - break; - case 'detailed': - $this->removeAttribute('class', 'default-layout'); - - $class = $object instanceof Host ? HostListItemDetailed::class : ServiceListItemDetailed::class; - break; - default: - $class = $object instanceof Host ? HostListItem::class : ServiceListItem::class; - } - - return new $class($object, $this); - } -} diff --git a/library/Icingadb/Widget/ItemList/DowntimeList.php b/library/Icingadb/Widget/ItemList/DowntimeList.php deleted file mode 100644 index 591ad984..00000000 --- a/library/Icingadb/Widget/ItemList/DowntimeList.php +++ /dev/null @@ -1,49 +0,0 @@ - 'downtime-list']; - - protected function getItemClass(): string - { - $viewMode = $this->getViewMode(); - - $this->addAttributes(['class' => $viewMode]); - - if ($viewMode === 'minimal') { - return DowntimeListItemMinimal::class; - } elseif ($viewMode === 'detailed') { - $this->removeAttribute('class', 'default-layout'); - } - - return DowntimeListItem::class; - } - - protected function init(): void - { - $this->initializeDetailActions(); - $this->setMultiselectUrl(Links::downtimesDetails()); - $this->setDetailUrl(Url::fromPath('icingadb/downtime')); - } -} diff --git a/library/Icingadb/Widget/ItemList/DowntimeListItem.php b/library/Icingadb/Widget/ItemList/DowntimeListItem.php deleted file mode 100644 index cb7e9b38..00000000 --- a/library/Icingadb/Widget/ItemList/DowntimeListItem.php +++ /dev/null @@ -1,23 +0,0 @@ -item->is_in_effect) { - $main->add($this->createProgress()); - } - - $main->add($this->createHeader()); - $main->add($this->createCaption()); - } -} diff --git a/library/Icingadb/Widget/ItemList/DowntimeListItemMinimal.php b/library/Icingadb/Widget/ItemList/DowntimeListItemMinimal.php deleted file mode 100644 index b8581d29..00000000 --- a/library/Icingadb/Widget/ItemList/DowntimeListItemMinimal.php +++ /dev/null @@ -1,21 +0,0 @@ -list->isCaptionDisabled()) { - $this->setCaptionDisabled(); - } - } -} diff --git a/library/Icingadb/Widget/ItemList/HistoryList.php b/library/Icingadb/Widget/ItemList/HistoryList.php deleted file mode 100644 index d3b62328..00000000 --- a/library/Icingadb/Widget/ItemList/HistoryList.php +++ /dev/null @@ -1,57 +0,0 @@ - 'history-list']; - - protected function init(): void - { - /** @var ResultSet $data */ - $data = $this->data; - $this->data = $this->getIterator($data); - $this->initializeDetailActions(); - $this->setDetailUrl(Url::fromPath('icingadb/event')); - } - - protected function getItemClass(): string - { - switch ($this->getViewMode()) { - case 'minimal': - return HistoryListItemMinimal::class; - case 'detailed': - $this->removeAttribute('class', 'default-layout'); - - return HistoryListItemDetailed::class; - default: - return HistoryListItem::class; - } - } - - protected function assemble(): void - { - $this->addAttributes(['class' => $this->getViewMode()]); - - parent::assemble(); - } -} diff --git a/library/Icingadb/Widget/ItemList/HistoryListItem.php b/library/Icingadb/Widget/ItemList/HistoryListItem.php deleted file mode 100644 index c44a8076..00000000 --- a/library/Icingadb/Widget/ItemList/HistoryListItem.php +++ /dev/null @@ -1,18 +0,0 @@ -list->isCaptionDisabled()) { - $this->setCaptionDisabled(); - } - } - - protected function getStateBallSize(): string - { - return StateBall::SIZE_BIG; - } -} diff --git a/library/Icingadb/Widget/ItemList/HostDetailHeader.php b/library/Icingadb/Widget/ItemList/HostDetailHeader.php deleted file mode 100644 index b7afb232..00000000 --- a/library/Icingadb/Widget/ItemList/HostDetailHeader.php +++ /dev/null @@ -1,69 +0,0 @@ -state->state_type === 'soft') { - $stateType = 'soft_state'; - $previousStateType = 'previous_soft_state'; - - if ($this->state->previous_soft_state === 0) { - $previousStateType = 'hard_state'; - } - } else { - $stateType = 'hard_state'; - $previousStateType = 'previous_hard_state'; - - if ($this->state->hard_state === $this->state->previous_hard_state) { - $previousStateType = 'previous_soft_state'; - } - } - - $state = HostStates::text($this->state->$stateType); - $previousState = HostStates::text($this->state->$previousStateType); - - $stateChange = new StateChange($state, $previousState); - if ($stateType === 'soft_state') { - $stateChange->setCurrentStateBallSize(StateBall::SIZE_MEDIUM_LARGE); - } - - if ($previousStateType === 'previous_soft_state') { - $stateChange->setPreviousStateBallSize(StateBall::SIZE_MEDIUM_LARGE); - if ($stateType === 'soft_state') { - $visual->getAttributes()->add('class', 'small-state-change'); - } - } - - $stateChange->setIcon($this->state->getIcon()); - $stateChange->setHandled( - $this->state->is_problem && ($this->state->is_handled || ! $this->state->is_reachable) - ); - - $visual->addHtml($stateChange); - } - - protected function assemble(): void - { - $attributes = $this->list->getAttributes(); - if (! in_array('minimal', $attributes->get('class')->getValue())) { - $attributes->add('class', 'minimal'); - } - - parent::assemble(); - } -} diff --git a/library/Icingadb/Widget/ItemList/HostList.php b/library/Icingadb/Widget/ItemList/HostList.php deleted file mode 100644 index 2be1f84a..00000000 --- a/library/Icingadb/Widget/ItemList/HostList.php +++ /dev/null @@ -1,39 +0,0 @@ - 'host-list']; - - protected function getItemClass(): string - { - switch ($this->getViewMode()) { - case 'minimal': - return HostListItemMinimal::class; - case 'detailed': - $this->removeAttribute('class', 'default-layout'); - - return HostListItemDetailed::class; - case 'objectHeader': - return HostDetailHeader::class; - default: - return HostListItem::class; - } - } - - protected function init(): void - { - $this->initializeDetailActions(); - $this->setMultiselectUrl(Links::hostsDetails()); - $this->setDetailUrl(Url::fromPath('icingadb/host')); - } -} diff --git a/library/Icingadb/Widget/ItemList/HostListItem.php b/library/Icingadb/Widget/ItemList/HostListItem.php deleted file mode 100644 index 2eae6600..00000000 --- a/library/Icingadb/Widget/ItemList/HostListItem.php +++ /dev/null @@ -1,18 +0,0 @@ - 'status-icons'])); - - if ($this->item->state->last_comment->host_id === $this->item->id) { - $comment = $this->item->state->last_comment; - $comment->host = $this->item; - $comment = (new CommentList([$comment])) - ->setNoSubjectLink() - ->setObjectLinkDisabled() - ->setDetailActionsDisabled(); - - $statusIcons->addHtml( - new HtmlElement( - 'div', - Attributes::create(['class' => 'comment-wrapper']), - new HtmlElement('div', Attributes::create(['class' => 'comment-popup']), $comment), - (new Icon('comments', ['class' => 'comment-icon'])) - ) - ); - } - - if ($this->item->state->is_flapping) { - $statusIcons->addHtml(new Icon( - 'random', - [ - 'title' => sprintf(t('Host "%s" is in flapping state'), $this->item->display_name), - ] - )); - } - - if (! $this->item->notifications_enabled) { - $statusIcons->addHtml(new Icon('bell-slash', ['title' => t('Notifications disabled')])); - } - - if (! $this->item->active_checks_enabled) { - $statusIcons->addHtml(new Icon('eye-slash', ['title' => t('Active checks disabled')])); - } - - $performanceData = new HtmlElement('div', Attributes::create(['class' => 'performance-data'])); - if ($this->item->state->performance_data) { - $pieChartData = PerfDataSet::fromString($this->item->state->normalized_performance_data)->asArray(); - - $pies = []; - foreach ($pieChartData as $i => $perfdata) { - if ($perfdata->isVisualizable()) { - $pies[] = $perfdata->asInlinePie()->render(); - } - - // Check if number of visualizable pie charts is larger than PIE_CHART_LIMIT - if (count($pies) > HostListItemDetailed::PIE_CHART_LIMIT) { - break; - } - } - - $maxVisiblePies = HostListItemDetailed::PIE_CHART_LIMIT - 2; - $numOfPies = count($pies); - foreach ($pies as $i => $pie) { - if ( - // Show max. 5 elements: if there are more than 5, show 4 + `…` - $i > $maxVisiblePies && $numOfPies > HostListItemDetailed::PIE_CHART_LIMIT - ) { - $performanceData->addHtml(new HtmlElement('span', null, Text::create('…'))); - break; - } - - $performanceData->addHtml(HtmlString::create($pie)); - } - } - - if (! $statusIcons->isEmpty()) { - $footer->addHtml($statusIcons); - } - - if (! $performanceData->isEmpty()) { - $footer->addHtml($performanceData); - } - } -} diff --git a/library/Icingadb/Widget/ItemList/HostListItemMinimal.php b/library/Icingadb/Widget/ItemList/HostListItemMinimal.php deleted file mode 100644 index f04b991e..00000000 --- a/library/Icingadb/Widget/ItemList/HostListItemMinimal.php +++ /dev/null @@ -1,18 +0,0 @@ - + */ +class LoadMoreObjectList extends ObjectList +{ + use LoadMore; + + public function __construct(ResultSet $data) + { + ItemList::__construct($data, function (Model $item) { + if ($item instanceof NotificationHistory) { + return new NotificationRenderer(); + } elseif ($item instanceof History) { + return new EventRenderer(); + } + + throw new NotImplementedError('Not implemented'); + }); + + $this->data = $this->getIterator($data); + } +} diff --git a/library/Icingadb/Widget/ItemList/NotificationList.php b/library/Icingadb/Widget/ItemList/NotificationList.php deleted file mode 100644 index 3a16b0b3..00000000 --- a/library/Icingadb/Widget/ItemList/NotificationList.php +++ /dev/null @@ -1,55 +0,0 @@ - 'notification-list']; - - protected function init(): void - { - /** @var ResultSet $data */ - $data = $this->data; - $this->data = $this->getIterator($data); - $this->initializeDetailActions(); - $this->setDetailUrl(Url::fromPath('icingadb/event')); - } - - protected function getItemClass(): string - { - switch ($this->getViewMode()) { - case 'minimal': - return NotificationListItemMinimal::class; - case 'detailed': - $this->removeAttribute('class', 'default-layout'); - - return NotificationListItemDetailed::class; - default: - return NotificationListItem::class; - } - } - - protected function assemble(): void - { - $this->addAttributes(['class' => $this->getViewMode()]); - - parent::assemble(); - } -} diff --git a/library/Icingadb/Widget/ItemList/NotificationListItem.php b/library/Icingadb/Widget/ItemList/NotificationListItem.php deleted file mode 100644 index 683762f9..00000000 --- a/library/Icingadb/Widget/ItemList/NotificationListItem.php +++ /dev/null @@ -1,18 +0,0 @@ -list->isCaptionDisabled()) { - $this->setCaptionDisabled(); - } - } - - protected function getStateBallSize(): string - { - return StateBall::SIZE_BIG; - } -} diff --git a/library/Icingadb/Widget/ItemList/ObjectList.php b/library/Icingadb/Widget/ItemList/ObjectList.php new file mode 100644 index 00000000..d471647b --- /dev/null +++ b/library/Icingadb/Widget/ItemList/ObjectList.php @@ -0,0 +1,266 @@ + + */ +class ObjectList extends ItemList +{ + use DetailActions; + use Translation; + + /** @var bool Whether the list contains at least one item with an icon_image */ + protected $hasIconImages = false; + + public function __construct($data) + { + parent::__construct($data, function (Model $item) { + if ($item instanceof RedundancyGroup) { + return new RedundancyGroupRenderer(); + } elseif ($item instanceof Service) { + return new ServiceRenderer(); + } elseif ($item instanceof Host) { + return new HostRenderer(); + } elseif ($item instanceof Usergroup) { + return new UsergroupRenderer(); + } elseif ($item instanceof User) { + return new UserRenderer(); + } elseif ($item instanceof Comment) { + return new CommentRenderer(); + } elseif ($item instanceof Downtime) { + return new DowntimeRenderer(); + } + + throw new NotImplementedError('Not implemented'); + }); + } + + protected function init(): void + { + $this->initializeDetailActions(); + } + + /** + * Get whether the list contains at least one item with an icon_image + * + * @return bool + */ + public function hasIconImages(): bool + { + return $this->hasIconImages; + } + + /** + * Set whether the list contains at least one item with an icon_image + * + * @param bool $hasIconImages + * + * @return $this + */ + public function setHasIconImages(bool $hasIconImages): self + { + $this->hasIconImages = $hasIconImages; + + return $this; + } + + /** + * Set the view mode + * + * @param 'minimal'|'common'|'detailed' $mode + * + * @return $this + */ + public function setViewMode(string $mode): self + { + switch ($mode) { + case 'minimal': + $this->setItemLayoutClass(MinimalItemLayout::class); + + break; + case 'detailed': + $this->setItemLayoutClass(DetailedItemLayout::class); + + break; + case 'common': + $this->setItemLayoutClass(ItemLayout::class); + + break; + default: + throw new InvalidArgumentException('Invalid view mode'); + } + + return $this; + } + + public function getItemLayout($item): ItemLayout + { + $layout = parent::getItemLayout($item); + if ($this->hasIconImages()) { + $layout->after(ItemLayout::VISUAL, 'icon-image'); + } + + if ($item instanceof Downtime) { + $layout->before(ItemLayout::HEADER, 'progress'); + } + + return $layout; + } + + protected function createListItem(object $data) + { + if ($data instanceof DependencyNode) { + if (isset($data->redundancy_group_id)) { + $object = $data->redundancy_group; + } else { + $object = isset($data->service_id) ? $data->service : $data->host; + } + } else { + $object = $data; + } + + if (isset($object->icon_image->icon_image)) { + $this->setHasIconImages(true); + } + + $item = parent::createListItem($object); + + if ($this->getDetailActionsDisabled()) { + return $item; + } + + switch (true) { + case $object instanceof RedundancyGroup: + $this->addDetailFilterAttribute($item, Filter::equal('id', bin2hex($object->id))); + + break; + case $object instanceof Service: + $this + ->setDetailUrl(Url::fromPath('icingadb/service')) + ->setMultiselectUrl(Links::servicesDetails()) + ->addDetailFilterAttribute( + $item, + Filter::all( + Filter::equal('name', $object->name), + Filter::equal('host.name', $object->host->name) + ) + ); + + $this->addMultiSelectFilterAttribute( + $item, + Filter::all( + Filter::equal('service.name', $object->name), + Filter::equal('host.name', $object->host->name) + ) + ); + + break; + case $object instanceof Host: + $this + ->setDetailUrl(Url::fromPath('icingadb/host')) + ->setMultiselectUrl(Links::hostsDetails()) + ->addDetailFilterAttribute($item, Filter::equal('name', $object->name)) + ->addMultiSelectFilterAttribute($item, Filter::equal('host.name', $object->name)); + + break; + + case $data instanceof User: + $this + ->setDetailUrl(Url::fromPath('icingadb/user')) + ->addDetailFilterAttribute($item, Filter::equal('name', $object->name)); + + break; + case $object instanceof Usergroup: + $this + ->setDetailUrl(Url::fromPath('icingadb/usergroup')) + ->addDetailFilterAttribute($item, Filter::equal('name', $object->name)); + + break; + case $object instanceof Comment: + $this + ->setDetailUrl(Url::fromPath('icingadb/comment')) + ->setMultiselectUrl(Links::commentsDetails()) + ->addDetailFilterAttribute($item, Filter::equal('name', $object->name)) + ->addMultiSelectFilterAttribute($item, Filter::equal('name', $object->name)); + + break; + case $object instanceof Downtime: + $this + ->setDetailUrl(Url::fromPath('icingadb/downtime')) + ->setMultiselectUrl(Links::downtimesDetails()) + ->addDetailFilterAttribute($item, Filter::equal('name', $object->name)) + ->addMultiSelectFilterAttribute($item, Filter::equal('name', $object->name)); + + break; + case $object instanceof NotificationHistory: + $this + ->setDetailUrl(Url::fromPath('icingadb/event')) + ->addDetailFilterAttribute($item, Filter::equal('id', bin2hex($object->history->id))); + + break; + + case $object instanceof History: + $this + ->setDetailUrl(Url::fromPath('icingadb/event')) + ->addDetailFilterAttribute($item, Filter::equal('id', bin2hex($object->id))); + + break; + } + + return $item; + } + + protected function assemble(): void + { + parent::assemble(); + + if ($this->data instanceof VolatileStateResults && $this->data->isRedisUnavailable()) { + $this->prependWrapper((new HtmlDocument())->addHtml(new Notice( + $this->translate('Redis is currently unavailable. The shown information might be outdated.') + ))); + } + } +} diff --git a/library/Icingadb/Widget/ItemList/RedundancyGroupListItem.php b/library/Icingadb/Widget/ItemList/RedundancyGroupListItem.php deleted file mode 100644 index 70a2c782..00000000 --- a/library/Icingadb/Widget/ItemList/RedundancyGroupListItem.php +++ /dev/null @@ -1,106 +0,0 @@ - ['redundancy-group-list-item']]; - - protected function init(): void - { - parent::init(); - - $this->addAttributes(['data-action-item' => true]); - } - - protected function getStateBallSize(): string - { - return StateBall::SIZE_LARGE; - } - - protected function createTimestamp(): BaseHtmlElement - { - return new TimeSince($this->state->last_state_change->getTimestamp()); - } - - protected function createSubject(): Link - { - return new Link( - $this->item->display_name, - Url::fromPath('icingadb/redundancygroup', ['id' => bin2hex($this->item->id)]), - ['class' => 'subject'] - ); - } - - protected function assembleVisual(BaseHtmlElement $visual): void - { - $stateBall = new StateBall($this->state->getStateText(), $this->getStateBallSize()); - $stateBall->add($this->state->getIcon()); - - $visual->addHtml($stateBall); - } - - protected function assembleCaption(BaseHtmlElement $caption): void - { - $summary = RedundancyGroupSummary::on($this->getDb()) - ->filter(Filter::equal('id', $this->item->id)); - - $this->applyRestrictions($summary); - - $caption->addHtml(new DependencyNodeStatistics($summary->first())); - } - - protected function assembleTitle(BaseHtmlElement $title): void - { - $subject = $this->createSubject(); - if ($this->state->failed) { - $title->addHtml(Html::sprintf( - $this->translate('%s has no working objects', ' has ...'), - $subject - )); - } else { - $title->addHtml(Html::sprintf( - $this->translate('%s has working objects', ' has ...'), - $subject - )); - } - } - - protected function assemble(): void - { - $this->add([ - $this->createVisual(), - $this->createIconImage(), - $this->createMain() - ]); - } -} diff --git a/library/Icingadb/Widget/ItemList/RedundancyGroupListItemMinimal.php b/library/Icingadb/Widget/ItemList/RedundancyGroupListItemMinimal.php deleted file mode 100644 index be6b96cb..00000000 --- a/library/Icingadb/Widget/ItemList/RedundancyGroupListItemMinimal.php +++ /dev/null @@ -1,18 +0,0 @@ -state->state_type === 'soft') { - $stateType = 'soft_state'; - $previousStateType = 'previous_soft_state'; - - if ($this->state->previous_soft_state === 0) { - $previousStateType = 'hard_state'; - } - } else { - $stateType = 'hard_state'; - $previousStateType = 'previous_hard_state'; - - if ($this->state->hard_state === $this->state->previous_hard_state) { - $previousStateType = 'previous_soft_state'; - } - } - - $state = ServiceStates::text($this->state->$stateType); - $previousState = ServiceStates::text($this->state->$previousStateType); - - $stateChange = new StateChange($state, $previousState); - if ($stateType === 'soft_state') { - $stateChange->setCurrentStateBallSize(StateBall::SIZE_MEDIUM_LARGE); - } - - if ($previousStateType === 'previous_soft_state') { - $stateChange->setPreviousStateBallSize(StateBall::SIZE_MEDIUM_LARGE); - if ($stateType === 'soft_state') { - $visual->getAttributes()->add('class', 'small-state-change'); - } - } - - $stateChange->setIcon($this->state->getIcon()); - $stateChange->setHandled( - $this->state->is_problem && ($this->state->is_handled || ! $this->state->is_reachable) - ); - - $visual->addHtml($stateChange); - } - - protected function assemble(): void - { - $attributes = $this->list->getAttributes(); - if (! in_array('minimal', $attributes->get('class')->getValue())) { - $attributes->add('class', 'minimal'); - } - - parent::assemble(); - } -} diff --git a/library/Icingadb/Widget/ItemList/ServiceList.php b/library/Icingadb/Widget/ItemList/ServiceList.php deleted file mode 100644 index 8d41a701..00000000 --- a/library/Icingadb/Widget/ItemList/ServiceList.php +++ /dev/null @@ -1,36 +0,0 @@ - 'service-list']; - - protected function getItemClass(): string - { - switch ($this->getViewMode()) { - case 'minimal': - return ServiceListItemMinimal::class; - case 'detailed': - $this->removeAttribute('class', 'default-layout'); - - return ServiceListItemDetailed::class; - case 'objectHeader': - return ServiceDetailHeader::class; - default: - return ServiceListItem::class; - } - } - - protected function init(): void - { - $this->initializeDetailActions(); - $this->setMultiselectUrl(Links::servicesDetails()); - $this->setDetailUrl(Url::fromPath('icingadb/service')); - } -} diff --git a/library/Icingadb/Widget/ItemList/ServiceListItem.php b/library/Icingadb/Widget/ItemList/ServiceListItem.php deleted file mode 100644 index a9745817..00000000 --- a/library/Icingadb/Widget/ItemList/ServiceListItem.php +++ /dev/null @@ -1,18 +0,0 @@ - 'status-icons'])); - - if ($this->item->state->last_comment->service_id === $this->item->id) { - $comment = $this->item->state->last_comment; - $comment->service = $this->item; - $comment = (new CommentList([$comment])) - ->setNoSubjectLink() - ->setObjectLinkDisabled() - ->setDetailActionsDisabled(); - - $statusIcons->addHtml( - new HtmlElement( - 'div', - Attributes::create(['class' => 'comment-wrapper']), - new HtmlElement('div', Attributes::create(['class' => 'comment-popup']), $comment), - (new Icon('comments', ['class' => 'comment-icon'])) - ) - ); - } - - if ($this->item->state->is_flapping) { - $statusIcons->addHtml(new Icon( - 'random', - [ - 'title' => sprintf( - t('Service "%s" on "%s" is in flapping state'), - $this->item->display_name, - $this->item->host->display_name - ), - ] - )); - } - - if (! $this->item->notifications_enabled) { - $statusIcons->addHtml(new Icon('bell-slash', ['title' => t('Notifications disabled')])); - } - - if (! $this->item->active_checks_enabled) { - $statusIcons->addHtml(new Icon('eye-slash', ['title' => t('Active checks disabled')])); - } - - $performanceData = new HtmlElement('div', Attributes::create(['class' => 'performance-data'])); - if ($this->item->state->performance_data) { - $pieChartData = PerfDataSet::fromString($this->item->state->normalized_performance_data)->asArray(); - - $pies = []; - foreach ($pieChartData as $i => $perfdata) { - if ($perfdata->isVisualizable()) { - $pies[] = $perfdata->asInlinePie()->render(); - } - - // Check if number of visualizable pie charts is larger than PIE_CHART_LIMIT - if (count($pies) > ServiceListItemDetailed::PIE_CHART_LIMIT) { - break; - } - } - - $maxVisiblePies = ServiceListItemDetailed::PIE_CHART_LIMIT - 2; - $numOfPies = count($pies); - foreach ($pies as $i => $pie) { - if ( - // Show max. 5 elements: if there are more than 5, show 4 + `…` - $i > $maxVisiblePies && $numOfPies > ServiceListItemDetailed::PIE_CHART_LIMIT - ) { - $performanceData->addHtml(new HtmlElement('span', null, Text::create('…'))); - break; - } - - $performanceData->addHtml(HtmlString::create($pie)); - } - } - - if (! $statusIcons->isEmpty()) { - $footer->addHtml($statusIcons); - } - - if (! $performanceData->isEmpty()) { - $footer->addHtml($performanceData); - } - } -} diff --git a/library/Icingadb/Widget/ItemList/ServiceListItemMinimal.php b/library/Icingadb/Widget/ItemList/ServiceListItemMinimal.php deleted file mode 100644 index e7a1bc66..00000000 --- a/library/Icingadb/Widget/ItemList/ServiceListItemMinimal.php +++ /dev/null @@ -1,18 +0,0 @@ -hasIconImages; - } - - /** - * Set whether the list contains at least one item with an icon_image - * - * @param bool $hasIconImages - * - * @return $this - */ - public function setHasIconImages(bool $hasIconImages): self - { - $this->hasIconImages = $hasIconImages; - - return $this; - } - - protected function assemble(): void - { - $this->addAttributes(['class' => $this->getViewMode()]); - - parent::assemble(); - - if ($this->data instanceof VolatileStateResults && $this->data->isRedisUnavailable()) { - $this->prependWrapper((new HtmlDocument())->addHtml(new Notice( - t('Redis is currently unavailable. The shown information might be outdated.') - ))); - } - } -} diff --git a/library/Icingadb/Widget/ItemList/StateListItem.php b/library/Icingadb/Widget/ItemList/StateListItem.php deleted file mode 100644 index b0d9dc92..00000000 --- a/library/Icingadb/Widget/ItemList/StateListItem.php +++ /dev/null @@ -1,174 +0,0 @@ -state = $this->item->state; - - if (isset($this->item->icon_image->icon_image)) { - $this->list->setHasIconImages(true); - } - } - - abstract protected function createSubject(); - - abstract protected function getStateBallSize(): string; - - /** - * @return ?BaseHtmlElement - */ - protected function createIconImage(): ?BaseHtmlElement - { - if (! $this->list->hasIconImages()) { - return null; - } - - $iconImage = HtmlElement::create('div', [ - 'class' => 'icon-image', - ]); - - $this->assembleIconImage($iconImage); - - return $iconImage; - } - - protected function assembleCaption(BaseHtmlElement $caption): void - { - if ($this->state->soft_state === null && $this->state->output === null) { - $caption->addHtml(Text::create($this->translate('Waiting for Icinga DB to synchronize the state.'))); - } else { - if (empty($this->state->output)) { - $pluginOutput = new EmptyState($this->translate('Output unavailable.')); - } else { - $pluginOutput = new PluginOutputContainer(PluginOutput::fromObject($this->item)); - } - - $caption->addHtml($pluginOutput); - } - } - - protected function assembleIconImage(BaseHtmlElement $iconImage): void - { - if (isset($this->item->icon_image->icon_image)) { - $iconImage->addHtml(new IconImage($this->item->icon_image->icon_image, $this->item->icon_image_alt)); - } else { - $iconImage->addAttributes(['class' => 'placeholder']); - } - } - - protected function assembleTitle(BaseHtmlElement $title): void - { - $title->addHtml(Html::sprintf( - $this->translate('%s is %s', ' is '), - $this->createSubject(), - Html::tag('span', ['class' => 'state-text'], $this->state->getStateTextTranslated()) - )); - - if (isset($this->state->affects_children) && $this->state->affects_children) { - $total = (int) $this->item->total_children; - - if ($total > 1000) { - $total = '1000+'; - $tooltip = $this->translate('Up to 1000+ affected objects'); - } else { - $tooltip = sprintf( - $this->translatePlural( - '%d affected object', - 'Up to %d affected objects', - $total - ), - $total - ); - } - - $icon = new Icon(Icons::UNREACHABLE); - - $title->addHtml(new HtmlElement( - 'span', - Attributes::create([ - 'class' => 'affected-objects', - 'title' => $tooltip - ]), - $icon, - Text::create($total) - )); - } - } - - protected function assembleVisual(BaseHtmlElement $visual): void - { - $stateBall = new StateBall($this->state->getStateText(), $this->getStateBallSize()); - $stateBall->add($this->state->getIcon()); - if ($this->state->is_problem && ($this->state->is_handled || ! $this->state->is_reachable)) { - $stateBall->getAttributes()->add('class', 'handled'); - } - - $visual->addHtml($stateBall); - if ($this->state->state_type === 'soft') { - $visual->addHtml( - new CheckAttempt((int) $this->state->check_attempt, (int) $this->item->max_check_attempts) - ); - } - } - - protected function createTimestamp(): ?BaseHtmlElement - { - $since = null; - if ($this->state->is_overdue) { - $since = new TimeSince($this->state->next_update->getTimestamp()); - $since->prepend($this->translate('Overdue') . ' '); - $since->prependHtml(new Icon(Icons::WARNING)); - } elseif ($this->state->last_state_change !== null && $this->state->last_state_change->getTimestamp() > 0) { - $since = new TimeSince($this->state->last_state_change->getTimestamp()); - } - - return $since; - } - - protected function assemble(): void - { - if ($this->state->is_overdue) { - $this->addAttributes(['class' => 'overdue']); - } - - $this->add([ - $this->createVisual(), - $this->createIconImage(), - $this->createMain() - ]); - } -} diff --git a/library/Icingadb/Widget/ItemList/TicketLinkObjectList.php b/library/Icingadb/Widget/ItemList/TicketLinkObjectList.php new file mode 100644 index 00000000..251b6849 --- /dev/null +++ b/library/Icingadb/Widget/ItemList/TicketLinkObjectList.php @@ -0,0 +1,38 @@ + + */ +class TicketLinkObjectList extends ObjectList +{ + public function __construct($data) + { + ItemList::__construct($data, function (Model $item) { + if ($item instanceof Comment) { + return (new CommentRenderer())->setNoObjectLink(); + } elseif ($item instanceof Downtime) { + return (new DowntimeRenderer())->setNoObjectLink(); + } + + throw new NotImplementedError('Not implemented'); + }); + } +} diff --git a/library/Icingadb/Widget/ItemTable/BaseHostGroupItem.php b/library/Icingadb/Widget/ItemTable/BaseHostGroupItem.php deleted file mode 100644 index aa581eed..00000000 --- a/library/Icingadb/Widget/ItemTable/BaseHostGroupItem.php +++ /dev/null @@ -1,67 +0,0 @@ -table)) { - $this->table->addDetailFilterAttribute($this, Filter::equal('name', $this->item->name)); - } - } - - protected function createSubject(): BaseHtmlElement - { - if (isset($this->table)) { - $link = new Link( - $this->item->display_name, - Links::hostgroup($this->item), - [ - 'class' => 'subject', - 'title' => sprintf( - $this->translate('List all hosts in the group "%s"'), - $this->item->display_name - ) - ] - ); - if ($this->table->hasBaseFilter()) { - $link->getUrl()->setFilter($this->table->getBaseFilter()); - } - - return $link; - } - - return new HtmlElement( - 'span', - Attributes::create(['class' => 'subject']), - Text::create($this->item->display_name) - ); - } - - protected function createCaption(): BaseHtmlElement - { - return new HtmlElement('span', null, Text::create($this->item->name)); - } -} diff --git a/library/Icingadb/Widget/ItemTable/BaseServiceGroupItem.php b/library/Icingadb/Widget/ItemTable/BaseServiceGroupItem.php deleted file mode 100644 index 4719bb9e..00000000 --- a/library/Icingadb/Widget/ItemTable/BaseServiceGroupItem.php +++ /dev/null @@ -1,67 +0,0 @@ -table)) { - $this->table->addDetailFilterAttribute($this, Filter::equal('name', $this->item->name)); - } - } - - protected function createSubject(): BaseHtmlElement - { - if (isset($this->table)) { - $link = new Link( - $this->item->display_name, - Links::servicegroup($this->item), - [ - 'class' => 'subject', - 'title' => sprintf( - $this->translate('List all services in the group "%s"'), - $this->item->display_name - ) - ] - ); - if ($this->table->hasBaseFilter()) { - $link->getUrl()->setFilter($this->table->getBaseFilter()); - } - - return $link; - } - - return new HtmlElement( - 'span', - Attributes::create(['class' => 'subject']), - Text::create($this->item->display_name) - ); - } - - protected function createCaption(): BaseHtmlElement - { - return new HtmlElement('span', null, Text::create($this->item->name)); - } -} diff --git a/library/Icingadb/Widget/ItemTable/GridCellLayout.php b/library/Icingadb/Widget/ItemTable/GridCellLayout.php deleted file mode 100644 index 95b1a0af..00000000 --- a/library/Icingadb/Widget/ItemTable/GridCellLayout.php +++ /dev/null @@ -1,39 +0,0 @@ -add($this->createGroupBadge()); - } - - protected function assembleTitle(BaseHtmlElement $title): void - { - $title->addHtml( - $this->createSubject(), - $this->createCaption() - ); - } - - protected function assemble(): void - { - $this->add([ - $this->createTitle() - ]); - } -} diff --git a/library/Icingadb/Widget/ItemTable/HostgroupGridCell.php b/library/Icingadb/Widget/ItemTable/HostgroupGridCell.php deleted file mode 100644 index 53967475..00000000 --- a/library/Icingadb/Widget/ItemTable/HostgroupGridCell.php +++ /dev/null @@ -1,114 +0,0 @@ - ['group-grid-cell', 'hostgroup-grid-cell']]; - - protected function createGroupBadge(): Link - { - $url = Url::fromPath('icingadb/hosts'); - $urlFilter = Filter::all(Filter::equal('hostgroup.name', $this->item->name)); - - if ($this->item->hosts_down_unhandled > 0) { - $urlFilter->add(Filter::equal('host.state.soft_state', 1)) - ->add(Filter::equal('host.state.is_handled', 'n')) - ->add(Filter::equal('host.state.is_reachable', 'y')); - - return new Link( - new StateBadge($this->item->hosts_down_unhandled, 'down'), - $url->setFilter($urlFilter), - [ - 'title' => sprintf( - $this->translatePlural( - 'List %d host that is currently in DOWN state in host group "%s"', - 'List %d hosts which are currently in DOWN state in host group "%s"', - $this->item->hosts_down_unhandled - ), - $this->item->hosts_down_unhandled, - $this->item->display_name - ) - ] - ); - } elseif ($this->item->hosts_down_handled > 0) { - $urlFilter->add(Filter::equal('host.state.soft_state', 1)) - ->add(Filter::any( - Filter::equal('host.state.is_handled', 'y'), - Filter::equal('host.state.is_reachable', 'n') - )); - - return new Link( - new StateBadge($this->item->hosts_down_handled, 'down', true), - $url->setFilter($urlFilter), - [ - 'title' => sprintf( - $this->translatePlural( - 'List %d host that is currently in DOWN (Acknowledged) state in host group "%s"', - 'List %d hosts which are currently in DOWN (Acknowledged) state in host group "%s"', - $this->item->hosts_down_handled - ), - $this->item->hosts_down_handled, - $this->item->display_name - ) - ] - ); - } elseif ($this->item->hosts_pending > 0) { - $urlFilter->add(Filter::equal('host.state.soft_state', 99)); - - return new Link( - new StateBadge($this->item->hosts_pending, 'pending'), - $url->setFilter($urlFilter), - [ - 'title' => sprintf( - $this->translatePlural( - 'List %d host that is currently in PENDING state in host group "%s"', - 'List %d hosts which are currently in PENDING state in host group "%s"', - $this->item->hosts_pending - ), - $this->item->hosts_pending, - $this->item->display_name - ) - ] - ); - } elseif ($this->item->hosts_up > 0) { - $urlFilter->add(Filter::equal('host.state.soft_state', 0)); - - return new Link( - new StateBadge($this->item->hosts_up, 'up'), - $url->setFilter($urlFilter), - [ - 'title' => sprintf( - $this->translatePlural( - 'List %d host that is currently in UP state in host group "%s"', - 'List %d hosts which are currently in UP state in host group "%s"', - $this->item->hosts_up - ), - $this->item->hosts_up, - $this->item->display_name - ) - ] - ); - } - - return new Link( - new StateBadge(0, 'none'), - $url, - [ - 'title' => sprintf( - $this->translate('There are no hosts in host group "%s"'), - $this->item->display_name - ) - ] - ); - } -} diff --git a/library/Icingadb/Widget/ItemTable/HostgroupTable.php b/library/Icingadb/Widget/ItemTable/HostgroupTable.php deleted file mode 100644 index 6b40f762..00000000 --- a/library/Icingadb/Widget/ItemTable/HostgroupTable.php +++ /dev/null @@ -1,38 +0,0 @@ - 'hostgroup-table']; - - protected function init(): void - { - $this->initializeDetailActions(); - $this->setDetailUrl(Url::fromPath('icingadb/hostgroup')); - } - - protected function getLayout(): string - { - return $this->getViewMode() === 'grid' - ? 'group-grid' - : parent::getLayout(); - } - - protected function getItemClass(): string - { - return $this->getViewMode() === 'grid' - ? HostgroupGridCell::class - : HostgroupTableRow::class; - } -} diff --git a/library/Icingadb/Widget/ItemTable/HostgroupTableRow.php b/library/Icingadb/Widget/ItemTable/HostgroupTableRow.php deleted file mode 100644 index cb3f06a9..00000000 --- a/library/Icingadb/Widget/ItemTable/HostgroupTableRow.php +++ /dev/null @@ -1,55 +0,0 @@ - 'hostgroup-table-row']; - - /** - * Create Host and service statistics columns - * - * @return BaseHtmlElement[] - */ - protected function createStatistics(): array - { - $hostStats = new HostStatistics($this->item); - - $hostStats->setBaseFilter(Filter::equal('hostgroup.name', $this->item->name)); - if (isset($this->table) && $this->table->hasBaseFilter()) { - $hostStats->setBaseFilter( - Filter::all($hostStats->getBaseFilter(), $this->table->getBaseFilter()) - ); - } - - $serviceStats = new ServiceStatistics($this->item); - - $serviceStats->setBaseFilter(Filter::equal('hostgroup.name', $this->item->name)); - if (isset($this->table) && $this->table->hasBaseFilter()) { - $serviceStats->setBaseFilter( - Filter::all($serviceStats->getBaseFilter(), $this->table->getBaseFilter()) - ); - } - - return [ - $this->createColumn($hostStats), - $this->createColumn($serviceStats) - ]; - } -} diff --git a/library/Icingadb/Widget/ItemTable/ObjectGrid.php b/library/Icingadb/Widget/ItemTable/ObjectGrid.php new file mode 100644 index 00000000..9313f7d6 --- /dev/null +++ b/library/Icingadb/Widget/ItemTable/ObjectGrid.php @@ -0,0 +1,113 @@ + 'object-grid', + 'data-base-target' => '_next' + ]; + + protected $tag = 'ul'; + + /** @var ItemRenderer */ + protected $itemRenderer; + + /** @var ResultSet|iterable */ + protected $data; + + /** + * Create a new object grid + * + * @param ResultSet|iterable $data + * @param ItemRenderer $renderer + */ + public function __construct($data, ItemRenderer $renderer) + { + if (! is_iterable($data)) { + throw new InvalidArgumentException('Data must be an array or an instance of Traversable'); + } + + $this->data = $data; + $this->itemRenderer = $renderer; + + $this->initializeDetailActions(); + } + + /** + * Create a list item for the given data + * + * @param Item $data + * + * @return ValidHtml + * + * @throws NotImplementedError When the data is not of the expected type + */ + protected function createListItem(object $data): ValidHtml + { + $layout = new ItemLayout($data, $this->itemRenderer); + $item = new HtmlElement('li', $layout->getAttributes(), $layout); + + if ($this->getDetailActionsDisabled()) { + return $item; + } + + switch (true) { + case $data instanceof Hostgroupsummary: + $this->setDetailUrl(Url::fromPath('icingadb/hostgroup')); + + break; + case $data instanceof ServicegroupSummary: + $this->setDetailUrl(Url::fromPath('icingadb/servicegroup')); + + break; + default: + throw new NotImplementedError('Not implemented'); + } + + $this->addDetailFilterAttribute($item, Filter::equal('name', $data->name)); + + return $item; + } + + protected function assemble(): void + { + /** @var Item $data */ + foreach ($this->data as $data) { + $this->addHtml($this->createListItem($data)); + } + + if ($this->isEmpty()) { + $this->setTag('div'); + $this->addHtml(new EmptyStateBar(t('No items found.'))); + } + } +} diff --git a/library/Icingadb/Widget/ItemTable/ObjectTable.php b/library/Icingadb/Widget/ItemTable/ObjectTable.php new file mode 100644 index 00000000..0080d215 --- /dev/null +++ b/library/Icingadb/Widget/ItemTable/ObjectTable.php @@ -0,0 +1,69 @@ + + */ +class ObjectTable extends ItemTable +{ + use DetailActions; + + protected function init(): void + { + parent::init(); + + $this->initializeDetailActions(); + } + + /** + * @param Item $data + * + * @return ValidHtml + * + * @throws NotImplementedError When the data is not of the expected type + */ + protected function createListItem(object $data): ValidHtml + { + $item = parent::createListItem($data); + + if ($this->getDetailActionsDisabled()) { + return $item; + } + + switch (true) { + case $data instanceof Hostgroupsummary: + $this->setDetailUrl(Url::fromPath('icingadb/hostgroup')); + + break; + case $data instanceof ServicegroupSummary: + $this->setDetailUrl(Url::fromPath('icingadb/servicegroup')); + + break; + default: + throw new NotImplementedError('Not implemented'); + } + + $this->addDetailFilterAttribute($item, Filter::equal('name', $data->name)); + + return $item; + } +} diff --git a/library/Icingadb/Widget/ItemTable/ServicegroupTable.php b/library/Icingadb/Widget/ItemTable/ServicegroupTable.php deleted file mode 100644 index 2378a77d..00000000 --- a/library/Icingadb/Widget/ItemTable/ServicegroupTable.php +++ /dev/null @@ -1,38 +0,0 @@ - 'servicegroup-table']; - - protected function init(): void - { - $this->initializeDetailActions(); - $this->setDetailUrl(Url::fromPath('icingadb/servicegroup')); - } - - protected function getLayout(): string - { - return $this->getViewMode() === 'grid' - ? 'group-grid' - : parent::getLayout(); - } - - protected function getItemClass(): string - { - return $this->getViewMode() === 'grid' - ? ServicegroupGridCell::class - : ServicegroupTableRow::class; - } -} diff --git a/library/Icingadb/Widget/ItemTable/ServicegroupTableRow.php b/library/Icingadb/Widget/ItemTable/ServicegroupTableRow.php deleted file mode 100644 index e34c029f..00000000 --- a/library/Icingadb/Widget/ItemTable/ServicegroupTableRow.php +++ /dev/null @@ -1,42 +0,0 @@ - 'servicegroup-table-row']; - - /** - * Create Service statistics cell - * - * @return BaseHtmlElement[] - */ - protected function createStatistics(): array - { - $serviceStats = new ServiceStatistics($this->item); - - $serviceStats->setBaseFilter(Filter::equal('servicegroup.name', $this->item->name)); - if (isset($this->table) && $this->table->hasBaseFilter()) { - $serviceStats->setBaseFilter( - Filter::all($serviceStats->getBaseFilter(), $this->table->getBaseFilter()) - ); - } - - return [$this->createColumn($serviceStats)]; - } -} diff --git a/library/Icingadb/Widget/ItemTable/StateItemTable.php b/library/Icingadb/Widget/ItemTable/StateItemTable.php index f392322a..251ed7c4 100644 --- a/library/Icingadb/Widget/ItemTable/StateItemTable.php +++ b/library/Icingadb/Widget/ItemTable/StateItemTable.php @@ -16,7 +16,7 @@ use ipl\Web\Control\SortControl; use ipl\Web\Widget\EmptyStateBar; use ipl\Web\Widget\Icon; -/** @todo Figure out what this might (should) have in common with the new BaseItemTable implementation */ +/** @todo Figure out what this might (should) have in common with the new ItemTable implementation */ abstract class StateItemTable extends BaseHtmlElement { protected $baseAttributes = [ diff --git a/library/Icingadb/Widget/ItemTable/TableRowLayout.php b/library/Icingadb/Widget/ItemTable/TableRowLayout.php deleted file mode 100644 index b9ce0226..00000000 --- a/library/Icingadb/Widget/ItemTable/TableRowLayout.php +++ /dev/null @@ -1,26 +0,0 @@ -createStatistics() as $objectStatistic) { - $columns->addHtml($objectStatistic); - } - } - - protected function assembleTitle(BaseHtmlElement $title): void - { - $title->addHtml( - $this->createSubject(), - $this->createCaption() - ); - } -} diff --git a/library/Icingadb/Widget/ItemTable/UserTable.php b/library/Icingadb/Widget/ItemTable/UserTable.php deleted file mode 100644 index 432817b5..00000000 --- a/library/Icingadb/Widget/ItemTable/UserTable.php +++ /dev/null @@ -1,27 +0,0 @@ - 'user-table']; - - protected function init(): void - { - $this->initializeDetailActions(); - $this->setDetailUrl(Url::fromPath('icingadb/user')); - } - - protected function getItemClass(): string - { - return UserTableRow::class; - } -} diff --git a/library/Icingadb/Widget/ItemTable/UserTableRow.php b/library/Icingadb/Widget/ItemTable/UserTableRow.php deleted file mode 100644 index c10851e1..00000000 --- a/library/Icingadb/Widget/ItemTable/UserTableRow.php +++ /dev/null @@ -1,61 +0,0 @@ - 'user-table-row']; - - protected function init(): void - { - if (isset($this->table)) { - $this->table->addDetailFilterAttribute($this, Filter::equal('name', $this->item->name)); - } - } - - protected function assembleVisual(BaseHtmlElement $visual): void - { - $visual->addHtml(new HtmlElement( - 'div', - Attributes::create(['class' => 'user-ball']), - Text::create($this->item->display_name[0]) - )); - } - - protected function assembleTitle(BaseHtmlElement $title): void - { - $title->addHtml( - isset($this->table) - ? new Link($this->item->display_name, Links::user($this->item), ['class' => 'subject']) - : new HtmlElement( - 'span', - Attributes::create(['class' => 'subject']), - Text::create($this->item->display_name) - ), - new HtmlElement('span', null, Text::create($this->item->name)) - ); - } - - protected function assembleColumns(HtmlDocument $columns): void - { - } -} diff --git a/library/Icingadb/Widget/ItemTable/UsergroupTable.php b/library/Icingadb/Widget/ItemTable/UsergroupTable.php deleted file mode 100644 index 77d3ba90..00000000 --- a/library/Icingadb/Widget/ItemTable/UsergroupTable.php +++ /dev/null @@ -1,27 +0,0 @@ - 'usergroup-table']; - - protected function init(): void - { - $this->initializeDetailActions(); - $this->setDetailUrl(Url::fromPath('icingadb/usergroup')); - } - - protected function getItemClass(): string - { - return UsergroupTableRow::class; - } -} diff --git a/library/Icingadb/Widget/ItemTable/UsergroupTableRow.php b/library/Icingadb/Widget/ItemTable/UsergroupTableRow.php deleted file mode 100644 index c3cbf74e..00000000 --- a/library/Icingadb/Widget/ItemTable/UsergroupTableRow.php +++ /dev/null @@ -1,61 +0,0 @@ - 'usergroup-table-row']; - - protected function init(): void - { - if (isset($this->table)) { - $this->table->addDetailFilterAttribute($this, Filter::equal('name', $this->item->name)); - } - } - - protected function assembleVisual(BaseHtmlElement $visual): void - { - $visual->addHtml(new HtmlElement( - 'div', - Attributes::create(['class' => 'usergroup-ball']), - Text::create($this->item->display_name[0]) - )); - } - - protected function assembleTitle(BaseHtmlElement $title): void - { - $title->addHtml( - isset($this->table) - ? new Link($this->item->display_name, Links::usergroup($this->item), ['class' => 'subject']) - : new HtmlElement( - 'span', - Attributes::create(['class' => 'subject']), - Text::create($this->item->display_name) - ), - new HtmlElement('span', null, Text::create($this->item->name)) - ); - } - - protected function assembleColumns(HtmlDocument $columns): void - { - } -} diff --git a/phpstan-baseline-standard.neon b/phpstan-baseline-standard.neon index a1f2cac6..ce60b3f7 100644 --- a/phpstan-baseline-standard.neon +++ b/phpstan-baseline-standard.neon @@ -1,7716 +1,8317 @@ parameters: ignoreErrors: - - message: "#^Cannot cast mixed to int\\.$#" + message: '#^Cannot cast mixed to int\.$#' + identifier: cast.int count: 1 path: application/controllers/CommandTransportController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommandTransportController\\:\\:addAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommandTransportController\:\:addAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommandTransportController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommandTransportController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommandTransportController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommandTransportController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommandTransportController\\:\\:removeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommandTransportController\:\:removeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommandTransportController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommandTransportController\\:\\:showAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommandTransportController\:\:showAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommandTransportController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommandTransportController\\:\\:sortAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommandTransportController\:\:sortAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommandTransportController.php - - message: "#^Parameter \\#2 \\$filter of static method Icinga\\\\Data\\\\Filter\\\\Filter\\:\\:where\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#2 \$filter of static method Icinga\\Data\\Filter\\Filter\:\:where\(\) expects string, mixed given\.$#' + identifier: argument.type count: 2 path: application/controllers/CommandTransportController.php - - message: "#^Parameter \\#2 \\$offset of function array_splice expects int, int\\|false given\\.$#" - count: 1 - path: application/controllers/CommandTransportController.php - - - - message: "#^Parameter \\#2 \\.\\.\\.\\$values of function sprintf expects bool\\|float\\|int\\|string\\|null, mixed given\\.$#" + message: '#^Parameter \#2 \.\.\.\$values of function sprintf expects bool\|float\|int\|string\|null, mixed given\.$#' + identifier: argument.type count: 2 path: application/controllers/CommandTransportController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:acknowledgeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:acknowledgeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:addCommentAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:addCommentAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:assertIsGrantedOnCommandTargets\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:assertIsGrantedOnCommandTargets\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:checkNowAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:checkNowAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:fetchCommandTargets\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:fetchCommandTargets\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/controllers/CommentController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:processCheckresultAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:processCheckresultAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:removeAcknowledgementAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:removeAcknowledgementAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:scheduleCheckAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:scheduleCheckAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:scheduleDowntimeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:scheduleDowntimeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:sendCustomNotificationAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:sendCustomNotificationAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:toggleFeaturesAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:toggleFeaturesAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentController.php - - message: "#^Parameter \\#1 \\$form of method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:handleCommandForm\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\|string, Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Object\\\\ToggleObjectFeaturesForm\\|null given\\.$#" + message: '#^Parameter \#1 \$form of method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:handleCommandForm\(\) expects Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\|string, Icinga\\Module\\Icingadb\\Forms\\Command\\Object\\ToggleObjectFeaturesForm\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/CommentController.php - - message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects array\\|bool\\|float\\|int\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/CommentController.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:\\$commandTargetModel \\(ipl\\\\Orm\\\\Model\\) in isset\\(\\) is not nullable\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:\$commandTargetModel \(ipl\\Orm\\Model\) in isset\(\) is not nullable\.$#' + identifier: isset.property count: 1 path: application/controllers/CommentController.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentController\\:\\:\\$comment \\(Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Comment\\) does not accept ipl\\\\Orm\\\\Model\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:\$comment \(Icinga\\Module\\Icingadb\\Model\\Comment\) does not accept ipl\\Orm\\Model\.$#' + identifier: assign.propertyType count: 1 path: application/controllers/CommentController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentsController\\:\\:completeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentsController\:\:completeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentsController\\:\\:deleteAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentsController\:\:deleteAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentsController\\:\\:detailsAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentsController\:\:detailsAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentsController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentsController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\CommentsController\\:\\:searchEditorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentsController\:\:searchEditorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/CommentsController.php - - message: "#^Parameter \\#1 \\$peekAhead of method ipl\\\\Orm\\\\Query\\:\\:peekAhead\\(\\) expects bool, null given\\.$#" + message: '#^Parameter \#1 \$peekAhead of method ipl\\Orm\\Query\:\:peekAhead\(\) expects bool, null given\.$#' + identifier: argument.type count: 1 path: application/controllers/CommentsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ConfigController\\:\\:addFormToContent\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ConfigController\:\:addFormToContent\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ConfigController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ConfigController\\:\\:databaseAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ConfigController\:\:databaseAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ConfigController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ConfigController\\:\\:redisAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ConfigController\:\:redisAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ConfigController.php - - message: "#^Parameter \\#1 \\$name of method ipl\\\\Web\\\\Widget\\\\Tabs\\:\\:add\\(\\) expects string, string\\|null given\\.$#" + message: '#^Parameter \#1 \$name of method ipl\\Web\\Widget\\Tabs\:\:add\(\) expects string, string\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/ConfigController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:acknowledgeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:acknowledgeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimeController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:addCommentAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:addCommentAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimeController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:assertIsGrantedOnCommandTargets\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:assertIsGrantedOnCommandTargets\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimeController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:checkNowAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:checkNowAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimeController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:fetchCommandTargets\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:fetchCommandTargets\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/controllers/DowntimeController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimeController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:processCheckresultAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:processCheckresultAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimeController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:removeAcknowledgementAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:removeAcknowledgementAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimeController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:scheduleCheckAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:scheduleCheckAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimeController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:scheduleDowntimeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:scheduleDowntimeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimeController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:sendCustomNotificationAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:sendCustomNotificationAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimeController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:toggleFeaturesAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:toggleFeaturesAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimeController.php - - message: "#^Parameter \\#1 \\$form of method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:handleCommandForm\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\|string, Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Object\\\\ToggleObjectFeaturesForm\\|null given\\.$#" + message: '#^Parameter \#1 \$form of method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:handleCommandForm\(\) expects Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\|string, Icinga\\Module\\Icingadb\\Forms\\Command\\Object\\ToggleObjectFeaturesForm\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/DowntimeController.php - - message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects array\\|bool\\|float\\|int\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/DowntimeController.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:\\$commandTargetModel \\(ipl\\\\Orm\\\\Model\\) in isset\\(\\) is not nullable\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:\$commandTargetModel \(ipl\\Orm\\Model\) in isset\(\) is not nullable\.$#' + identifier: isset.property count: 1 path: application/controllers/DowntimeController.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimeController\\:\\:\\$downtime \\(Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Downtime\\) does not accept ipl\\\\Orm\\\\Model\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:\$downtime \(Icinga\\Module\\Icingadb\\Model\\Downtime\) does not accept ipl\\Orm\\Model\.$#' + identifier: assign.propertyType count: 1 path: application/controllers/DowntimeController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimesController\\:\\:completeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimesController\:\:completeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimesController\\:\\:deleteAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimesController\:\:deleteAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimesController\\:\\:detailsAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimesController\:\:detailsAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimesController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimesController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\DowntimesController\\:\\:searchEditorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimesController\:\:searchEditorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/DowntimesController.php - - message: "#^Parameter \\#1 \\$peekAhead of method ipl\\\\Orm\\\\Query\\:\\:peekAhead\\(\\) expects bool, null given\\.$#" + message: '#^Parameter \#1 \$peekAhead of method ipl\\Orm\\Query\:\:peekAhead\(\) expects bool, null given\.$#' + identifier: argument.type count: 1 path: application/controllers/DowntimesController.php - - message: "#^Cannot access property \\$exception on mixed\\.$#" + message: '#^Cannot access property \$exception on mixed\.$#' + identifier: property.nonObject count: 1 path: application/controllers/ErrorController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ErrorController\\:\\:errorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ErrorController\:\:errorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ErrorController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ErrorController\\:\\:postDispatchXhr\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ErrorController\:\:postDispatchXhr\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ErrorController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ErrorController\\:\\:prepareInit\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ErrorController\:\:prepareInit\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ErrorController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\EventController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\EventController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/EventController.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\EventController\\:\\:\\$event \\(Icinga\\\\Module\\\\Icingadb\\\\Model\\\\History\\) does not accept ipl\\\\Orm\\\\Model\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\EventController\:\:\$event \(Icinga\\Module\\Icingadb\\Model\\History\) does not accept ipl\\Orm\\Model\.$#' + identifier: assign.propertyType count: 1 path: application/controllers/EventController.php - - message: "#^Cannot access property \\$hosts_active_checks_enabled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$hosts_active_checks_enabled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: application/controllers/HealthController.php - - message: "#^Cannot access property \\$hosts_passive_checks_enabled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$hosts_passive_checks_enabled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: application/controllers/HealthController.php - - message: "#^Cannot access property \\$services_active_checks_enabled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_active_checks_enabled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: application/controllers/HealthController.php - - message: "#^Cannot access property \\$services_passive_checks_enabled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_passive_checks_enabled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: application/controllers/HealthController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HealthController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HealthController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HealthController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HistoryController\\:\\:completeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HistoryController\:\:completeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HistoryController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HistoryController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HistoryController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HistoryController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HistoryController\\:\\:searchEditorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HistoryController\:\:searchEditorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HistoryController.php - - message: "#^Parameter \\#2 \\$default of method Icinga\\\\Web\\\\UrlParams\\:\\:shift\\(\\) expects string\\|null, int\\<1, max\\> given\\.$#" + message: '#^Parameter \#2 \$default of method Icinga\\Web\\UrlParams\:\:shift\(\) expects string\|null, int\<1, max\> given\.$#' + identifier: argument.type count: 1 path: application/controllers/HistoryController.php - - message: "#^Parameter \\#2 \\$value of method Icinga\\\\Web\\\\Url\\:\\:setParam\\(\\) expects array\\|bool\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of method Icinga\\Web\\Url\:\:setParam\(\) expects array\|bool\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/HistoryController.php - - message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:lessThanOrEqual\\(\\) expects float\\|int\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:lessThanOrEqual\(\) expects float\|int\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/HistoryController.php - - message: "#^Cannot access property \\$is_overdue on mixed\\.$#" + message: '#^Cannot access property \$is_overdue on mixed\.$#' + identifier: property.nonObject count: 4 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:acknowledgeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:acknowledgeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:addCommentAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:addCommentAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:assertIsGrantedOnCommandTargets\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:assertIsGrantedOnCommandTargets\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:checkNowAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:checkNowAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:fetchCommandTargets\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:fetchCommandTargets\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:getDefaultTabControls\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:processCheckresultAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:historyAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:removeAcknowledgementAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:scheduleCheckAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:processCheckresultAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:scheduleDowntimeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:removeAcknowledgementAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:sendCustomNotificationAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:scheduleCheckAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:toggleFeaturesAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:scheduleDowntimeAction\\(\\) has no return type specified\\.$#" + message: '#^Parameter \#1 \$array of function reset expects array\|object, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:sendCustomNotificationAction\\(\\) has no return type specified\\.$#" + message: '#^Parameter \#1 \$form of method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:handleCommandForm\(\) expects Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\|string, Icinga\\Module\\Icingadb\\Forms\\Command\\Object\\ToggleObjectFeaturesForm\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:servicesAction\\(\\) has no return type specified\\.$#" + message: '#^Parameter \#2 \$apiResult of class Icinga\\Module\\Icingadb\\Widget\\Detail\\HostInspectionDetail constructor expects array, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:setTitleTab\\(\\) has no return type specified\\.$#" + message: '#^Parameter \#2 \$default of method Icinga\\Web\\UrlParams\:\:shift\(\) expects string\|null, int\<1, max\> given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:sourceAction\\(\\) has no return type specified\\.$#" + message: '#^Parameter \#2 \$serviceSummary of class Icinga\\Module\\Icingadb\\Widget\\Detail\\HostDetail constructor expects Icinga\\Module\\Icingadb\\Model\\ServicestateSummary, ipl\\Orm\\Model\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:toggleFeaturesAction\\(\\) has no return type specified\\.$#" + message: '#^Parameter \#2 \$value of method Icinga\\Web\\Url\:\:setParam\(\) expects array\|bool\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostController.php - - message: "#^Parameter \\#1 \\$array of function reset expects array\\|object, mixed given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostController.php - - message: "#^Parameter \\#1 \\$form of method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:handleCommandForm\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\|string, Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Object\\\\ToggleObjectFeaturesForm\\|null given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:lessThanOrEqual\(\) expects float\|int\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostController.php - - message: "#^Parameter \\#2 \\$apiResult of class Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\HostInspectionDetail constructor expects array, mixed given\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:\$commandTargetModel \(ipl\\Orm\\Model\) in isset\(\) is not nullable\.$#' + identifier: isset.property count: 1 path: application/controllers/HostController.php - - message: "#^Parameter \\#2 \\$default of method Icinga\\\\Web\\\\UrlParams\\:\\:shift\\(\\) expects string\\|null, int\\<1, max\\> given\\.$#" - count: 1 - path: application/controllers/HostController.php - - - - message: "#^Parameter \\#2 \\$serviceSummary of class Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\HostDetail constructor expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicestateSummary, ipl\\\\Orm\\\\Model\\|null given\\.$#" - count: 1 - path: application/controllers/HostController.php - - - - message: "#^Parameter \\#2 \\$value of method Icinga\\\\Web\\\\Url\\:\\:setParam\\(\\) expects array\\|bool\\|string, mixed given\\.$#" - count: 1 - path: application/controllers/HostController.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/HostController.php - - - - message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:lessThanOrEqual\\(\\) expects float\\|int\\|string, mixed given\\.$#" - count: 1 - path: application/controllers/HostController.php - - - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostController\\:\\:\\$commandTargetModel \\(ipl\\\\Orm\\\\Model\\) in isset\\(\\) is not nullable\\.$#" - count: 1 - path: application/controllers/HostController.php - - - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostgroupController\\:\\:\\$hostgroupName \\(string\\) does not accept mixed\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\HostgroupController\:\:\$hostgroupName \(string\) does not accept mixed\.$#' + identifier: assign.propertyType count: 1 path: application/controllers/HostgroupController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostgroupsController\\:\\:completeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostgroupsController\:\:completeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostgroupsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostgroupsController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostgroupsController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostgroupsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostgroupsController\\:\\:searchEditorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostgroupsController\:\:searchEditorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostgroupsController.php - - message: "#^Parameter \\#1 \\$peekAhead of method ipl\\\\Orm\\\\Query\\:\\:peekAhead\\(\\) expects bool, null given\\.$#" + message: '#^Parameter \#1 \$peekAhead of method ipl\\Orm\\Query\:\:peekAhead\(\) expects bool, null given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostgroupsController.php - - message: "#^Cannot access property \\$comments_total on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$comments_total on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: application/controllers/HostsController.php - - message: "#^Cannot access property \\$downtimes_total on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$downtimes_total on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: application/controllers/HostsController.php - - message: "#^Cannot call method first\\(\\) on ipl\\\\Orm\\\\Query\\|null\\.$#" + message: '#^Cannot call method first\(\) on ipl\\Orm\\Query\|null\.$#' + identifier: method.nonObject count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:acknowledgeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:acknowledgeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:addCommentAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:addCommentAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:assertIsGrantedOnCommandTargets\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:assertIsGrantedOnCommandTargets\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:checkNowAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:checkNowAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:completeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:completeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:detailsAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:detailsAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:getFeatureStatus\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:getFeatureStatus\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:processCheckresultAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:processCheckresultAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:removeAcknowledgementAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:removeAcknowledgementAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:scheduleCheckAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:scheduleCheckAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:scheduleDowntimeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:scheduleDowntimeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:searchEditorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:searchEditorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:sendCustomNotificationAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:sendCustomNotificationAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:toggleFeaturesAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:toggleFeaturesAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/HostsController.php - - message: "#^Parameter \\#1 \\$form of method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:handleCommandForm\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\|string, Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Object\\\\ToggleObjectFeaturesForm\\|null given\\.$#" + message: '#^Parameter \#1 \$form of method Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:handleCommandForm\(\) expects Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\|string, Icinga\\Module\\Icingadb\\Forms\\Command\\Object\\ToggleObjectFeaturesForm\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostsController.php - - message: "#^Parameter \\#1 \\$peekAhead of method ipl\\\\Orm\\\\Query\\:\\:peekAhead\\(\\) expects bool, null given\\.$#" + message: '#^Parameter \#1 \$peekAhead of method ipl\\Orm\\Query\:\:peekAhead\(\) expects bool, null given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostsController.php - - message: "#^Parameter \\#1 \\$query of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:filter\\(\\) expects ipl\\\\Orm\\\\Query, ipl\\\\Orm\\\\Query\\|null given\\.$#" + message: '#^Parameter \#1 \$query of method Icinga\\Module\\Icingadb\\Web\\Controller\:\:filter\(\) expects ipl\\Orm\\Query, ipl\\Orm\\Query\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostsController.php - - message: "#^Parameter \\#2 \\$summary of class Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectsDetail constructor expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HoststateSummary\\|Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicestateSummary, ipl\\\\Orm\\\\Model\\|null given\\.$#" + message: '#^Parameter \#2 \$summary of class Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectsDetail constructor expects Icinga\\Module\\Icingadb\\Model\\HoststateSummary\|Icinga\\Module\\Icingadb\\Model\\ServicestateSummary, ipl\\Orm\\Model\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostsController.php - - message: "#^Parameter \\#2 \\.\\.\\.\\$queries of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:export\\(\\) expects ipl\\\\Orm\\\\Query, ipl\\\\Orm\\\\Query\\|null given\\.$#" + message: '#^Parameter \#2 \.\.\.\$queries of method Icinga\\Module\\Icingadb\\Web\\Controller\:\:export\(\) expects ipl\\Orm\\Query, ipl\\Orm\\Query\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/HostsController.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\HostsController\\:\\:\\$commandTargetModel \\(ipl\\\\Orm\\\\Model\\) in isset\\(\\) is not nullable\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\HostsController\:\:\$commandTargetModel \(ipl\\Orm\\Model\) in isset\(\) is not nullable\.$#' + identifier: isset.property count: 1 path: application/controllers/HostsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\MigrateController\\:\\:backendSupportAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\MigrateController\:\:backendSupportAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/MigrateController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\MigrateController\\:\\:checkboxStateAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\MigrateController\:\:checkboxStateAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/MigrateController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\MigrateController\\:\\:checkboxSubmitAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\MigrateController\:\:checkboxSubmitAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/MigrateController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\MigrateController\\:\\:monitoringUrlAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\MigrateController\:\:monitoringUrlAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/MigrateController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\MigrateController\\:\\:searchUrlAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\MigrateController\:\:searchUrlAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/MigrateController.php - - message: "#^Parameter \\#1 \\$url of static method Icinga\\\\Web\\\\Url\\:\\:fromPath\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$url of static method Icinga\\Web\\Url\:\:fromPath\(\) expects string, mixed given\.$#' + identifier: argument.type count: 2 path: application/controllers/MigrateController.php - - message: "#^Parameter \\#2 \\$subject of function preg_match expects string, string\\|false given\\.$#" + message: '#^Parameter \#2 \$subject of function preg_match expects string, string\|false given\.$#' + identifier: argument.type count: 3 path: application/controllers/MigrateController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\NotificationsController\\:\\:completeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\NotificationsController\:\:completeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/NotificationsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\NotificationsController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\NotificationsController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/NotificationsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\NotificationsController\\:\\:searchEditorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\NotificationsController\:\:searchEditorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/NotificationsController.php - - message: "#^Parameter \\#2 \\$default of method Icinga\\\\Web\\\\UrlParams\\:\\:shift\\(\\) expects string\\|null, int\\<1, max\\> given\\.$#" + message: '#^Parameter \#2 \$default of method Icinga\\Web\\UrlParams\:\:shift\(\) expects string\|null, int\<1, max\> given\.$#' + identifier: argument.type count: 1 path: application/controllers/NotificationsController.php - - message: "#^Parameter \\#2 \\$value of method Icinga\\\\Web\\\\Url\\:\\:setParam\\(\\) expects array\\|bool\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of method Icinga\\Web\\Url\:\:setParam\(\) expects array\|bool\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/NotificationsController.php - - message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:lessThanOrEqual\\(\\) expects float\\|int\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:lessThanOrEqual\(\) expects float\|int\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/NotificationsController.php - - message: "#^Cannot access property \\$display_name on mixed\\.$#" + message: '#^Cannot access property \$display_name on mixed\.$#' + identifier: property.nonObject count: 1 path: application/controllers/ServiceController.php - - message: "#^Cannot access property \\$is_overdue on mixed\\.$#" + message: '#^Cannot access property \$is_overdue on mixed\.$#' + identifier: property.nonObject count: 3 path: application/controllers/ServiceController.php - - message: "#^Cannot access property \\$name on mixed\\.$#" + message: '#^Cannot access property \$name on mixed\.$#' + identifier: property.nonObject count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:acknowledgeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:acknowledgeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:addCommentAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:addCommentAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:assertIsGrantedOnCommandTargets\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:assertIsGrantedOnCommandTargets\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:checkNowAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:checkNowAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:createTabs\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:fetchCommandTargets\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:fetchCommandTargets\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:processCheckresultAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:getDefaultTabControls\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:removeAcknowledgementAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:historyAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:scheduleCheckAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:scheduleDowntimeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:processCheckresultAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:sendCustomNotificationAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:removeAcknowledgementAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:toggleFeaturesAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:scheduleCheckAction\\(\\) has no return type specified\\.$#" + message: '#^Parameter \#1 \$array of function reset expects array\|object, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:scheduleDowntimeAction\\(\\) has no return type specified\\.$#" + message: '#^Parameter \#1 \$form of method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:handleCommandForm\(\) expects Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\|string, Icinga\\Module\\Icingadb\\Forms\\Command\\Object\\ToggleObjectFeaturesForm\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:sendCustomNotificationAction\\(\\) has no return type specified\\.$#" + message: '#^Parameter \#2 \$apiResult of class Icinga\\Module\\Icingadb\\Widget\\Detail\\ServiceInspectionDetail constructor expects array, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:setTitleTab\\(\\) has no return type specified\\.$#" + message: '#^Parameter \#2 \$default of method Icinga\\Web\\UrlParams\:\:shift\(\) expects string\|null, int\<1, max\> given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServiceController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:sourceAction\\(\\) has no return type specified\\.$#" - count: 1 - path: application/controllers/ServiceController.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:toggleFeaturesAction\\(\\) has no return type specified\\.$#" - count: 1 - path: application/controllers/ServiceController.php - - - - message: "#^Parameter \\#1 \\$array of function reset expects array\\|object, mixed given\\.$#" - count: 1 - path: application/controllers/ServiceController.php - - - - message: "#^Parameter \\#1 \\$form of method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:handleCommandForm\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\|string, Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Object\\\\ToggleObjectFeaturesForm\\|null given\\.$#" - count: 1 - path: application/controllers/ServiceController.php - - - - message: "#^Parameter \\#2 \\$apiResult of class Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ServiceInspectionDetail constructor expects array, mixed given\\.$#" - count: 1 - path: application/controllers/ServiceController.php - - - - message: "#^Parameter \\#2 \\$default of method Icinga\\\\Web\\\\UrlParams\\:\\:shift\\(\\) expects string\\|null, int\\<1, max\\> given\\.$#" - count: 1 - path: application/controllers/ServiceController.php - - - - message: "#^Parameter \\#2 \\$host of static method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\Links\\:\\:service\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host, mixed given\\.$#" + message: '#^Parameter \#2 \$host of static method Icinga\\Module\\Icingadb\\Common\\Links\:\:service\(\) expects Icinga\\Module\\Icingadb\\Model\\Host, mixed given\.$#' + identifier: argument.type count: 2 path: application/controllers/ServiceController.php - - message: "#^Parameter \\#2 \\$host of static method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\Links\\:\\:serviceSource\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host, mixed given\\.$#" + message: '#^Parameter \#2 \$host of static method Icinga\\Module\\Icingadb\\Common\\Links\:\:serviceSource\(\) expects Icinga\\Module\\Icingadb\\Model\\Host, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServiceController.php - - message: "#^Parameter \\#2 \\$host of static method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ServiceLinks\\:\\:history\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host, mixed given\\.$#" + message: '#^Parameter \#2 \$host of static method Icinga\\Module\\Icingadb\\Common\\ServiceLinks\:\:history\(\) expects Icinga\\Module\\Icingadb\\Model\\Host, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServiceController.php - - message: "#^Parameter \\#2 \\$value of method Icinga\\\\Web\\\\Url\\:\\:setParam\\(\\) expects array\\|bool\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of method Icinga\\Web\\Url\:\:setParam\(\) expects array\|bool\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServiceController.php - - message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects array\\|bool\\|float\\|int\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' + identifier: argument.type count: 2 path: application/controllers/ServiceController.php - - message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:lessThanOrEqual\\(\\) expects float\\|int\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:lessThanOrEqual\(\) expects float\|int\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServiceController.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServiceController\\:\\:\\$commandTargetModel \\(ipl\\\\Orm\\\\Model\\) in isset\\(\\) is not nullable\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:\$commandTargetModel \(ipl\\Orm\\Model\) in isset\(\) is not nullable\.$#' + identifier: isset.property count: 1 path: application/controllers/ServiceController.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicegroupController\\:\\:\\$servicegroupName \\(string\\) does not accept mixed\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\ServicegroupController\:\:\$servicegroupName \(string\) does not accept mixed\.$#' + identifier: assign.propertyType count: 1 path: application/controllers/ServicegroupController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicegroupsController\\:\\:completeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicegroupsController\:\:completeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicegroupsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicegroupsController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicegroupsController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicegroupsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicegroupsController\\:\\:searchEditorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicegroupsController\:\:searchEditorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicegroupsController.php - - message: "#^Parameter \\#1 \\$peekAhead of method ipl\\\\Orm\\\\Query\\:\\:peekAhead\\(\\) expects bool, null given\\.$#" + message: '#^Parameter \#1 \$peekAhead of method ipl\\Orm\\Query\:\:peekAhead\(\) expects bool, null given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServicegroupsController.php - - message: "#^Call to an undefined method Zend_Controller_Action_Helper_Abstract\\:\\:getResponseSegment\\(\\)\\.$#" + message: '#^Call to an undefined method Zend_Controller_Action_Helper_Abstract\:\:getResponseSegment\(\)\.$#' + identifier: method.notFound count: 1 path: application/controllers/ServicesController.php - - message: "#^Call to an undefined method Zend_Controller_Action_Helper_Abstract\\:\\:setNoRender\\(\\)\\.$#" + message: '#^Call to an undefined method Zend_Controller_Action_Helper_Abstract\:\:setNoRender\(\)\.$#' + identifier: method.notFound count: 1 path: application/controllers/ServicesController.php - - message: "#^Call to an undefined method Zend_Controller_Action_Helper_Abstract\\:\\:setScriptAction\\(\\)\\.$#" + message: '#^Call to an undefined method Zend_Controller_Action_Helper_Abstract\:\:setScriptAction\(\)\.$#' + identifier: method.notFound count: 1 path: application/controllers/ServicesController.php - - message: "#^Call to an undefined method ipl\\\\Html\\\\Contract\\\\FormElement\\:\\:isChecked\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Html\\Contract\\FormElement\:\:isChecked\(\)\.$#' + identifier: method.notFound count: 1 path: application/controllers/ServicesController.php - - message: "#^Cannot access property \\$comments_total on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$comments_total on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: application/controllers/ServicesController.php - - message: "#^Cannot access property \\$downtimes_total on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$downtimes_total on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: application/controllers/ServicesController.php - - message: "#^Cannot call method first\\(\\) on ipl\\\\Orm\\\\Query\\|null\\.$#" + message: '#^Cannot call method first\(\) on ipl\\Orm\\Query\|null\.$#' + identifier: method.nonObject count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:acknowledgeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:acknowledgeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:addCommentAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:addCommentAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:assertIsGrantedOnCommandTargets\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:assertIsGrantedOnCommandTargets\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:checkNowAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:checkNowAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:completeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:completeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:detailsAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:detailsAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:getFeatureStatus\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:getFeatureStatus\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:gridAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:gridAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:gridSearchEditorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:gridSearchEditorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:prepareSearchFilter\\(\\) has parameter \\$additionalColumns with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:prepareSearchFilter\(\) has parameter \$additionalColumns with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:processCheckresultAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:processCheckresultAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:removeAcknowledgementAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:removeAcknowledgementAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:scheduleCheckAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:scheduleCheckAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:scheduleDowntimeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:scheduleDowntimeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:searchEditorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:searchEditorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:sendCustomNotificationAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:sendCustomNotificationAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:toggleFeaturesAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:toggleFeaturesAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ServicesController.php - - message: "#^Parameter \\#1 \\$form of method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:handleCommandForm\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\|string, Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Object\\\\ToggleObjectFeaturesForm\\|null given\\.$#" + message: '#^Parameter \#1 \$form of method Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:handleCommandForm\(\) expects Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\|string, Icinga\\Module\\Icingadb\\Forms\\Command\\Object\\ToggleObjectFeaturesForm\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServicesController.php - - message: "#^Parameter \\#1 \\$peekAhead of method ipl\\\\Orm\\\\Query\\:\\:peekAhead\\(\\) expects bool, null given\\.$#" + message: '#^Parameter \#1 \$peekAhead of method ipl\\Orm\\Query\:\:peekAhead\(\) expects bool, null given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServicesController.php - - message: "#^Parameter \\#1 \\$query of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:filter\\(\\) expects ipl\\\\Orm\\\\Query, ipl\\\\Orm\\\\Query\\|null given\\.$#" + message: '#^Parameter \#1 \$query of method Icinga\\Module\\Icingadb\\Web\\Controller\:\:filter\(\) expects ipl\\Orm\\Query, ipl\\Orm\\Query\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServicesController.php - - message: "#^Parameter \\#2 \\$default of method Icinga\\\\Web\\\\UrlParams\\:\\:shift\\(\\) expects string\\|null, false given\\.$#" + message: '#^Parameter \#2 \$default of method Icinga\\Web\\UrlParams\:\:shift\(\) expects string\|null, false given\.$#' + identifier: argument.type count: 2 path: application/controllers/ServicesController.php - - message: "#^Parameter \\#2 \\$summary of class Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectsDetail constructor expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HoststateSummary\\|Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicestateSummary, ipl\\\\Orm\\\\Model\\|null given\\.$#" + message: '#^Parameter \#2 \$summary of class Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectsDetail constructor expects Icinga\\Module\\Icingadb\\Model\\HoststateSummary\|Icinga\\Module\\Icingadb\\Model\\ServicestateSummary, ipl\\Orm\\Model\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServicesController.php - - message: "#^Parameter \\#2 \\.\\.\\.\\$queries of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:export\\(\\) expects ipl\\\\Orm\\\\Query, ipl\\\\Orm\\\\Query\\|null given\\.$#" + message: '#^Parameter \#2 \.\.\.\$queries of method Icinga\\Module\\Icingadb\\Web\\Controller\:\:export\(\) expects ipl\\Orm\\Query, ipl\\Orm\\Query\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/ServicesController.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\ServicesController\\:\\:\\$commandTargetModel \\(ipl\\\\Orm\\\\Model\\) in isset\\(\\) is not nullable\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\ServicesController\:\:\$commandTargetModel \(ipl\\Orm\\Model\) in isset\(\) is not nullable\.$#' + identifier: isset.property count: 1 path: application/controllers/ServicesController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\TacticalController\\:\\:completeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\TacticalController\:\:completeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/TacticalController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\TacticalController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\TacticalController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/TacticalController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\TacticalController\\:\\:searchEditorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\TacticalController\:\:searchEditorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/TacticalController.php - - message: "#^Parameter \\#1 \\$summary of class Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\HostSummaryDonut constructor expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HoststateSummary, ipl\\\\Orm\\\\Model\\|null given\\.$#" + message: '#^Parameter \#1 \$summary of class Icinga\\Module\\Icingadb\\Widget\\HostSummaryDonut constructor expects Icinga\\Module\\Icingadb\\Model\\HoststateSummary, ipl\\Orm\\Model\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/TacticalController.php - - message: "#^Parameter \\#1 \\$summary of class Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ServiceSummaryDonut constructor expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicestateSummary, ipl\\\\Orm\\\\Model\\|null given\\.$#" + message: '#^Parameter \#1 \$summary of class Icinga\\Module\\Icingadb\\Widget\\ServiceSummaryDonut constructor expects Icinga\\Module\\Icingadb\\Model\\ServicestateSummary, ipl\\Orm\\Model\|null given\.$#' + identifier: argument.type count: 1 path: application/controllers/TacticalController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\UserController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\UserController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/UserController.php - - message: "#^Parameter \\#1 \\$title of method ipl\\\\Web\\\\Compat\\\\CompatController\\:\\:setTitle\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$title of method ipl\\Web\\Compat\\CompatController\:\:setTitle\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/UserController.php - - message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects array\\|bool\\|float\\|int\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/UserController.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\UserController\\:\\:\\$user \\(Icinga\\\\Module\\\\Icingadb\\\\Model\\\\User\\) does not accept ipl\\\\Orm\\\\Model\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\UserController\:\:\$user \(Icinga\\Module\\Icingadb\\Model\\User\) does not accept ipl\\Orm\\Model\.$#' + identifier: assign.propertyType count: 1 path: application/controllers/UserController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\UsergroupController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\UsergroupController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/UsergroupController.php - - message: "#^Parameter \\#1 \\$title of method ipl\\\\Web\\\\Compat\\\\CompatController\\:\\:setTitle\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$title of method ipl\\Web\\Compat\\CompatController\:\:setTitle\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/UsergroupController.php - - message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects array\\|bool\\|float\\|int\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' + identifier: argument.type count: 1 path: application/controllers/UsergroupController.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\UsergroupController\\:\\:\\$usergroup \\(Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Usergroup\\) does not accept ipl\\\\Orm\\\\Model\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\UsergroupController\:\:\$usergroup \(Icinga\\Module\\Icingadb\\Model\\Usergroup\) does not accept ipl\\Orm\\Model\.$#' + identifier: assign.propertyType count: 1 path: application/controllers/UsergroupController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\UsergroupsController\\:\\:completeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\UsergroupsController\:\:completeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/UsergroupsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\UsergroupsController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\UsergroupsController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/UsergroupsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\UsergroupsController\\:\\:searchEditorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\UsergroupsController\:\:searchEditorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/UsergroupsController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\UsersController\\:\\:completeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\UsersController\:\:completeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/UsersController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\UsersController\\:\\:indexAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\UsersController\:\:indexAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/UsersController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Controllers\\\\UsersController\\:\\:searchEditorAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\UsersController\:\:searchEditorAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/UsersController.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\ApiTransportForm\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\ApiTransportForm\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/forms/ApiTransportForm.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/Command/CommandForm.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/Command/CommandForm.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/Command/CommandForm.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: application/forms/Command/CommandForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/forms/Command/CommandForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\:\\:onSuccess\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\:\:onSuccess\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/forms/Command/CommandForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: application/forms/Command/CommandForm.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: application/forms/Command/CommandForm.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: application/forms/Command/CommandForm.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: application/forms/Command/CommandForm.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: application/forms/Command/CommandForm.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: application/forms/Command/CommandForm.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: application/forms/Command/CommandForm.php - - message: "#^Call to an undefined method ipl\\\\Html\\\\Contract\\\\FormElement\\:\\:isChecked\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Html\\Contract\\FormElement\:\:isChecked\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/Command/Instance/ToggleInstanceFeaturesForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Instance\\\\ToggleInstanceFeaturesForm\\:\\:__construct\\(\\) has parameter \\$featureStatus with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\Command\\Instance\\ToggleInstanceFeaturesForm\:\:__construct\(\) has parameter \$featureStatus with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/forms/Command/Instance/ToggleInstanceFeaturesForm.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Instance\\\\ToggleInstanceFeaturesForm\\:\\:\\$featureStatus has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Forms\\Command\\Instance\\ToggleInstanceFeaturesForm\:\:\$featureStatus has no type specified\.$#' + identifier: missingType.property count: 1 path: application/forms/Command/Instance/ToggleInstanceFeaturesForm.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Instance\\\\ToggleInstanceFeaturesForm\\:\\:\\$features has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Forms\\Command\\Instance\\ToggleInstanceFeaturesForm\:\:\$features has no type specified\.$#' + identifier: missingType.property count: 1 path: application/forms/Command/Instance/ToggleInstanceFeaturesForm.php - - message: "#^Call to an undefined method ipl\\\\Html\\\\Contract\\\\FormElement\\:\\:isChecked\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Html\\Contract\\FormElement\:\:isChecked\(\)\.$#' + identifier: method.notFound count: 4 path: application/forms/Command/Object/AcknowledgeProblemForm.php - - message: "#^Cannot call method getUsername\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getUsername\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/Command/Object/AcknowledgeProblemForm.php - - message: "#^Parameter \\#1 \\$comment of method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\WithCommentCommand\\:\\:setComment\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$comment of method Icinga\\Module\\Icingadb\\Command\\Object\\WithCommentCommand\:\:setComment\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/Command/Object/AcknowledgeProblemForm.php - - message: "#^Parameter \\#1 \\$duration of class DateInterval constructor expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$duration of class DateInterval constructor expects string, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/Command/Object/AcknowledgeProblemForm.php - - message: "#^Call to an undefined method ipl\\\\Html\\\\Contract\\\\FormElement\\:\\:isChecked\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Html\\Contract\\FormElement\:\:isChecked\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/Command/Object/AddCommentForm.php - - message: "#^Cannot call method getUsername\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getUsername\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/Command/Object/AddCommentForm.php - - message: "#^Parameter \\#1 \\$comment of method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\WithCommentCommand\\:\\:setComment\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$comment of method Icinga\\Module\\Icingadb\\Command\\Object\\WithCommentCommand\:\:setComment\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/Command/Object/AddCommentForm.php - - message: "#^Parameter \\#1 \\$duration of class DateInterval constructor expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$duration of class DateInterval constructor expects string, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/Command/Object/AddCommentForm.php - - message: "#^Cannot call method getUsername\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getUsername\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/Command/Object/DeleteCommentForm.php - - message: "#^Cannot call method getUsername\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getUsername\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/Command/Object/DeleteDowntimeForm.php - - message: "#^Parameter \\#1 \\$output of method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\ProcessCheckResultCommand\\:\\:setOutput\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$output of method Icinga\\Module\\Icingadb\\Command\\Object\\ProcessCheckResultCommand\:\:setOutput\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/Command/Object/ProcessCheckResultForm.php - - message: "#^Parameter \\#1 \\$performanceData of method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\ProcessCheckResultCommand\\:\\:setPerformanceData\\(\\) expects string\\|null, mixed given\\.$#" + message: '#^Parameter \#1 \$performanceData of method Icinga\\Module\\Icingadb\\Command\\Object\\ProcessCheckResultCommand\:\:setPerformanceData\(\) expects string\|null, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/Command/Object/ProcessCheckResultForm.php - - message: "#^Parameter \\#1 \\$status of method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\ProcessCheckResultCommand\\:\\:setStatus\\(\\) expects int, mixed given\\.$#" + message: '#^Parameter \#1 \$status of method Icinga\\Module\\Icingadb\\Command\\Object\\ProcessCheckResultCommand\:\:setStatus\(\) expects int, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/Command/Object/ProcessCheckResultForm.php - - message: "#^Cannot call method getUsername\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getUsername\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/Command/Object/RemoveAcknowledgementForm.php - - message: "#^Call to an undefined method ipl\\\\Html\\\\Contract\\\\FormElement\\:\\:isChecked\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Html\\Contract\\FormElement\:\:isChecked\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/Command/Object/ScheduleCheckForm.php - - message: "#^Cannot call method getTimestamp\\(\\) on mixed\\.$#" + message: '#^Cannot call method getTimestamp\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: application/forms/Command/Object/ScheduleCheckForm.php - - message: "#^Call to an undefined method ipl\\\\Html\\\\Contract\\\\FormElement\\:\\:isChecked\\(\\)\\.$#" - count: 2 - path: application/forms/Command/Object/ScheduleHostDowntimeForm.php - - - - message: "#^Cannot call method getTimestamp\\(\\) on mixed\\.$#" - count: 2 - path: application/forms/Command/Object/ScheduleHostDowntimeForm.php - - - - message: "#^Cannot call method getUsername\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Call to an undefined method ipl\\Html\\Contract\\FormElement\:\:isChecked\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/Command/Object/ScheduleHostDowntimeForm.php - - message: "#^Cannot cast mixed to int\\.$#" - count: 1 - path: application/forms/Command/Object/ScheduleHostDowntimeForm.php - - - - message: "#^Parameter \\#1 \\$comment of method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\WithCommentCommand\\:\\:setComment\\(\\) expects string, mixed given\\.$#" - count: 1 - path: application/forms/Command/Object/ScheduleHostDowntimeForm.php - - - - message: "#^Parameter \\#1 \\$duration of class DateInterval constructor expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$duration of class DateInterval constructor expects string, mixed given\.$#' + identifier: argument.type count: 3 path: application/forms/Command/Object/ScheduleHostDowntimeForm.php - - message: "#^Call to an undefined method ipl\\\\Html\\\\Contract\\\\FormElement\\:\\:isChecked\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Html\\Contract\\FormElement\:\:isChecked\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/Command/Object/ScheduleServiceDowntimeForm.php - - message: "#^Cannot call method getTimestamp\\(\\) on mixed\\.$#" + message: '#^Cannot call method getTimestamp\(\) on mixed\.$#' + identifier: method.nonObject count: 2 path: application/forms/Command/Object/ScheduleServiceDowntimeForm.php - - message: "#^Cannot call method getUsername\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getUsername\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/Command/Object/ScheduleServiceDowntimeForm.php - - message: "#^Cannot call method on\\(\\) on ipl\\\\Html\\\\Contract\\\\Wrappable\\|null\\.$#" + message: '#^Cannot call method on\(\) on ipl\\Html\\Contract\\Wrappable\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/Command/Object/ScheduleServiceDowntimeForm.php - - message: "#^Parameter \\#1 \\$comment of method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\WithCommentCommand\\:\\:setComment\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$comment of method Icinga\\Module\\Icingadb\\Command\\Object\\WithCommentCommand\:\:setComment\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/Command/Object/ScheduleServiceDowntimeForm.php - - message: "#^Parameter \\#1 \\$duration of class DateInterval constructor expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$duration of class DateInterval constructor expects string, mixed given\.$#' + identifier: argument.type count: 3 path: application/forms/Command/Object/ScheduleServiceDowntimeForm.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Object\\\\ScheduleServiceDowntimeForm\\:\\:\\$flexibleEnd has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Forms\\Command\\Object\\ScheduleServiceDowntimeForm\:\:\$flexibleEnd has no type specified\.$#' + identifier: missingType.property count: 1 path: application/forms/Command/Object/ScheduleServiceDowntimeForm.php - - message: "#^Call to an undefined method ipl\\\\Html\\\\Contract\\\\FormElement\\:\\:isChecked\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Html\\Contract\\FormElement\:\:isChecked\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/Command/Object/SendCustomNotificationForm.php - - message: "#^Cannot call method getUsername\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getUsername\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/Command/Object/SendCustomNotificationForm.php - - message: "#^Parameter \\#1 \\$comment of method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\WithCommentCommand\\:\\:setComment\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$comment of method Icinga\\Module\\Icingadb\\Command\\Object\\WithCommentCommand\:\:setComment\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/Command/Object/SendCustomNotificationForm.php - - message: "#^Cannot call method getAttributes\\(\\) on ipl\\\\Html\\\\Contract\\\\Wrappable\\|null\\.$#" + message: '#^Cannot call method getAttributes\(\) on ipl\\Html\\Contract\\Wrappable\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/Command/Object/ToggleObjectFeaturesForm.php - - message: "#^Cannot cast mixed to int\\.$#" + message: '#^Cannot cast mixed to int\.$#' + identifier: cast.int count: 2 path: application/forms/Command/Object/ToggleObjectFeaturesForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Object\\\\ToggleObjectFeaturesForm\\:\\:__construct\\(\\) has parameter \\$featureStatus with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\Command\\Object\\ToggleObjectFeaturesForm\:\:__construct\(\) has parameter \$featureStatus with no type specified\.$#' + identifier: missingType.parameter count: 1 path: application/forms/Command/Object/ToggleObjectFeaturesForm.php - - message: "#^Parameter \\#1 \\$enabled of method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\ToggleObjectFeatureCommand\\:\\:setEnabled\\(\\) expects bool, int given\\.$#" + message: '#^Parameter \#1 \$enabled of method Icinga\\Module\\Icingadb\\Command\\Object\\ToggleObjectFeatureCommand\:\:setEnabled\(\) expects bool, int given\.$#' + identifier: argument.type count: 1 path: application/forms/Command/Object/ToggleObjectFeaturesForm.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Object\\\\ToggleObjectFeaturesForm\\:\\:\\$featureStatus has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Forms\\Command\\Object\\ToggleObjectFeaturesForm\:\:\$featureStatus has no type specified\.$#' + identifier: missingType.property count: 1 path: application/forms/Command/Object/ToggleObjectFeaturesForm.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\Object\\\\ToggleObjectFeaturesForm\\:\\:\\$features has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Forms\\Command\\Object\\ToggleObjectFeaturesForm\:\:\$features has no type specified\.$#' + identifier: missingType.property count: 1 path: application/forms/Command/Object/ToggleObjectFeaturesForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\DatabaseConfigForm\\:\\:createElements\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\DatabaseConfigForm\:\:createElements\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/forms/DatabaseConfigForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\DatabaseConfigForm\\:\\:createElements\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\DatabaseConfigForm\:\:createElements\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/forms/DatabaseConfigForm.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/Navigation/ActionForm.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/Navigation/ActionForm.php - - message: "#^Cannot call method addError\\(\\) on Zend_Form_Element\\|null\\.$#" + message: '#^Cannot call method addError\(\) on Zend_Form_Element\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/Navigation/ActionForm.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/Navigation/ActionForm.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: application/forms/Navigation/ActionForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Navigation\\\\ActionForm\\:\\:createElements\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\Navigation\\ActionForm\:\:createElements\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/forms/Navigation/ActionForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Navigation\\\\ActionForm\\:\\:createElements\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\Navigation\\ActionForm\:\:createElements\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/forms/Navigation/ActionForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Navigation\\\\ActionForm\\:\\:isValid\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\Navigation\\ActionForm\:\:isValid\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/forms/Navigation/ActionForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Navigation\\\\ActionForm\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\Navigation\\ActionForm\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: application/forms/Navigation/ActionForm.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: application/forms/Navigation/ActionForm.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Navigation\\\\ActionForm\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Forms\\Navigation\\ActionForm\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: application/forms/Navigation/ActionForm.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Navigation\\\\ActionForm\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Forms\\Navigation\\ActionForm\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: application/forms/Navigation/ActionForm.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Navigation\\\\ActionForm\\:\\:parseRestriction\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Forms\\Navigation\\ActionForm\:\:parseRestriction\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/Navigation/ActionForm.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: application/forms/Navigation/ActionForm.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: application/forms/Navigation/ActionForm.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: application/forms/Navigation/ActionForm.php - - message: "#^Call to an undefined method Zend_Form_Element\\:\\:isChecked\\(\\)\\.$#" + message: '#^Call to an undefined method Zend_Form_Element\:\:isChecked\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Call to an undefined method object\\:\\:getMessages\\(\\)\\.$#" + message: '#^Call to an undefined method object\:\:getMessages\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Call to an undefined method object\\:\\:isValid\\(\\)\\.$#" + message: '#^Call to an undefined method object\:\:isValid\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Cannot call method addError\\(\\) on Zend_Form_Element\\|null\\.$#" + message: '#^Cannot call method addError\(\) on Zend_Form_Element\|null\.$#' + identifier: method.nonObject count: 3 path: application/forms/RedisConfigForm.php - - message: "#^Cannot call method getElements\\(\\) on Zend_Form_DisplayGroup\\|null\\.$#" + message: '#^Cannot call method getElements\(\) on Zend_Form_DisplayGroup\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Cannot call method getValidator\\(\\) on Zend_Form_Element\\|null\\.$#" + message: '#^Cannot call method getValidator\(\) on Zend_Form_Element\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Cannot call method getValue\\(\\) on Zend_Form_Element\\|null\\.$#" + message: '#^Cannot call method getValue\(\) on Zend_Form_Element\|null\.$#' + identifier: method.nonObject count: 3 path: application/forms/RedisConfigForm.php - - message: "#^Cannot call method isChecked\\(\\) on Zend_Form_Element\\|null\\.$#" + message: '#^Cannot call method isChecked\(\) on Zend_Form_Element\|null\.$#' + identifier: method.nonObject count: 5 path: application/forms/RedisConfigForm.php - - message: "#^Cannot call method setDecorators\\(\\) on Zend_Form_Element\\|null\\.$#" + message: '#^Cannot call method setDecorators\(\) on Zend_Form_Element\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Cannot call method setElements\\(\\) on Zend_Form_DisplayGroup\\|null\\.$#" + message: '#^Cannot call method setElements\(\) on Zend_Form_DisplayGroup\|null\.$#' + identifier: method.nonObject count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Cannot call method setValue\\(\\) on Zend_Form_Element\\|null\\.$#" + message: '#^Cannot call method setValue\(\) on Zend_Form_Element\|null\.$#' + identifier: method.nonObject count: 11 path: application/forms/RedisConfigForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\RedisConfigForm\\:\\:addInsecureCheckboxIfTls\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\RedisConfigForm\:\:addInsecureCheckboxIfTls\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\RedisConfigForm\\:\\:addSkipValidationCheckbox\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\RedisConfigForm\:\:addSkipValidationCheckbox\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\RedisConfigForm\\:\\:createElements\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\RedisConfigForm\:\:createElements\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\RedisConfigForm\\:\\:createElements\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\RedisConfigForm\:\:createElements\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\RedisConfigForm\\:\\:isValid\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\RedisConfigForm\:\:isValid\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\RedisConfigForm\\:\\:isValidPartial\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\RedisConfigForm\:\:isValidPartial\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\RedisConfigForm\\:\\:onRequest\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\RedisConfigForm\:\:onRequest\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\RedisConfigForm\\:\\:wrapIplValidator\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\RedisConfigForm\:\:wrapIplValidator\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Parameter \\#1 \\$filename of function file_exists expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$filename of function file_exists expects string, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Parameter \\#1 \\$filename of function file_get_contents expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$filename of function file_get_contents expects string, mixed given\.$#' + identifier: argument.type count: 2 path: application/forms/RedisConfigForm.php - - message: "#^Parameter \\#1 \\$path of function basename expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$path of function basename expects string, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Parameter \\#2 \\.\\.\\.\\$values of function sprintf expects bool\\|float\\|int\\|string\\|null, mixed given\\.$#" + message: '#^Parameter \#2 \.\.\.\$values of function sprintf expects bool\|float\|int\|string\|null, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/RedisConfigForm.php - - message: "#^Call to an undefined method ipl\\\\Html\\\\Contract\\\\FormElement\\:\\:isChecked\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Html\\Contract\\FormElement\:\:isChecked\(\)\.$#' + identifier: method.notFound count: 1 path: application/forms/SetAsBackendForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\SetAsBackendForm\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\SetAsBackendForm\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/forms/SetAsBackendForm.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\SetAsBackendForm\\:\\:onSuccess\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Forms\\SetAsBackendForm\:\:onSuccess\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/forms/SetAsBackendForm.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Cannot access property \$id on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Cannot access property \\$id on mixed\\.$#" - count: 1 - path: library/Icingadb/Authentication/ObjectAuthorization.php - - - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 3 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Authentication\\\\ObjectAuthorization\\:\\:checkGrants\\(\\) has parameter \\$roles with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Authentication\\ObjectAuthorization\:\:checkGrants\(\) has parameter \$roles with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Authentication\\\\ObjectAuthorization\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Authentication\\ObjectAuthorization\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Parameter \\#1 \\$column of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects string, array\\\\|string given\\.$#" + message: '#^Parameter \#1 \$column of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects string, array\\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Authentication\\\\ObjectAuthorization\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Authentication\\ObjectAuthorization\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Authentication\\\\ObjectAuthorization\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Authentication\\ObjectAuthorization\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 6 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Authentication/ObjectAuthorization.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Authentication\\\\ObjectAuthorization\\:\\:\\$knownGrants type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Authentication\\ObjectAuthorization\:\:\$knownGrants type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Authentication\\\\ObjectAuthorization\\:\\:\\$matchedFilters type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Authentication\\ObjectAuthorization\:\:\$matchedFilters type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Authentication/ObjectAuthorization.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\IcingaApiCommand\\:\\:create\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Command\\IcingaApiCommand\:\:create\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Command/IcingaApiCommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\IcingaApiCommand\\:\\:getData\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Command\\IcingaApiCommand\:\:getData\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Command/IcingaApiCommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\IcingaApiCommand\\:\\:setData\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Command\\IcingaApiCommand\:\:setData\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Command/IcingaApiCommand.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Command\\\\IcingaApiCommand\\:\\:\\$data type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Command\\IcingaApiCommand\:\:\$data type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Command/IcingaApiCommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\GetObjectCommand\\:\\:getAttributes\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Command\\Object\\GetObjectCommand\:\:getAttributes\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Command/Object/GetObjectCommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\GetObjectCommand\\:\\:setAttributes\\(\\) has parameter \\$attributes with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Command\\Object\\GetObjectCommand\:\:setAttributes\(\) has parameter \$attributes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Command/Object/GetObjectCommand.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\GetObjectCommand\\:\\:\\$attributes type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Command\\Object\\GetObjectCommand\:\:\$attributes type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Command/Object/GetObjectCommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\ObjectsCommand\\:\\:getObjects\\(\\) return type has no value type specified in iterable type Traversable\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Command\\Object\\ObjectsCommand\:\:getObjects\(\) return type has no value type specified in iterable type Traversable\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Command/Object/ObjectsCommand.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Object\\\\ProcessCheckResultCommand\\:\\:\\$performanceData \\(string\\) does not accept string\\|null\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Command\\Object\\ProcessCheckResultCommand\:\:\$performanceData \(string\) does not accept string\|null\.$#' + identifier: assign.propertyType count: 1 path: library/Icingadb/Command/Object/ProcessCheckResultCommand.php - - message: "#^Cannot access property \\$name on mixed\\.$#" + message: '#^Cannot access property \$name on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Command/Renderer/IcingaApiCommandRenderer.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Renderer\\\\IcingaApiCommandRenderer\\:\\:applyFilter\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Command\\Renderer\\IcingaApiCommandRenderer\:\:applyFilter\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Command/Renderer/IcingaApiCommandRenderer.php - - message: "#^Parameter \\#1 \\$object of method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Renderer\\\\IcingaApiCommandRenderer\\:\\:getObjectPluralType\\(\\) expects ipl\\\\Orm\\\\Model, ipl\\\\Orm\\\\Model\\|null given\\.$#" + message: '#^Parameter \#1 \$object of method Icinga\\Module\\Icingadb\\Command\\Renderer\\IcingaApiCommandRenderer\:\:getObjectPluralType\(\) expects ipl\\Orm\\Model, ipl\\Orm\\Model\|null given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Command/Renderer/IcingaApiCommandRenderer.php - - message: "#^Cannot access offset 'code' on mixed\\.$#" + message: '#^Cannot access offset ''code'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Icingadb/Command/Transport/ApiCommandTransport.php - - message: "#^Cannot access offset 'error' on mixed\\.$#" + message: '#^Cannot access offset ''error'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Icingadb/Command/Transport/ApiCommandTransport.php - - message: "#^Cannot access offset 'results' on mixed\\.$#" + message: '#^Cannot access offset ''results'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 2 path: library/Icingadb/Command/Transport/ApiCommandTransport.php - - message: "#^Cannot access offset 'status' on mixed\\.$#" + message: '#^Cannot access offset ''status'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 2 path: library/Icingadb/Command/Transport/ApiCommandTransport.php - - message: "#^Cannot access offset 'user' on mixed\\.$#" + message: '#^Cannot access offset ''user'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Icingadb/Command/Transport/ApiCommandTransport.php - - message: "#^Cannot access offset 0 on mixed\\.$#" + message: '#^Cannot access offset 0 on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Icingadb/Command/Transport/ApiCommandTransport.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Transport\\\\CommandTransportConfig\\:\\:\\$configs type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Command\\Transport\\CommandTransportConfig\:\:\$configs type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Command/Transport/CommandTransportConfig.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Transport\\\\CommandTransportConfig\\:\\:\\$queryColumns type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Command\\Transport\\CommandTransportConfig\:\:\$queryColumns type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Command/Transport/CommandTransportConfig.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Command\\\\Transport\\\\CommandTransportInterface\\:\\:send\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Command\\Transport\\CommandTransportInterface\:\:send\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Command/Transport/CommandTransportInterface.php - - message: "#^Cannot access offset 'in_downtime' on mixed\\.$#" + message: '#^Cannot access offset ''in_downtime'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Icingadb/Common/IcingaRedis.php - - message: "#^Cannot access offset 'is_acknowledged' on mixed\\.$#" + message: '#^Cannot access offset ''is_acknowledged'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Icingadb/Common/IcingaRedis.php - - message: "#^Cannot access offset 'state_type' on mixed\\.$#" + message: '#^Cannot access offset ''state_type'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 2 path: library/Icingadb/Common/IcingaRedis.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\IcingaRedis\\:\\:fetchHostState\\(\\) has parameter \\$columns with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\IcingaRedis\:\:fetchHostState\(\) has parameter \$columns with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/IcingaRedis.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\IcingaRedis\\:\\:fetchHostState\\(\\) has parameter \\$ids with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\IcingaRedis\:\:fetchHostState\(\) has parameter \$ids with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/IcingaRedis.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\IcingaRedis\\:\\:fetchServiceState\\(\\) has parameter \\$columns with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\IcingaRedis\:\:fetchServiceState\(\) has parameter \$columns with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/IcingaRedis.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\IcingaRedis\\:\\:fetchServiceState\\(\\) has parameter \\$ids with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\IcingaRedis\:\:fetchServiceState\(\) has parameter \$ids with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/IcingaRedis.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\IcingaRedis\\:\\:fetchState\\(\\) has parameter \\$columns with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\IcingaRedis\:\:fetchState\(\) has parameter \$columns with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/IcingaRedis.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\IcingaRedis\\:\\:fetchState\\(\\) has parameter \\$ids with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\IcingaRedis\:\:fetchState\(\) has parameter \$ids with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/IcingaRedis.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\IcingaRedis\\:\\:getTlsParams\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\IcingaRedis\:\:getTlsParams\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/IcingaRedis.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\Links\\:\\:hostgroup\\(\\) has parameter \\$hostgroup with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\Links\:\:hostgroup\(\) has parameter \$hostgroup with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Common/Links.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\Links\\:\\:servicegroup\\(\\) has parameter \\$servicegroup with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\Links\:\:servicegroup\(\) has parameter \$servicegroup with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Common/Links.php - - message: "#^Call to an undefined method Predis\\\\Client\\:\\:hGet\\(\\)\\.$#" + message: '#^Call to an undefined method Predis\\Client\:\:hGet\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Cannot call method columns\\(\\) on mixed\\.$#" + message: '#^Cannot call method columns\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Cannot call method setTimezone\\(\\) on DateTime\\|false\\.$#" + message: '#^Cannot call method setTimezone\(\) on DateTime\|false\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:__construct\\(\\) has parameter \\$apiResult with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:__construct\(\) has parameter \$apiResult with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:createAttributes\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:createAttributes\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:createCustomVariables\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:createCustomVariables\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:createLastCheckResult\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:createLastCheckResult\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:createLastCheckResult\\(\\) should return array\\|null but empty return statement found\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:createLastCheckResult\(\) should return array\|null but empty return statement found\.$#' + identifier: return.empty count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:createNameValueTable\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:createNameValueTable\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:createNameValueTable\\(\\) has parameter \\$formatters with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:createNameValueTable\(\) has parameter \$formatters with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:createRedisInfo\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:createRedisInfo\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:createSourceLocation\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:createSourceLocation\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:createSourceLocation\\(\\) should return array\\|null but empty return statement found\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:createSourceLocation\(\) should return array\|null but empty return statement found\.$#' + identifier: return.empty count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:formatMilliseconds\\(\\) has parameter \\$ms with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:formatMilliseconds\(\) has parameter \$ms with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:formatSeconds\\(\\) has parameter \\$s with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:formatSeconds\(\) has parameter \$s with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:formatState\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:formatState\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Parameter \\#1 \\$content of static method ipl\\\\Html\\\\Table\\:\\:td\\(\\) expects array\\|ipl\\\\Html\\\\Html\\|string\\|null, mixed given\\.$#" + message: '#^Parameter \#1 \$content of static method ipl\\Html\\Table\:\:td\(\) expects array\|ipl\\Html\\Html\|string\|null, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:\\$attrs type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:\$attrs type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Common\\\\ObjectInspectionDetail\\:\\:\\$joins type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:\$joins type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php - - message: "#^Parameter \\#1 \\$rule of method ipl\\\\Stdlib\\\\Filter\\\\Chain\\:\\:add\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Rule, ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null given\\.$#" + message: '#^Parameter \#1 \$rule of method ipl\\Stdlib\\Filter\\Chain\:\:add\(\) expects ipl\\Stdlib\\Filter\\Rule, ipl\\Stdlib\\Filter\\Rule\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Common/StateBadges.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\.$#' + identifier: foreach.nonIterable count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Cannot access property \$customvar on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot access property \\$customvar on mixed\\.$#" - count: 1 - path: library/Icingadb/Compat/CompatHost.php - - - - message: "#^Cannot access property \\$display_name on mixed\\.$#" + message: '#^Cannot access property \$display_name on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot access property \\$hostgroup on mixed\\.$#" + message: '#^Cannot access property \$hostgroup on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot access property \\$name on mixed\\.$#" + message: '#^Cannot access property \$name on mixed\.$#' + identifier: property.nonObject count: 5 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot access property \\$services_critical_handled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_critical_handled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot access property \\$services_critical_unhandled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_critical_unhandled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot access property \\$services_ok on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_ok on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot access property \\$services_pending on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_pending on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot access property \\$services_total on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_total on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot access property \\$services_unknown_handled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_unknown_handled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot access property \\$services_unknown_unhandled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_unknown_unhandled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot access property \\$services_warning_handled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_warning_handled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot access property \\$services_warning_unhandled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_warning_unhandled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot call method columns\\(\\) on mixed\\.$#" + message: '#^Cannot call method columns\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot call method execute\\(\\) on mixed\\.$#" + message: '#^Cannot call method execute\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot call method filter\\(\\) on mixed\\.$#" + message: '#^Cannot call method filter\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Cannot clone mixed\\.$#" + message: '#^Cannot clone mixed\.$#' + identifier: clone.nonObject count: 2 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost\\:\\:__get\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatHost\:\:__get\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost\\:\\:__get\\(\\) has parameter \\$name with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatHost\:\:__get\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost\\:\\:__isset\\(\\) has parameter \\$name with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatHost\:\:__isset\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost\\:\\:fromModel\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatHost\:\:fromModel\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost\\:\\:getName\\(\\) should return string but returns mixed\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatHost\:\:getName\(\) should return string but returns mixed\.$#' + identifier: return.type count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatHost\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Compat\\CompatHost\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Parameter \\#1 \\$flattenedVars of method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CustomvarFlat\\:\\:unFlattenVars\\(\\) expects Traversable, mixed given\\.$#" + message: '#^Parameter \#1 \$flattenedVars of method Icinga\\Module\\Icingadb\\Model\\CustomvarFlat\:\:unFlattenVars\(\) expects Traversable, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Compat\\CompatHost\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Compat/CompatHost.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects array\\|bool\\|float\\|int\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost\\:\\:\\$legacyColumns has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Compat\\CompatHost\:\:\$legacyColumns has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost\\:\\:\\$rawCustomvars type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Compat\\CompatHost\:\:\$rawCustomvars type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost\\:\\:\\$rawHostCustomvars type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Compat\\CompatHost\:\:\$rawHostCustomvars type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Property Icinga\\\\Module\\\\Monitoring\\\\Object\\\\MonitoredObject\\:\\:\\$eventhistory \\(Icinga\\\\Module\\\\Monitoring\\\\DataView\\\\EventHistory\\) does not accept array\\.$#" + message: '#^Property Icinga\\Module\\Monitoring\\Object\\MonitoredObject\:\:\$eventhistory \(Icinga\\Module\\Monitoring\\DataView\\EventHistory\) does not accept array\.$#' + identifier: assign.propertyType count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Property Icinga\\\\Module\\\\Monitoring\\\\Object\\\\MonitoredObject\\:\\:\\$hostVariables \\(array\\) in isset\\(\\) is not nullable\\.$#" + message: '#^Property Icinga\\Module\\Monitoring\\Object\\MonitoredObject\:\:\$hostVariables \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Property Icinga\\\\Module\\\\Monitoring\\\\Object\\\\MonitoredObject\\:\\:\\$serviceVariables \\(array\\) in isset\\(\\) is not nullable\\.$#" + message: '#^Property Icinga\\Module\\Monitoring\\Object\\MonitoredObject\:\:\$serviceVariables \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property count: 1 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Unreachable statement \\- code above always terminates\\.$#" + message: '#^Unreachable statement \- code above always terminates\.$#' + identifier: deadCode.unreachable count: 2 path: library/Icingadb/Compat/CompatHost.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\.$#' + identifier: foreach.nonIterable count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Cannot access property \$customvar on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot access property \\$customvar on mixed\\.$#" - count: 1 - path: library/Icingadb/Compat/CompatService.php - - - - message: "#^Cannot access property \\$display_name on mixed\\.$#" + message: '#^Cannot access property \$display_name on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot access property \\$hostgroup on mixed\\.$#" + message: '#^Cannot access property \$hostgroup on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot access property \\$name on mixed\\.$#" + message: '#^Cannot access property \$name on mixed\.$#' + identifier: property.nonObject count: 5 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot access property \\$services_critical_handled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_critical_handled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot access property \\$services_critical_unhandled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_critical_unhandled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot access property \\$services_ok on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_ok on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot access property \\$services_pending on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_pending on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot access property \\$services_total on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_total on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot access property \\$services_unknown_handled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_unknown_handled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot access property \\$services_unknown_unhandled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_unknown_unhandled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot access property \\$services_warning_handled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_warning_handled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot access property \\$services_warning_unhandled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_warning_unhandled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot call method columns\\(\\) on mixed\\.$#" + message: '#^Cannot call method columns\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot call method execute\\(\\) on mixed\\.$#" + message: '#^Cannot call method execute\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot call method filter\\(\\) on mixed\\.$#" + message: '#^Cannot call method filter\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Compat/CompatService.php - - message: "#^Cannot clone mixed\\.$#" + message: '#^Cannot clone mixed\.$#' + identifier: clone.nonObject count: 2 path: library/Icingadb/Compat/CompatService.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:__get\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:__get\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:__get\\(\\) has parameter \\$name with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:__get\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:__isset\\(\\) has parameter \\$name with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:__isset\(\) has parameter \$name with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:fetchHost\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:fetchHost\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:fromModel\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:fromModel\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:getHost\\(\\) should return Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost but returns Icinga\\\\Module\\\\Monitoring\\\\Object\\\\Host\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:getHost\(\) should return Icinga\\Module\\Icingadb\\Compat\\CompatHost but returns Icinga\\Module\\Monitoring\\Object\\Host\.$#' + identifier: return.type count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:getName\\(\\) should return string but returns mixed\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:getName\(\) should return string but returns mixed\.$#' + identifier: return.type count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Compat/CompatService.php - - message: "#^Parameter \\#1 \\$flattenedVars of method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CustomvarFlat\\:\\:unFlattenVars\\(\\) expects Traversable, mixed given\\.$#" + message: '#^Parameter \#1 \$flattenedVars of method Icinga\\Module\\Icingadb\\Model\\CustomvarFlat\:\:unFlattenVars\(\) expects Traversable, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Parameter \\#1 \\$object of class Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatHost constructor expects ipl\\\\Orm\\\\Model, mixed given\\.$#" + message: '#^Parameter \#1 \$object of class Icinga\\Module\\Icingadb\\Compat\\CompatHost constructor expects ipl\\Orm\\Model, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Compat/CompatService.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Compat/CompatService.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Compat/CompatService.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Compat/CompatService.php - - message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects array\\|bool\\|float\\|int\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Compat/CompatService.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:\\$legacyColumns has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:\$legacyColumns has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:\\$rawCustomvars type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:\$rawCustomvars type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\CompatService\\:\\:\\$rawHostCustomvars type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:\$rawHostCustomvars type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Property Icinga\\\\Module\\\\Monitoring\\\\Object\\\\MonitoredObject\\:\\:\\$eventhistory \\(Icinga\\\\Module\\\\Monitoring\\\\DataView\\\\EventHistory\\) does not accept array\\.$#" + message: '#^Property Icinga\\Module\\Monitoring\\Object\\MonitoredObject\:\:\$eventhistory \(Icinga\\Module\\Monitoring\\DataView\\EventHistory\) does not accept array\.$#' + identifier: assign.propertyType count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Property Icinga\\\\Module\\\\Monitoring\\\\Object\\\\MonitoredObject\\:\\:\\$hostVariables \\(array\\) in isset\\(\\) is not nullable\\.$#" + message: '#^Property Icinga\\Module\\Monitoring\\Object\\MonitoredObject\:\:\$hostVariables \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Property Icinga\\\\Module\\\\Monitoring\\\\Object\\\\MonitoredObject\\:\\:\\$serviceVariables \\(array\\) in isset\\(\\) is not nullable\\.$#" + message: '#^Property Icinga\\Module\\Monitoring\\Object\\MonitoredObject\:\:\$serviceVariables \(array\) in isset\(\) is not nullable\.$#' + identifier: isset.property count: 1 path: library/Icingadb/Compat/CompatService.php - - message: "#^Unreachable statement \\- code above always terminates\\.$#" + message: '#^Unreachable statement \- code above always terminates\.$#' + identifier: deadCode.unreachable count: 2 path: library/Icingadb/Compat/CompatService.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:commentsColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:commentsColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:commonColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:commonColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:commonParameters\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:commonParameters\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:contactgroupsColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:contactgroupsColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:contactsColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:contactsColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:downtimesColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:downtimesColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:historyColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:historyColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:hostColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:hostColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:hostgroupsColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:hostgroupsColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:hostsColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:hostsColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:hostsParameters\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:hostsParameters\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:multipleHostsColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:multipleHostsColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:multipleServicesColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:multipleServicesColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:notificationHistoryColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:notificationHistoryColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:rewrite\\(\\) has parameter \\$legacyColumns with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:rewrite\(\) has parameter \$legacyColumns with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:serviceColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:serviceColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:servicegridColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:servicegridColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:servicegroupsColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:servicegroupsColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:servicesColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:servicesColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:servicesParameters\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:servicesParameters\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:transformParams\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:transformParams\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Compat\\\\UrlMigrator\\:\\:transformWildcardFilter\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:transformWildcardFilter\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Parameter \\#1 \\$column of method ipl\\\\Stdlib\\\\Filter\\\\Condition\\:\\:setColumn\\(\\) expects string, int\\|string\\|null given\\.$#" + message: '#^Parameter \#1 \$column of method ipl\\Stdlib\\Filter\\Condition\:\:setColumn\(\) expects string, int\|string\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Compat/UrlMigrator.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\CsvResultSet\\:\\:extractKeysAndValues\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Data\\CsvResultSet\:\:extractKeysAndValues\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Data/CsvResultSet.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\CsvResultSet\\:\\:formatValue\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Data\\CsvResultSet\:\:formatValue\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Data/CsvResultSet.php - - message: "#^Parameter \\#1 \\$key of method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\CsvResultSet\\:\\:formatValue\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$key of method Icinga\\Module\\Icingadb\\Data\\CsvResultSet\:\:formatValue\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Data/CsvResultSet.php - - message: "#^Parameter \\#1 \\$model of method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\CsvResultSet\\:\\:extractKeysAndValues\\(\\) expects ipl\\\\Orm\\\\Model, mixed given\\.$#" + message: '#^Parameter \#1 \$model of method Icinga\\Module\\Icingadb\\Data\\CsvResultSet\:\:extractKeysAndValues\(\) expects ipl\\Orm\\Model, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Data/CsvResultSet.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\JsonResultSet\\:\\:createObject\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Data\\JsonResultSet\:\:createObject\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Data/JsonResultSet.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\JsonResultSet\\:\\:formatValue\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Data\\JsonResultSet\:\:formatValue\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Data/JsonResultSet.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\JsonResultSet\\:\\:formatValue\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Data\\JsonResultSet\:\:formatValue\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Data/JsonResultSet.php - - message: "#^Parameter \\#1 \\$key of method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\JsonResultSet\\:\\:formatValue\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$key of method Icinga\\Module\\Icingadb\\Data\\JsonResultSet\:\:formatValue\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Data/JsonResultSet.php - - message: "#^Parameter \\#1 \\$model of method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\JsonResultSet\\:\\:createObject\\(\\) expects ipl\\\\Orm\\\\Model, mixed given\\.$#" + message: '#^Parameter \#1 \$model of method Icinga\\Module\\Icingadb\\Data\\JsonResultSet\:\:createObject\(\) expects ipl\\Orm\\Model, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Data/JsonResultSet.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Argument of an invalid type array\|null supplied for foreach, only iterables are supported\.$#' + identifier: foreach.nonIterable count: 1 path: library/Icingadb/Data/PivotTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\PivotTable\\:\\:__construct\\(\\) has parameter \\$gridcols with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Data\\PivotTable\:\:__construct\(\) has parameter \$gridcols with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Data/PivotTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\PivotTable\\:\\:toArray\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Data\\PivotTable\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Data/PivotTable.php - - message: "#^Parameter \\#1 \\$haystack of function strpos expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$haystack of function strpos expects string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Data/PivotTable.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Data\\\\PivotTable\\:\\:\\$gridcols type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Data\\PivotTable\:\:\$gridcols type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Data/PivotTable.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Data\\\\PivotTable\\:\\:\\$order type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Data\\PivotTable\:\:\$order type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Data/PivotTable.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Data\\\\PivotTable\\:\\:\\$xAxisFilter \\(ipl\\\\Stdlib\\\\Filter\\\\Rule\\) does not accept ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Data\\PivotTable\:\:\$xAxisFilter \(ipl\\Stdlib\\Filter\\Rule\) does not accept ipl\\Stdlib\\Filter\\Rule\|null\.$#' + identifier: assign.propertyType count: 1 path: library/Icingadb/Data/PivotTable.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Data\\\\PivotTable\\:\\:\\$yAxisFilter \\(ipl\\\\Stdlib\\\\Filter\\\\Rule\\) does not accept ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Data\\PivotTable\:\:\$yAxisFilter \(ipl\\Stdlib\\Filter\\Rule\) does not accept ipl\\Stdlib\\Filter\\Rule\|null\.$#' + identifier: assign.propertyType count: 1 path: library/Icingadb/Data/PivotTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\VolatileCsvResults\\:\\:extractKeysAndValues\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Data\\VolatileCsvResults\:\:extractKeysAndValues\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Data/VolatileCsvResults.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\VolatileCsvResults\\:\\:formatValue\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Data\\VolatileCsvResults\:\:formatValue\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Data/VolatileCsvResults.php - - message: "#^Parameter \\#1 \\$key of method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\VolatileCsvResults\\:\\:formatValue\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$key of method Icinga\\Module\\Icingadb\\Data\\VolatileCsvResults\:\:formatValue\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Data/VolatileCsvResults.php - - message: "#^Parameter \\#1 \\$model of method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\VolatileCsvResults\\:\\:extractKeysAndValues\\(\\) expects ipl\\\\Orm\\\\Model, mixed given\\.$#" + message: '#^Parameter \#1 \$model of method Icinga\\Module\\Icingadb\\Data\\VolatileCsvResults\:\:extractKeysAndValues\(\) expects ipl\\Orm\\Model, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Data/VolatileCsvResults.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\VolatileJsonResults\\:\\:createObject\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Data\\VolatileJsonResults\:\:createObject\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Data/VolatileJsonResults.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\VolatileJsonResults\\:\\:formatValue\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Data\\VolatileJsonResults\:\:formatValue\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Data/VolatileJsonResults.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\VolatileJsonResults\\:\\:formatValue\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Data\\VolatileJsonResults\:\:formatValue\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Data/VolatileJsonResults.php - - message: "#^Parameter \\#1 \\$key of method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\VolatileJsonResults\\:\\:formatValue\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$key of method Icinga\\Module\\Icingadb\\Data\\VolatileJsonResults\:\:formatValue\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Data/VolatileJsonResults.php - - message: "#^Parameter \\#1 \\$model of method Icinga\\\\Module\\\\Icingadb\\\\Data\\\\VolatileJsonResults\\:\\:createObject\\(\\) expects ipl\\\\Orm\\\\Model, mixed given\\.$#" + message: '#^Parameter \#1 \$model of method Icinga\\Module\\Icingadb\\Data\\VolatileJsonResults\:\:createObject\(\) expects ipl\\Orm\\Model, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Data/VolatileJsonResults.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\ActionsHook\\\\ObjectActionsHook\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Hook\\ActionsHook\\ObjectActionsHook\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Hook/ActionsHook/ObjectActionsHook.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\CustomVarRendererHook\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Hook\\CustomVarRendererHook\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Hook/CustomVarRendererHook.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\ExtensionHook\\\\BaseExtensionHook\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Hook\\ExtensionHook\\BaseExtensionHook\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Hook/ExtensionHook/BaseExtensionHook.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\ExtensionHook\\\\BaseExtensionHook\\:\\:injectExtensions\\(\\) has parameter \\$coreElements with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Hook\\ExtensionHook\\BaseExtensionHook\:\:injectExtensions\(\) has parameter \$coreElements with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Hook/ExtensionHook/BaseExtensionHook.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\ExtensionHook\\\\BaseExtensionHook\\:\\:injectExtensions\\(\\) has parameter \\$extensions with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Hook\\ExtensionHook\\BaseExtensionHook\:\:injectExtensions\(\) has parameter \$extensions with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Hook/ExtensionHook/BaseExtensionHook.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\ExtensionHook\\\\BaseExtensionHook\\:\\:injectExtensions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Hook\\ExtensionHook\\BaseExtensionHook\:\:injectExtensions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Hook/ExtensionHook/BaseExtensionHook.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\ExtensionHook\\\\ObjectDetailExtensionHook\\:\\:loadExtensions\\(\\) should return array\\ but returns array\\\\.$#" - count: 1 - path: library/Icingadb/Hook/ExtensionHook/ObjectDetailExtensionHook.php - - - - message: "#^PHPDoc tag @var has invalid value \\(\\$hook EventDetailExtensionHook\\)\\: Unexpected token \"\\$hook\", expected type at offset 212$#" - count: 1 - path: library/Icingadb/Hook/ExtensionHook/ObjectDetailExtensionHook.php - - - - message: "#^PHPDoc tag @var has invalid value \\(\\$hook HostDetailExtensionHook\\)\\: Unexpected token \"\\$hook\", expected type at offset 20$#" - count: 1 - path: library/Icingadb/Hook/ExtensionHook/ObjectDetailExtensionHook.php - - - - message: "#^PHPDoc tag @var has invalid value \\(\\$hook ServiceDetailExtensionHook\\)\\: Unexpected token \"\\$hook\", expected type at offset 66$#" - count: 1 - path: library/Icingadb/Hook/ExtensionHook/ObjectDetailExtensionHook.php - - - - message: "#^PHPDoc tag @var has invalid value \\(\\$hook UserDetailExtensionHook\\)\\: Unexpected token \"\\$hook\", expected type at offset 115$#" - count: 1 - path: library/Icingadb/Hook/ExtensionHook/ObjectDetailExtensionHook.php - - - - message: "#^PHPDoc tag @var has invalid value \\(\\$hook UsergroupDetailExtensionHook\\)\\: Unexpected token \"\\$hook\", expected type at offset 161$#" - count: 1 - path: library/Icingadb/Hook/ExtensionHook/ObjectDetailExtensionHook.php - - - - message: "#^Cannot cast ipl\\\\Html\\\\ValidHtml to string\\.$#" + message: '#^Cannot cast ipl\\Html\\ValidHtml to string\.$#' + identifier: cast.string count: 1 path: library/Icingadb/Hook/ExtensionHook/ObjectsDetailExtensionHook.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\IcingadbSupportHook\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Hook\\IcingadbSupportHook\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Hook/IcingadbSupportHook.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\PluginOutputHook\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Hook\\PluginOutputHook\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Hook/PluginOutputHook.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Hook/TabHook.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Hook/TabHook.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Hook/TabHook.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" - count: 1 - path: library/Icingadb/Hook/TabHook.php - - - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Hook/TabHook.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\TabHook\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Hook\\TabHook\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Hook/TabHook.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\TabHook\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Hook\\TabHook\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Hook/TabHook.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Hook/TabHook.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\TabHook\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Hook\\TabHook\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Hook/TabHook.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\TabHook\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Hook\\TabHook\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Hook/TabHook.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Hook/TabHook.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Hook/TabHook.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Hook/TabHook.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\AcknowledgementHistory\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\AcknowledgementHistory\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/AcknowledgementHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\AcknowledgementHistory\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\AcknowledgementHistory\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/AcknowledgementHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\AcknowledgementHistory\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\AcknowledgementHistory\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/AcknowledgementHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ActionUrl\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ActionUrl\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/ActionUrl.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ActionUrl\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ActionUrl\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/ActionUrl.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ActionUrl\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ActionUrl\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/ActionUrl.php - - message: "#^Parameter \\#1 \\$haystack of function strpos expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$haystack of function strpos expects string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Model/Behavior/ActionAndNoteUrl.php - - message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + message: '#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\.$#' + identifier: foreach.nonIterable count: 1 path: library/Icingadb/Model/Behavior/Bitmask.php - - message: "#^Cannot access offset mixed on mixed\\.$#" + message: '#^Cannot access offset mixed on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 2 path: library/Icingadb/Model/Behavior/Bitmask.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Behavior\\\\Bitmask\\:\\:rewriteCondition\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null but empty return statement found\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Behavior\\Bitmask\:\:rewriteCondition\(\) should return ipl\\Stdlib\\Filter\\Rule\|null but empty return statement found\.$#' + identifier: return.empty count: 2 path: library/Icingadb/Model/Behavior/Bitmask.php - - message: "#^Cannot cast mixed to string\\.$#" + message: '#^Cannot cast mixed to string\.$#' + identifier: cast.string count: 1 path: library/Icingadb/Model/Behavior/BoolCast.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Behavior\\\\FlattenedObjectVars\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Behavior\\FlattenedObjectVars\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Behavior\\\\FlattenedObjectVars\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Model\\Behavior\\FlattenedObjectVars\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Behavior\\\\FlattenedObjectVars\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Model\\Behavior\\FlattenedObjectVars\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Parameter \\#1 \\$string of function substr expects string, string\\|null given\\.$#" + message: '#^Parameter \#1 \$string of function substr expects string, string\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Parameter \\#2 \\$targetPath of method ipl\\\\Orm\\\\Query\\:\\:createSubQuery\\(\\) expects string, string\\|null given\\.$#" + message: '#^Parameter \#2 \$targetPath of method ipl\\Orm\\Query\:\:createSubQuery\(\) expects string, string\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Parameter \\#2 \\$value of static method ipl\\\\Stdlib\\\\Filter\\:\\:equal\\(\\) expects array\\|bool\\|float\\|int\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, string\\|null given\\.$#" + message: '#^Part \$column \(mixed\) of encapsed string cannot be cast to string\.$#' + identifier: encapsedStringPart.nonString count: 1 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: "#^Part \\$column \\(mixed\\) of encapsed string cannot be cast to string\\.$#" - count: 1 - path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Behavior\\\\ReRoute\\:\\:__construct\\(\\) has parameter \\$routes with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Behavior\\ReRoute\:\:__construct\(\) has parameter \$routes with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Behavior/ReRoute.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Behavior\\\\ReRoute\\:\\:getRoutes\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Behavior\\ReRoute\:\:getRoutes\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Behavior/ReRoute.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Behavior\\\\ReRoute\\:\\:rewriteCondition\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null but empty return statement found\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Behavior\\ReRoute\:\:rewriteCondition\(\) should return ipl\\Stdlib\\Filter\\Rule\|null but empty return statement found\.$#' + identifier: return.empty count: 1 path: library/Icingadb/Model/Behavior/ReRoute.php - - message: "#^Parameter \\#1 \\$haystack of function strpos expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$haystack of function strpos expects string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Model/Behavior/ReRoute.php - - message: "#^Parameter \\#1 \\$path of method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Behavior\\\\ReRoute\\:\\:rewritePath\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$path of method Icinga\\Module\\Icingadb\\Model\\Behavior\\ReRoute\:\:rewritePath\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Model/Behavior/ReRoute.php - - message: "#^Parameter \\#1 \\$string of function substr expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$string of function substr expects string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Model/Behavior/ReRoute.php - - message: "#^Parameter \\#1 \\$string of function substr expects string, string\\|null given\\.$#" + message: '#^Parameter \#1 \$string of function substr expects string, string\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Model/Behavior/ReRoute.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Behavior\\\\ReRoute\\:\\:\\$routes has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Model\\Behavior\\ReRoute\:\:\$routes has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Model/Behavior/ReRoute.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Checkcommand\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Checkcommand\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Checkcommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Checkcommand\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Checkcommand\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Checkcommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Checkcommand\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Checkcommand\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Checkcommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CheckcommandArgument\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CheckcommandArgument\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/CheckcommandArgument.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CheckcommandArgument\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CheckcommandArgument\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/CheckcommandArgument.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CheckcommandArgument\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CheckcommandArgument\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/CheckcommandArgument.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CheckcommandCustomvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CheckcommandCustomvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/CheckcommandCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CheckcommandCustomvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CheckcommandCustomvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/CheckcommandCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CheckcommandEnvvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CheckcommandEnvvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/CheckcommandEnvvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CheckcommandEnvvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CheckcommandEnvvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/CheckcommandEnvvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CheckcommandEnvvar\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CheckcommandEnvvar\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/CheckcommandEnvvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Comment\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Comment\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Comment.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Comment\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Comment\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Comment.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Comment\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Comment\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Comment.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Comment\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Comment\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Comment.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Comment\\:\\:getSearchColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Comment\:\:getSearchColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Comment.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CommentHistory\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CommentHistory\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/CommentHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CommentHistory\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CommentHistory\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/CommentHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CommentHistory\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CommentHistory\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/CommentHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Customvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Customvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Customvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Customvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Customvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Customvar.php - - message: "#^Access to an undefined property object\\:\\:\\$flatname\\.$#" + message: '#^Access to an undefined property object\:\:\$flatname\.$#' + identifier: property.notFound count: 1 path: library/Icingadb/Model/CustomvarFlat.php - - message: "#^Access to an undefined property object\\:\\:\\$value\\.$#" + message: '#^Access to an undefined property object\:\:\$value\.$#' + identifier: property.notFound count: 3 path: library/Icingadb/Model/CustomvarFlat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CustomvarFlat\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CustomvarFlat\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/CustomvarFlat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CustomvarFlat\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CustomvarFlat\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/CustomvarFlat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CustomvarFlat\\:\\:unFlattenVars\\(\\) has parameter \\$flattenedVars with no value type specified in iterable type Traversable\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CustomvarFlat\:\:unFlattenVars\(\) has parameter \$flattenedVars with no value type specified in iterable type Traversable\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/CustomvarFlat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CustomvarFlat\\:\\:unFlattenVars\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\CustomvarFlat\:\:unFlattenVars\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/CustomvarFlat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Downtime\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Downtime\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Downtime.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Downtime\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Downtime\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Downtime.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Downtime\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Downtime\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Downtime.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Downtime\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Downtime\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Downtime.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Downtime\\:\\:getSearchColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Downtime\:\:getSearchColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Downtime.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\DowntimeHistory\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\DowntimeHistory\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/DowntimeHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\DowntimeHistory\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\DowntimeHistory\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/DowntimeHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\DowntimeHistory\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\DowntimeHistory\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/DowntimeHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Endpoint\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Endpoint\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Endpoint.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Endpoint\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Endpoint\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Endpoint.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Endpoint\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Endpoint\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Endpoint.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Environment\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Environment\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Environment.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Environment\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Environment\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Environment.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Environment\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Environment\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Environment.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Eventcommand\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Eventcommand\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Eventcommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Eventcommand\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Eventcommand\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Eventcommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Eventcommand\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Eventcommand\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Eventcommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\EventcommandArgument\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\EventcommandArgument\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/EventcommandArgument.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\EventcommandArgument\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\EventcommandArgument\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/EventcommandArgument.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\EventcommandArgument\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\EventcommandArgument\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/EventcommandArgument.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\EventcommandCustomvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\EventcommandCustomvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/EventcommandCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\EventcommandCustomvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\EventcommandCustomvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/EventcommandCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\EventcommandEnvvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\EventcommandEnvvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/EventcommandEnvvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\EventcommandEnvvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\EventcommandEnvvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/EventcommandEnvvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\EventcommandEnvvar\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\EventcommandEnvvar\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/EventcommandEnvvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\FlappingHistory\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\FlappingHistory\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/FlappingHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\FlappingHistory\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\FlappingHistory\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/FlappingHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\FlappingHistory\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\FlappingHistory\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/FlappingHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\History\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\History\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/History.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\History\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\History\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/History.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\History\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\History\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/History.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\History\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\History\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/History.php - - message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + message: '#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\.$#' + identifier: foreach.nonIterable count: 2 path: library/Icingadb/Model/Host.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Cannot access property \\$flatname on mixed\\.$#" + message: '#^Cannot access property \$flatname on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Cannot access property \\$flatvalue on mixed\\.$#" + message: '#^Cannot access property \$flatvalue on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Cannot access property \\$name on mixed\\.$#" + message: '#^Cannot access property \$name on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Cannot access property \\$value on mixed\\.$#" + message: '#^Cannot access property \$value on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Model/Host.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Host\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\:\\:createDefaults\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Host\:\:createDefaults\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\:\\:createDefaults\\(\\) has parameter \\$defaults with no value type specified in iterable type ipl\\\\Orm\\\\Defaults\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Host\:\:createDefaults\(\) has parameter \$defaults with no value type specified in iterable type ipl\\Orm\\Defaults\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Host\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Host\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Host\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\:\\:getSearchColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Host\:\:getSearchColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Host\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Model/Host.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Model\\Host\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Model/Host.php - - message: "#^Parameter \\#1 \\$query of method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\:\\:applyRestrictions\\(\\) expects ipl\\\\Orm\\\\Query, mixed given\\.$#" + message: '#^Parameter \#1 \$query of method Icinga\\Module\\Icingadb\\Model\\Host\:\:applyRestrictions\(\) expects ipl\\Orm\\Query, mixed given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Model/Host.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Model\\Host\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Model/Host.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Model/Host.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Model/Host.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Model/Host.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HostCustomvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\HostCustomvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/HostCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HostCustomvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\HostCustomvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/HostCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HostState\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\HostState\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/HostState.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HostState\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\HostState\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/HostState.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Hostgroup\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Hostgroup\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Hostgroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Hostgroup\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Hostgroup\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Hostgroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Hostgroup\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Hostgroup\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Hostgroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Hostgroup\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Hostgroup\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Hostgroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Hostgroup\\:\\:getSearchColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Hostgroup\:\:getSearchColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Hostgroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HostgroupCustomvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\HostgroupCustomvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/HostgroupCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HostgroupCustomvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\HostgroupCustomvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/HostgroupCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HostgroupMember\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\HostgroupMember\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/HostgroupMember.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HostgroupMember\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\HostgroupMember\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/HostgroupMember.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Hostgroupsummary\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Hostgroupsummary\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Hostgroupsummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Hostgroupsummary\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Hostgroupsummary\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Hostgroupsummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Hostgroupsummary\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Hostgroupsummary\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Hostgroupsummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Hostgroupsummary\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Hostgroupsummary\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Hostgroupsummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Hostgroupsummary\\:\\:getSearchColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Hostgroupsummary\:\:getSearchColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Hostgroupsummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Hostgroupsummary\\:\\:getUnions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Hostgroupsummary\:\:getUnions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Hostgroupsummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HoststateSummary\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\HoststateSummary\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/HoststateSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HoststateSummary\\:\\:getDefaultSort\\(\\) should return array\\|string but returns null\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\HoststateSummary\:\:getDefaultSort\(\) should return array\|string but returns null\.$#' + identifier: return.type count: 1 path: library/Icingadb/Model/HoststateSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\HoststateSummary\\:\\:getSummaryColumns\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\HoststateSummary\:\:getSummaryColumns\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/HoststateSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\IconImage\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\IconImage\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/IconImage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\IconImage\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\IconImage\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/IconImage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\IconImage\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\IconImage\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/IconImage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Instance\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Instance\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Instance.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Instance\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Instance\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Instance.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Instance\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Instance\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Instance.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotesUrl\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotesUrl\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotesUrl.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotesUrl\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotesUrl\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotesUrl.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotesUrl\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotesUrl\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/NotesUrl.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Notification\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Notification\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Notification.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Notification\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Notification\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Notification.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Notification\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Notification\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Notification.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationCustomvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationCustomvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationCustomvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationCustomvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationHistory\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationHistory\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationHistory\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationHistory\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationHistory\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationHistory\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/NotificationHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationHistory\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationHistory\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/NotificationHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationHistory\\:\\:getSearchColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationHistory\:\:getSearchColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/NotificationHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationUser\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationUser\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationUser.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationUser\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationUser\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationUser.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationUsergroup\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationUsergroup\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationUsergroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationUsergroup\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationUsergroup\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationUsergroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Notificationcommand\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Notificationcommand\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Notificationcommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Notificationcommand\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Notificationcommand\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Notificationcommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Notificationcommand\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Notificationcommand\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Notificationcommand.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationcommandArgument\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationcommandArgument\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationcommandArgument.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationcommandArgument\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationcommandArgument\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationcommandArgument.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationcommandArgument\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationcommandArgument\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/NotificationcommandArgument.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationcommandCustomvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationcommandCustomvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationcommandCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationcommandCustomvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationcommandCustomvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationcommandCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationcommandEnvvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationcommandEnvvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationcommandEnvvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationcommandEnvvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationcommandEnvvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/NotificationcommandEnvvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationcommandEnvvar\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\NotificationcommandEnvvar\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/NotificationcommandEnvvar.php - - message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + message: '#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\.$#' + identifier: foreach.nonIterable count: 2 path: library/Icingadb/Model/Service.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Cannot access property \\$flatname on mixed\\.$#" + message: '#^Cannot access property \$flatname on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Cannot access property \\$flatvalue on mixed\\.$#" + message: '#^Cannot access property \$flatvalue on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Cannot access property \\$name on mixed\\.$#" + message: '#^Cannot access property \$name on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Cannot access property \\$value on mixed\\.$#" + message: '#^Cannot access property \$value on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Model/Service.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Service\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service\\:\\:createDefaults\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Service\:\:createDefaults\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service\\:\\:createDefaults\\(\\) has parameter \\$defaults with no value type specified in iterable type ipl\\\\Orm\\\\Defaults\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Service\:\:createDefaults\(\) has parameter \$defaults with no value type specified in iterable type ipl\\Orm\\Defaults\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Service\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Service\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Service\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service\\:\\:getSearchColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Service\:\:getSearchColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Service\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Model/Service.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Model\\Service\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Model/Service.php - - message: "#^Parameter \\#1 \\$query of method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service\\:\\:applyRestrictions\\(\\) expects ipl\\\\Orm\\\\Query, mixed given\\.$#" + message: '#^Parameter \#1 \$query of method Icinga\\Module\\Icingadb\\Model\\Service\:\:applyRestrictions\(\) expects ipl\\Orm\\Query, mixed given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Model/Service.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Model\\Service\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Model/Service.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Model/Service.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Model/Service.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Model/Service.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServiceCustomvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServiceCustomvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/ServiceCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServiceCustomvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServiceCustomvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/ServiceCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServiceState\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServiceState\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/ServiceState.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServiceState\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServiceState\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/ServiceState.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Servicegroup\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Servicegroup\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Servicegroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Servicegroup\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Servicegroup\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Servicegroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Servicegroup\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Servicegroup\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Servicegroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Servicegroup\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Servicegroup\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Servicegroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Servicegroup\\:\\:getSearchColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Servicegroup\:\:getSearchColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Servicegroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicegroupCustomvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicegroupCustomvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/ServicegroupCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicegroupCustomvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicegroupCustomvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/ServicegroupCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicegroupMember\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicegroupMember\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/ServicegroupMember.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicegroupMember\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicegroupMember\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/ServicegroupMember.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicegroupSummary\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicegroupSummary\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/ServicegroupSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicegroupSummary\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicegroupSummary\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/ServicegroupSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicegroupSummary\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicegroupSummary\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/ServicegroupSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicegroupSummary\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicegroupSummary\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/ServicegroupSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicegroupSummary\\:\\:getSearchColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicegroupSummary\:\:getSearchColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/ServicegroupSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicegroupSummary\\:\\:getUnions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicegroupSummary\:\:getUnions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/ServicegroupSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicestateSummary\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicestateSummary\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/ServicestateSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicestateSummary\\:\\:getDefaultSort\\(\\) should return array\\|string but returns null\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicestateSummary\:\:getDefaultSort\(\) should return array\|string but returns null\.$#' + identifier: return.type count: 1 path: library/Icingadb/Model/ServicestateSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicestateSummary\\:\\:getSearchColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicestateSummary\:\:getSearchColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/ServicestateSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\ServicestateSummary\\:\\:getSummaryColumns\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\ServicestateSummary\:\:getSummaryColumns\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/ServicestateSummary.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\State\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\State\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/State.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\StateHistory\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\StateHistory\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/StateHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\StateHistory\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\StateHistory\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/StateHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\StateHistory\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\StateHistory\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/StateHistory.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Timeperiod\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Timeperiod\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Timeperiod.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Timeperiod\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Timeperiod\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Timeperiod.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Timeperiod\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Timeperiod\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Timeperiod.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\TimeperiodCustomvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\TimeperiodCustomvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/TimeperiodCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\TimeperiodCustomvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\TimeperiodCustomvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/TimeperiodCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\TimeperiodOverrideExclude\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\TimeperiodOverrideExclude\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/TimeperiodOverrideExclude.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\TimeperiodOverrideExclude\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\TimeperiodOverrideExclude\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/TimeperiodOverrideExclude.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\TimeperiodOverrideInclude\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\TimeperiodOverrideInclude\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/TimeperiodOverrideInclude.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\TimeperiodOverrideInclude\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\TimeperiodOverrideInclude\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/TimeperiodOverrideInclude.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\TimeperiodRange\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\TimeperiodRange\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/TimeperiodRange.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\TimeperiodRange\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\TimeperiodRange\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/TimeperiodRange.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\TimeperiodRange\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\TimeperiodRange\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/TimeperiodRange.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\User\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\User\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/User.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\User\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\User\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/User.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\User\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\User\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/User.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\User\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\User\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/User.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\User\\:\\:getSearchColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\User\:\:getSearchColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/User.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\UserCustomvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\UserCustomvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/UserCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\UserCustomvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\UserCustomvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/UserCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Usergroup\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Usergroup\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Usergroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Usergroup\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Usergroup\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Usergroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Usergroup\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Usergroup\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Usergroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Usergroup\\:\\:getDefaultSort\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Usergroup\:\:getDefaultSort\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Usergroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Usergroup\\:\\:getSearchColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Usergroup\:\:getSearchColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Usergroup.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\UsergroupCustomvar\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\UsergroupCustomvar\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/UsergroupCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\UsergroupCustomvar\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\UsergroupCustomvar\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/UsergroupCustomvar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\UsergroupMember\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\UsergroupMember\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/UsergroupMember.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\UsergroupMember\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\UsergroupMember\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/UsergroupMember.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Vars\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Vars\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Vars.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Zone\\:\\:createBehaviors\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Zone\:\:createBehaviors\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Zone.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Zone\\:\\:createRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Zone\:\:createRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Model/Zone.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Zone\\:\\:getColumnDefinitions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Model\\Zone\:\:getColumnDefinitions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Model/Zone.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" - count: 1 - path: library/Icingadb/ProvidedHook/ApplicationState.php - - - - message: "#^Cannot call method getTimestamp\\(\\) on mixed\\.$#" + message: '#^Cannot call method getTimestamp\(\) on mixed\.$#' + identifier: method.nonObject count: 3 path: library/Icingadb/ProvidedHook/ApplicationState.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\ApplicationState\\:\\:collectMessages\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\ApplicationState\:\:collectMessages\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/ProvidedHook/ApplicationState.php - - message: "#^Parameter \\#2 \\$timestamp of method Icinga\\\\Application\\\\Hook\\\\ApplicationStateHook\\:\\:addError\\(\\) expects int, mixed given\\.$#" + message: '#^Parameter \#2 \$timestamp of method Icinga\\Application\\Hook\\ApplicationStateHook\:\:addError\(\) expects int, mixed given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/ProvidedHook/ApplicationState.php - - message: "#^Parameter \\#1 \\$rule of static method ipl\\\\Web\\\\Filter\\\\QueryString\\:\\:render\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Rule, ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null given\\.$#" + message: '#^Parameter \#1 \$rule of static method ipl\\Web\\Filter\\QueryString\:\:render\(\) expects ipl\\Stdlib\\Filter\\Rule, ipl\\Stdlib\\Filter\\Rule\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/ProvidedHook/CreateHostsSlaReport.php - - message: "#^Cannot access property \\$name on mixed\\.$#" + message: '#^Cannot access property \$name on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/ProvidedHook/CreateServiceSlaReport.php - - message: "#^Parameter \\#1 \\$rule of static method ipl\\\\Web\\\\Filter\\\\QueryString\\:\\:render\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Rule, ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null given\\.$#" + message: '#^Parameter \#1 \$rule of static method ipl\\Web\\Filter\\QueryString\:\:render\(\) expects ipl\\Stdlib\\Filter\\Rule, ipl\\Stdlib\\Filter\\Rule\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/ProvidedHook/CreateServicesSlaReport.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Cannot access property \$name on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/ProvidedHook/IcingaHealth.php - - message: "#^Cannot access property \\$name on mixed\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\IcingaHealth\:\:getInstance\(\) should return Icinga\\Module\\Icingadb\\Model\\Instance\|null but returns ipl\\Orm\\Model\|null\.$#' + identifier: return.type count: 1 path: library/Icingadb/ProvidedHook/IcingaHealth.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\IcingaHealth\\:\\:getInstance\\(\\) should return Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Instance\\|null but returns ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\ProvidedHook\\IcingaHealth\:\:\$instance \(Icinga\\Module\\Icingadb\\Model\\Instance\) does not accept ipl\\Orm\\Model\|null\.$#' + identifier: assign.propertyType count: 1 path: library/Icingadb/ProvidedHook/IcingaHealth.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\IcingaHealth\\:\\:\\$instance \\(Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Instance\\) does not accept ipl\\\\Orm\\\\Model\\|null\\.$#" - count: 1 - path: library/Icingadb/ProvidedHook/IcingaHealth.php - - - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" - count: 1 - path: library/Icingadb/ProvidedHook/RedisHealth.php - - - - message: "#^Cannot call method getTimestamp\\(\\) on mixed\\.$#" + message: '#^Cannot call method getTimestamp\(\) on mixed\.$#' + identifier: method.nonObject count: 3 path: library/Icingadb/ProvidedHook/RedisHealth.php - - message: "#^Cannot access property \\$display_name on mixed\\.$#" + message: '#^Cannot access property \$display_name on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/HostSlaReport.php - - message: "#^Cannot access property \\$sla on mixed\\.$#" + message: '#^Cannot access property \$sla on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/ProvidedHook/Reporting/HostSlaReport.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\HostSlaReport\\:\\:fetchSla\\(\\) return type has no value type specified in iterable type iterable\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\HostSlaReport\:\:fetchSla\(\) return type has no value type specified in iterable type iterable\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/ProvidedHook/Reporting/HostSlaReport.php - - message: "#^Cannot access property \\$display_name on mixed\\.$#" + message: '#^Cannot access property \$display_name on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/ServiceSlaReport.php - - message: "#^Cannot access property \\$host on mixed\\.$#" + message: '#^Cannot access property \$host on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/ServiceSlaReport.php - - message: "#^Cannot access property \\$sla on mixed\\.$#" + message: '#^Cannot access property \$sla on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/ProvidedHook/Reporting/ServiceSlaReport.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\ServiceSlaReport\\:\\:fetchSla\\(\\) return type has no value type specified in iterable type iterable\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\ServiceSlaReport\:\:fetchSla\(\) return type has no value type specified in iterable type iterable\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/ProvidedHook/Reporting/ServiceSlaReport.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" - count: 1 - path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - - - message: "#^Cannot call method count\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + message: '#^Cannot call method count\(\) on Icinga\\Module\\Reporting\\ReportData\|null\.$#' + identifier: method.nonObject count: 2 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Cannot call method format\\(\\) on mixed\\.$#" + message: '#^Cannot call method format\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Cannot call method getAverages\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + message: '#^Cannot call method getAverages\(\) on Icinga\\Module\\Reporting\\ReportData\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Cannot call method getDimensions\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + message: '#^Cannot call method getDimensions\(\) on Icinga\\Module\\Reporting\\ReportData\|null\.$#' + identifier: method.nonObject count: 2 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Cannot call method getRows\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + message: '#^Cannot call method getRows\(\) on Icinga\\Module\\Reporting\\ReportData\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Cannot call method getValues\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + message: '#^Cannot call method getValues\(\) on Icinga\\Module\\Reporting\\ReportData\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\SlaReport\\:\\:fetchReportData\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\SlaReport\:\:fetchReportData\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\SlaReport\\:\\:fetchReportData\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\SlaReport\:\:fetchReportData\(\) has parameter \$config with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\SlaReport\\:\\:fetchSla\\(\\) return type has no value type specified in iterable type iterable\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\SlaReport\:\:fetchSla\(\) return type has no value type specified in iterable type iterable\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\SlaReport\\:\\:getData\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\SlaReport\:\:getData\(\) has parameter \$config with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\SlaReport\\:\\:getHtml\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\SlaReport\:\:getHtml\(\) has parameter \$config with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\SlaReport\\:\\:initConfigForm\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\SlaReport\:\:initConfigForm\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\SlaReport\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\SlaReport\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Offset 'filter' does not exist on array\\|null\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" - count: 1 - path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\SlaReport\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\SlaReport\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\SlaReport\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\SlaReport\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Parameter \\#1 \\$start of class Icinga\\\\Module\\\\Reporting\\\\Timerange constructor expects DateTime, mixed given\\.$#" + message: '#^Parameter \#1 \$start of class Icinga\\Module\\Reporting\\Timerange constructor expects DateTime, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" + message: '#^Parameter \#2 \$end of class Icinga\\Module\\Reporting\\Timerange constructor expects DateTime, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Parameter \\#2 \\$end of class Icinga\\\\Module\\\\Reporting\\\\Timerange constructor expects DateTime, mixed given\\.$#" + message: '#^Parameter \#2 \$interval of method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\SlaReport\:\:yieldTimerange\(\) expects DateInterval, DateInterval\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Parameter \\#2 \\$interval of method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\SlaReport\\:\\:yieldTimerange\\(\\) expects DateInterval, DateInterval\\|null given\\.$#" - count: 1 - path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - message: "#^Cannot call method count\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + message: '#^Cannot call method count\(\) on Icinga\\Module\\Reporting\\ReportData\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/TotalHostSlaReport.php - - message: "#^Cannot call method getAverages\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + message: '#^Cannot call method getAverages\(\) on Icinga\\Module\\Reporting\\ReportData\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/TotalHostSlaReport.php - - message: "#^Cannot call method getDimensions\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + message: '#^Cannot call method getDimensions\(\) on Icinga\\Module\\Reporting\\ReportData\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/TotalHostSlaReport.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\TotalHostSlaReport\\:\\:getHtml\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\TotalHostSlaReport\:\:getHtml\(\) has parameter \$config with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/ProvidedHook/Reporting/TotalHostSlaReport.php - - message: "#^Cannot call method count\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + message: '#^Cannot call method count\(\) on Icinga\\Module\\Reporting\\ReportData\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/TotalServiceSlaReport.php - - message: "#^Cannot call method getAverages\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + message: '#^Cannot call method getAverages\(\) on Icinga\\Module\\Reporting\\ReportData\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/TotalServiceSlaReport.php - - message: "#^Cannot call method getDimensions\\(\\) on Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null\\.$#" + message: '#^Cannot call method getDimensions\(\) on Icinga\\Module\\Reporting\\ReportData\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/ProvidedHook/Reporting/TotalServiceSlaReport.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\Reporting\\\\TotalServiceSlaReport\\:\\:getHtml\\(\\) has parameter \\$config with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\Reporting\\TotalServiceSlaReport\:\:getHtml\(\) has parameter \$config with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/ProvidedHook/Reporting/TotalServiceSlaReport.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/ProvidedHook/X509/Sni.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/ProvidedHook/X509/Sni.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/ProvidedHook/X509/Sni.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" - count: 1 - path: library/Icingadb/ProvidedHook/X509/Sni.php - - - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/ProvidedHook/X509/Sni.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\X509\\\\Sni\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\ProvidedHook\\X509\\Sni\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/ProvidedHook/X509/Sni.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/ProvidedHook/X509/Sni.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\X509\\\\Sni\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\ProvidedHook\\X509\\Sni\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/ProvidedHook/X509/Sni.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\ProvidedHook\\\\X509\\\\Sni\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\ProvidedHook\\X509\\Sni\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/ProvidedHook/X509/Sni.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/ProvidedHook/X509/Sni.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/ProvidedHook/X509/Sni.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/ProvidedHook/X509/Sni.php - - message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" - count: 2 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\.$#' + identifier: foreach.nonIterable count: 1 path: library/Icingadb/Redis/VolatileStateResults.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Redis/VolatileStateResults.php - - message: "#^Cannot access offset mixed on mixed\\.$#" - count: 2 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Cannot access property \\$host on mixed\\.$#" - count: 2 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Cannot access property \\$id on mixed\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Redis/VolatileStateResults.php - - message: "#^Cannot access property \\$state on mixed\\.$#" + message: '#^Cannot access offset mixed on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible + count: 1 + path: library/Icingadb/Redis/VolatileStateResults.php + + - + message: '#^Cannot access property \$host on mixed\.$#' + identifier: property.nonObject + count: 2 + path: library/Icingadb/Redis/VolatileStateResults.php + + - + message: '#^Cannot access property \$id on mixed\.$#' + identifier: property.nonObject + count: 1 + path: library/Icingadb/Redis/VolatileStateResults.php + + - + message: '#^Cannot access property \$state on mixed\.$#' + identifier: property.nonObject + count: 2 + path: library/Icingadb/Redis/VolatileStateResults.php + + - + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject + count: 1 + path: library/Icingadb/Redis/VolatileStateResults.php + + - + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject + count: 4 + path: library/Icingadb/Redis/VolatileStateResults.php + + - + message: '#^Cannot call method setProperties\(\) on mixed\.$#' + identifier: method.nonObject + count: 1 + path: library/Icingadb/Redis/VolatileStateResults.php + + - + message: '#^Method Icinga\\Module\\Icingadb\\Redis\\VolatileStateResults\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type + count: 1 + path: library/Icingadb/Redis/VolatileStateResults.php + + - + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Redis/VolatileStateResults.php + + - + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Redis\\VolatileStateResults\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type + count: 2 + path: library/Icingadb/Redis/VolatileStateResults.php + + - + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Redis\\VolatileStateResults\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Redis/VolatileStateResults.php - - message: "#^Cannot call method getColumns\\(\\) on mixed\\.$#" - count: 1 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" - count: 1 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Redis/VolatileStateResults.php - - message: "#^Cannot call method retrieveProperty\\(\\) on ipl\\\\Orm\\\\Behaviors\\|null\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Redis/VolatileStateResults.php - - message: "#^Cannot call method setProperties\\(\\) on mixed\\.$#" - count: 1 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Redis\\\\VolatileStateResults\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" - count: 1 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" - count: 1 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Redis\\\\VolatileStateResults\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" - count: 2 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Redis\\\\VolatileStateResults\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" - count: 3 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" - count: 4 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" - count: 2 - path: library/Icingadb/Redis/VolatileStateResults.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\ApiTransportPage\\:\\:addSkipValidationCheckbox\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\ApiTransportPage\:\:addSkipValidationCheckbox\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Setup/ApiTransportPage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\ApiTransportPage\\:\\:createElements\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\ApiTransportPage\:\:createElements\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Setup/ApiTransportPage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\ApiTransportPage\\:\\:createElements\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\ApiTransportPage\:\:createElements\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/ApiTransportPage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\ApiTransportPage\\:\\:isValid\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\ApiTransportPage\:\:isValid\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/ApiTransportPage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\ApiTransportPage\\:\\:isValidPartial\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\ApiTransportPage\:\:isValidPartial\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/ApiTransportPage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\ApiTransportStep\\:\\:__construct\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\ApiTransportStep\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/ApiTransportStep.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\ApiTransportStep\\:\\:getReport\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\ApiTransportStep\:\:getReport\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/ApiTransportStep.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\ApiTransportStep\\:\\:\\$data type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Setup\\ApiTransportStep\:\:\$data type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/ApiTransportStep.php - - message: "#^Cannot call method setMultiOptions\\(\\) on Zend_Form_Element\\|null\\.$#" + message: '#^Cannot call method setMultiOptions\(\) on Zend_Form_Element\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Setup/DbResourcePage.php - - message: "#^Cannot call method setValue\\(\\) on Zend_Form_Element\\|null\\.$#" + message: '#^Cannot call method setValue\(\) on Zend_Form_Element\|null\.$#' + identifier: method.nonObject count: 2 path: library/Icingadb/Setup/DbResourcePage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\DbResourcePage\\:\\:addSkipValidationCheckbox\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\DbResourcePage\:\:addSkipValidationCheckbox\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Setup/DbResourcePage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\DbResourcePage\\:\\:createElements\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\DbResourcePage\:\:createElements\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Setup/DbResourcePage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\DbResourcePage\\:\\:createElements\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\DbResourcePage\:\:createElements\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/DbResourcePage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\DbResourcePage\\:\\:isValid\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\DbResourcePage\:\:isValid\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/DbResourcePage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\DbResourcePage\\:\\:isValidPartial\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\DbResourcePage\:\:isValidPartial\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/DbResourcePage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\DbResourceStep\\:\\:__construct\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\DbResourceStep\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/DbResourceStep.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\DbResourceStep\\:\\:getReport\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\DbResourceStep\:\:getReport\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/DbResourceStep.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\DbResourceStep\\:\\:\\$data type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Setup\\DbResourceStep\:\:\$data type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/DbResourceStep.php - - message: "#^Call to an undefined method Icinga\\\\Web\\\\Form\\:\\:setSubjectTitle\\(\\)\\.$#" + message: '#^Call to an undefined method Icinga\\Web\\Form\:\:setSubjectTitle\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Setup/IcingaDbWizard.php - - message: "#^Call to an undefined method Icinga\\\\Web\\\\Form\\:\\:setSummary\\(\\)\\.$#" + message: '#^Call to an undefined method Icinga\\Web\\Form\:\:setSummary\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Setup/IcingaDbWizard.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\IcingaDbWizard\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\IcingaDbWizard\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Setup/IcingaDbWizard.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\IcingaDbWizard\\:\\:setupPage\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\IcingaDbWizard\:\:setupPage\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Setup/IcingaDbWizard.php - - message: "#^Call to an undefined method Zend_Form_Element\\:\\:isChecked\\(\\)\\.$#" + message: '#^Call to an undefined method Zend_Form_Element\:\:isChecked\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Setup/RedisPage.php - - message: "#^Cannot call method setIgnore\\(\\) on Zend_Form_Element\\|null\\.$#" + message: '#^Cannot call method setIgnore\(\) on Zend_Form_Element\|null\.$#' + identifier: method.nonObject count: 3 path: library/Icingadb/Setup/RedisPage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\RedisPage\\:\\:createElements\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\RedisPage\:\:createElements\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Setup/RedisPage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\RedisPage\\:\\:createElements\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\RedisPage\:\:createElements\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/RedisPage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\RedisPage\\:\\:isValid\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\RedisPage\:\:isValid\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/RedisPage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\RedisPage\\:\\:isValidPartial\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\RedisPage\:\:isValidPartial\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/RedisPage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\RedisStep\\:\\:__construct\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\RedisStep\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/RedisStep.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\RedisStep\\:\\:getReport\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\RedisStep\:\:getReport\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/RedisStep.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\RedisStep\\:\\:\\$data type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Setup\\RedisStep\:\:\$data type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/RedisStep.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\WelcomePage\\:\\:createElements\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\WelcomePage\:\:createElements\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Setup/WelcomePage.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Setup\\\\WelcomePage\\:\\:createElements\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Setup\\WelcomePage\:\:createElements\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Setup/WelcomePage.php - - message: "#^Class Icinga\\\\Module\\\\Icingadb\\\\Util\\\\FeatureStatus extends generic class ArrayObject but does not specify its types\\: TKey, TValue$#" + message: '#^Class Icinga\\Module\\Icingadb\\Util\\FeatureStatus extends generic class ArrayObject but does not specify its types\: TKey, TValue$#' + identifier: missingType.generics count: 1 path: library/Icingadb/Util/FeatureStatus.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\FeatureStatus\\:\\:__construct\\(\\) has parameter \\$summary with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\FeatureStatus\:\:__construct\(\) has parameter \$summary with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/FeatureStatus.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\FeatureStatus\\:\\:getFeatureStatus\\(\\) has parameter \\$summary with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\FeatureStatus\:\:getFeatureStatus\(\) has parameter \$summary with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/FeatureStatus.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfData\\:\\:calculatePieChartData\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfData\:\:calculatePieChartData\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Util/PerfData.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfData\\:\\:format\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfData\:\:format\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Util/PerfData.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfData\\:\\:format\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfData\:\:format\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/PerfData.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfData\\:\\:parse\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfData\:\:parse\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Util/PerfData.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfData\\:\\:toArray\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfData\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Util/PerfData.php - - message: "#^Parameter \\#1 \\$value of method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\ThresholdRange\\:\\:contains\\(\\) expects float, float\\|null given\\.$#" + message: '#^Parameter \#1 \$value of method Icinga\\Module\\Icingadb\\Util\\ThresholdRange\:\:contains\(\) expects float, float\|null given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Util/PerfData.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:ampereSeconds\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:ampereSeconds\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:amperes\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:amperes\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:bits\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:bits\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:bytes\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:bytes\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:formatForUnits\\(\\) has parameter \\$units with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:formatForUnits\(\) has parameter \$units with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:grams\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:grams\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:liters\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:liters\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:ohms\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:ohms\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:seconds\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:seconds\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:volts\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:volts\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:wattHours\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:wattHours\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:watts\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:watts\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$ampSecondPrefix has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$ampSecondPrefix has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$amperePrefix has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$amperePrefix has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$bitPrefix has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$bitPrefix has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$bytePrefix has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$bytePrefix has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$generalBase has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$generalBase has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$gramPrefix has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$gramPrefix has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$instance has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$instance has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$literPrefix has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$literPrefix has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$ohmPrefix has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$ohmPrefix has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$secondPrefix has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$secondPrefix has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$voltPrefix has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$voltPrefix has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$wattHourPrefix has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$wattHourPrefix has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataFormat\\:\\:\\$wattPrefix has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataFormat\:\:\$wattPrefix has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Util/PerfDataFormat.php - - message: "#^Class Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataSet implements generic interface IteratorAggregate but does not specify its types\\: TKey, TValue$#" + message: '#^Class Icinga\\Module\\Icingadb\\Util\\PerfDataSet implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#' + identifier: missingType.generics count: 1 path: library/Icingadb/Util/PerfDataSet.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataSet\\:\\:asArray\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataSet\:\:asArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Util/PerfDataSet.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataSet\\:\\:getIterator\\(\\) return type with generic class ArrayIterator does not specify its types\\: TKey, TValue$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataSet\:\:getIterator\(\) return type with generic class ArrayIterator does not specify its types\: TKey, TValue$#' + identifier: missingType.generics count: 1 path: library/Icingadb/Util/PerfDataSet.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataSet\\:\\:parse\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataSet\:\:parse\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Util/PerfDataSet.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataSet\\:\\:skipSpaces\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PerfDataSet\:\:skipSpaces\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Util/PerfDataSet.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PerfDataSet\\:\\:\\$perfdata type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PerfDataSet\:\:\$perfdata type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Util/PerfDataSet.php - - message: "#^Cannot access property \\$long_output on mixed\\.$#" + message: '#^Cannot access property \$long_output on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Util/PluginOutput.php - - message: "#^Cannot access property \\$output on mixed\\.$#" + message: '#^Cannot access property \$output on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Util/PluginOutput.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PluginOutput\\:\\:render\\(\\) should return string but returns string\\|null\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Util\\PluginOutput\:\:render\(\) should return string but returns string\|null\.$#' + identifier: return.type count: 1 path: library/Icingadb/Util/PluginOutput.php - - message: "#^Parameter \\#1 \\$html of static method Icinga\\\\Web\\\\Helper\\\\HtmlPurifier\\:\\:process\\(\\) expects string, string\\|null given\\.$#" + message: '#^Parameter \#1 \$html of static method Icinga\\Web\\Helper\\HtmlPurifier\:\:process\(\) expects string, string\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Util/PluginOutput.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PluginOutput\\:\\:\\$renderedOutput \\(string\\) does not accept string\\|null\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Util\\PluginOutput\:\:\$renderedOutput \(string\) does not accept string\|null\.$#' + identifier: assign.propertyType count: 1 path: library/Icingadb/Util/PluginOutput.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\GridViewModeSwitcher\\:\\:getTitle\\(\\) should return string but returns string\\|null\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\GridViewModeSwitcher\:\:getTitle\(\) should return string but returns string\|null\.$#' + identifier: return.type count: 1 path: library/Icingadb/Web/Control/GridViewModeSwitcher.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\GridViewModeSwitcher\\:\\:\\$viewModes type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Web\\Control\\GridViewModeSwitcher\:\:\$viewModes type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Control/GridViewModeSwitcher.php - - message: "#^Call to an undefined method ipl\\\\Html\\\\Contract\\\\FormElement\\:\\:isChecked\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Html\\Contract\\FormElement\:\:isChecked\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Web/Control/ProblemToggle.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\ProblemToggle\\:\\:__construct\\(\\) has parameter \\$filter with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\ProblemToggle\:\:__construct\(\) has parameter \$filter with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Web/Control/ProblemToggle.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\ProblemToggle\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\ProblemToggle\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Control/ProblemToggle.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\ProblemToggle\\:\\:protectId\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\ProblemToggle\:\:protectId\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Control/ProblemToggle.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\ProblemToggle\\:\\:protectId\\(\\) has parameter \\$id with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\ProblemToggle\:\:protectId\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Web/Control/ProblemToggle.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\ProblemToggle\\:\\:\\$filter has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Web\\Control\\ProblemToggle\:\:\$filter has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Web/Control/ProblemToggle.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\ProblemToggle\\:\\:\\$protector has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Web\\Control\\ProblemToggle\:\:\$protector has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Web/Control/ProblemToggle.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method object\:\:getTableName\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Call to an undefined method object\\:\\:getTableName\\(\\)\\.$#" + message: '#^Cannot access property \$flatname on array\\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Cannot access property \\$flatname on array\\\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" - count: 1 - path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Cannot use array destructuring on array\\\\|false\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\SearchBar\\ObjectSuggestions\:\:collectRelations\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\SearchBar\\\\ObjectSuggestions\\:\\:collectRelations\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\SearchBar\\ObjectSuggestions\:\:collectRelations\(\) has parameter \$models with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\SearchBar\\\\ObjectSuggestions\\:\\:collectRelations\\(\\) has parameter \\$models with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\SearchBar\\ObjectSuggestions\:\:collectRelations\(\) has parameter \$path with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\SearchBar\\\\ObjectSuggestions\\:\\:collectRelations\\(\\) has parameter \\$path with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\SearchBar\\ObjectSuggestions\:\:fetchColumnSuggestions\(\) return type has no value type specified in iterable type Traversable\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\SearchBar\\\\ObjectSuggestions\\:\\:fetchColumnSuggestions\\(\\) return type has no value type specified in iterable type Traversable\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\SearchBar\\ObjectSuggestions\:\:fetchValueSuggestions\(\) return type has no value type specified in iterable type Traversable\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\SearchBar\\\\ObjectSuggestions\\:\\:fetchValueSuggestions\\(\\) return type has no value type specified in iterable type Traversable\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\SearchBar\\ObjectSuggestions\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\SearchBar\\\\ObjectSuggestions\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" - count: 1 - path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\SearchBar\\\\ObjectSuggestions\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Web\\Control\\SearchBar\\ObjectSuggestions\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Parameter \\#1 \\$filter of method ipl\\\\Orm\\\\Query\\:\\:filter\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Rule, ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null given\\.$#" + message: '#^Parameter \#1 \$filter of method ipl\\Orm\\Query\:\:filter\(\) expects ipl\\Stdlib\\Filter\\Rule, ipl\\Stdlib\\Filter\\Rule\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Parameter \\#1 \\$path of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyPath\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$path of method ipl\\Orm\\Resolver\:\:qualifyPath\(\) expects string, mixed given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\SearchBar\\\\ObjectSuggestions\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Web\\Control\\SearchBar\\ObjectSuggestions\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" + message: '#^Parameter \#2 \$subject of method ipl\\Orm\\Resolver\:\:resolveRelation\(\) expects ipl\\Orm\\Model\|null, object given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Parameter \\#2 \\$subject of method ipl\\\\Orm\\\\Resolver\\:\\:resolveRelation\\(\\) expects ipl\\\\Orm\\\\Model\\|null, object given\\.$#" - count: 1 - path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Part \\$name \\(mixed\\) of encapsed string cannot be cast to string\\.$#" + message: '#^Part \$name \(mixed\) of encapsed string cannot be cast to string\.$#' + identifier: encapsedStringPart.nonString count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\SearchBar\\\\ObjectSuggestions\\:\\:\\$customVarSources type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Web\\Control\\SearchBar\\ObjectSuggestions\:\:\$customVarSources type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\SearchBar\\\\ObjectSuggestions\\:\\:\\$model \\(ipl\\\\Orm\\\\Model\\) does not accept object\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Web\\Control\\SearchBar\\ObjectSuggestions\:\:\$model \(ipl\\Orm\\Model\) does not accept object\.$#' + identifier: assign.propertyType count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\ViewModeSwitcher\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\ViewModeSwitcher\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Control/ViewModeSwitcher.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\ViewModeSwitcher\\:\\:getTitle\\(\\) should return string but returns string\\|null\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\ViewModeSwitcher\:\:getTitle\(\) should return string but returns string\|null\.$#' + identifier: return.type count: 1 path: library/Icingadb/Web/Control/ViewModeSwitcher.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\ViewModeSwitcher\\:\\:protectId\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\ViewModeSwitcher\:\:protectId\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Control/ViewModeSwitcher.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\ViewModeSwitcher\\:\\:protectId\\(\\) has parameter \\$id with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Control\\ViewModeSwitcher\:\:protectId\(\) has parameter \$id with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Web/Control/ViewModeSwitcher.php - - message: "#^Parameter \\#1 \\$key of function array_key_exists expects int\\|string, mixed given\\.$#" + message: '#^Parameter \#1 \$key of function array_key_exists expects int\|string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Control/ViewModeSwitcher.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\ViewModeSwitcher\\:\\:\\$viewModes type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Web\\Control\\ViewModeSwitcher\:\:\$viewModes type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Control/ViewModeSwitcher.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" - count: 1 - path: library/Icingadb/Web/Controller.php - - - - message: "#^Cannot access offset string on mixed\\.$#" + message: '#^Cannot access offset string on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 2 path: library/Icingadb/Web/Controller.php - - message: "#^Cannot call method add\\(\\) on ipl\\\\Html\\\\Contract\\\\Wrappable\\|null\\.$#" + message: '#^Cannot call method add\(\) on ipl\\Html\\Contract\\Wrappable\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Cannot call method getAdditional\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getAdditional\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Cannot call method getPreferences\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getPreferences\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Cannot call method getUsername\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getUsername\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 2 path: library/Icingadb/Web/Controller.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Web/Controller.php - - message: "#^Cannot call method setAdditional\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method setAdditional\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 2 path: library/Icingadb/Web/Controller.php - - message: "#^Cannot call method setErrorHandlerModule\\(\\) on array\\|Zend_Controller_Plugin_Abstract\\|false\\.$#" + message: '#^Cannot call method setErrorHandlerModule\(\) on array\|Zend_Controller_Plugin_Abstract\|false\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:assertRouteAccess\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Controller\:\:assertRouteAccess\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:createColumnControl\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Controller\:\:createColumnControl\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:createSearchBar\\(\\) has parameter \\$params with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Controller\:\:createSearchBar\(\) has parameter \$params with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:export\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Controller\:\:export\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:fetchFilterColumns\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Controller\:\:fetchFilterColumns\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:handleSearchRequest\\(\\) has parameter \\$additionalColumns with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Controller\:\:handleSearchRequest\(\) has parameter \$additionalColumns with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:moduleInit\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Controller\:\:moduleInit\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Controller\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:prepareSearchFilter\\(\\) has parameter \\$additionalColumns with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Controller\:\:prepareSearchFilter\(\) has parameter \$additionalColumns with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:sendAsPdf\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Controller\:\:sendAsPdf\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^PHPDoc tag @param references unknown parameter\\: \\$preserveParams$#" + message: '#^PHPDoc tag @param references unknown parameter\: \$preserveParams$#' + identifier: parameter.notFound count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^PHPDoc tag @param references unknown parameter\\: \\$redirectUrl$#" + message: '#^PHPDoc tag @param references unknown parameter\: \$redirectUrl$#' + identifier: parameter.notFound count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Parameter \\#1 \\$defaultViewMode of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Control\\\\ViewModeSwitcher\\:\\:setDefaultViewMode\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$defaultViewMode of method Icinga\\Module\\Icingadb\\Web\\Control\\ViewModeSwitcher\:\:setDefaultViewMode\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Web\\Controller\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Web/Controller.php - - message: "#^Parameter \\#1 \\$json of static method Icinga\\\\Util\\\\Json\\:\\:decode\\(\\) expects string, array\\|null given\\.$#" + message: '#^Parameter \#1 \$json of static method Icinga\\Util\\Json\:\:decode\(\) expects string, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Web\\Controller\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Web/Controller.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Web/Controller.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Web/Controller.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Web/Controller.php - - message: "#^Parameter \\#2 \\$user of static method Icinga\\\\User\\\\Preferences\\\\PreferencesStore\\:\\:create\\(\\) expects Icinga\\\\User, Icinga\\\\User\\|null given\\.$#" + message: '#^Parameter \#2 \$user of static method Icinga\\User\\Preferences\\PreferencesStore\:\:create\(\) expects Icinga\\User, Icinga\\User\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Parameter \\#2 \\$value of method Icinga\\\\Web\\\\Url\\:\\:setParam\\(\\) expects array\\|bool\\|string, mixed given\\.$#" + message: '#^Parameter \#2 \$value of method Icinga\\Web\\Url\:\:setParam\(\) expects array\|bool\|string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Parameter \\#3 \\$default of method Icinga\\\\User\\\\Preferences\\:\\:getValue\\(\\) expects null, string given\\.$#" + message: '#^Parameter \#3 \$default of method Icinga\\User\\Preferences\:\:getValue\(\) expects null, string given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Parameter \\#3 \\$filter of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:prepareSearchFilter\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Any, ipl\\\\Stdlib\\\\Filter\\\\Chain given\\.$#" + message: '#^Parameter \#3 \$filter of method Icinga\\Module\\Icingadb\\Web\\Controller\:\:prepareSearchFilter\(\) expects ipl\\Stdlib\\Filter\\Any, ipl\\Stdlib\\Filter\\Chain given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Controller\\:\\:\\$format \\(string\\|null\\) does not accept mixed\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Web\\Controller\:\:\$format \(string\|null\) does not accept mixed\.$#' + identifier: assign.propertyType count: 1 path: library/Icingadb/Web/Controller.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Web/Navigation/Action.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Web/Navigation/Action.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Web/Navigation/Action.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Web/Navigation/Action.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Action\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Navigation\\Action\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Web/Navigation/Action.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Navigation/Action.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Action\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Web\\Navigation\\Action\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Web/Navigation/Action.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Action\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Web\\Navigation\\Action\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Web/Navigation/Action.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Web/Navigation/Action.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Web/Navigation/Action.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Web/Navigation/Action.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Cannot access property \\$hosts_down_unhandled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$hosts_down_unhandled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Cannot cast mixed to int\\.$#" + message: '#^Cannot cast mixed to int\.$#' + identifier: cast.int count: 1 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\HostProblemsBadge\\:\\:fetchProblemsCount\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\HostProblemsBadge\:\:fetchProblemsCount\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\HostProblemsBadge\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\HostProblemsBadge\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\HostProblemsBadge\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\HostProblemsBadge\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\HostProblemsBadge\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\HostProblemsBadge\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Web/Navigation/Renderer/HostProblemsBadge.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\ProblemsBadge\:\:createBadge\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Navigation/Renderer/ProblemsBadge.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\ProblemsBadge\\:\\:createBadge\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\ProblemsBadge\:\:disableLink\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Navigation/Renderer/ProblemsBadge.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\ProblemsBadge\\:\\:disableLink\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\ProblemsBadge\:\:fetchProblemsCount\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Navigation/Renderer/ProblemsBadge.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\ProblemsBadge\\:\\:fetchProblemsCount\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\ProblemsBadge\:\:getProblemsCount\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Navigation/Renderer/ProblemsBadge.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\ProblemsBadge\\:\\:getProblemsCount\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\ProblemsBadge\:\:getUrl\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Navigation/Renderer/ProblemsBadge.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\ProblemsBadge\\:\\:getUrl\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\ProblemsBadge\:\:round\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Navigation/Renderer/ProblemsBadge.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\ProblemsBadge\\:\\:round\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\ProblemsBadge\:\:round\(\) has parameter \$count with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Web/Navigation/Renderer/ProblemsBadge.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\ProblemsBadge\\:\\:round\\(\\) has parameter \\$count with no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\ProblemsBadge\:\:\$linkDisabled has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Web/Navigation/Renderer/ProblemsBadge.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\ProblemsBadge\\:\\:\\$linkDisabled has no type specified\\.$#" - count: 1 - path: library/Icingadb/Web/Navigation/Renderer/ProblemsBadge.php - - - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Cannot access property \\$services_critical_unhandled on ipl\\\\Orm\\\\Model\\|null\\.$#" + message: '#^Cannot access property \$services_critical_unhandled on ipl\\Orm\\Model\|null\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Cannot cast mixed to int\\.$#" + message: '#^Cannot cast mixed to int\.$#' + identifier: cast.int count: 1 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\ServiceProblemsBadge\\:\\:fetchProblemsCount\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\ServiceProblemsBadge\:\:fetchProblemsCount\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\ServiceProblemsBadge\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\ServiceProblemsBadge\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\ServiceProblemsBadge\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\ServiceProblemsBadge\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\ServiceProblemsBadge\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\ServiceProblemsBadge\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Web/Navigation/Renderer/ServiceProblemsBadge.php - - message: "#^Cannot call method getRenderer\\(\\) on mixed\\.$#" + message: '#^Cannot call method getRenderer\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Web/Navigation/Renderer/TotalProblemsBadge.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\TotalProblemsBadge\\:\\:\\$severityStateMap type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\TotalProblemsBadge\:\:\$severityStateMap type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Navigation/Renderer/TotalProblemsBadge.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Web\\\\Navigation\\\\Renderer\\\\TotalProblemsBadge\\:\\:\\$stateSeverityMap type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Web\\Navigation\\Renderer\\TotalProblemsBadge\:\:\$stateSeverityMap type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Web/Navigation/Renderer/TotalProblemsBadge.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\CheckAttempt\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\CheckAttempt\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/CheckAttempt.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CheckStatistics\\:\\:__construct\\(\\) has parameter \\$object with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CheckStatistics\:\:__construct\(\) has parameter \$object with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/Detail/CheckStatistics.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CheckStatistics\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CheckStatistics\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/CheckStatistics.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CheckStatistics\\:\\:assembleBody\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CheckStatistics\:\:assembleBody\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/CheckStatistics.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CheckStatistics\\:\\:assembleHeader\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CheckStatistics\:\:assembleHeader\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/CheckStatistics.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CheckStatistics\\:\\:\\$object has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\CheckStatistics\:\:\$object has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/CheckStatistics.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CommentDetail\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CommentDetail\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CommentDetail\\:\\:createComment\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CommentDetail\:\:createComment\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CommentDetail\\:\\:createDetails\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CommentDetail\:\:createDetails\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CommentDetail\\:\\:createRemoveCommentForm\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CommentDetail\:\:createRemoveCommentForm\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CommentDetail\\:\\:createTicketLinks\\(\\) has parameter \\$text with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CommentDetail\:\:createTicketLinks\(\) has parameter \$text with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CommentDetail\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CommentDetail\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CommentDetail\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Widget\\Detail\\CommentDetail\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CommentDetail\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Widget\\Detail\\CommentDetail\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/CommentDetail.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CommentDetail\\:\\:\\$comment has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\CommentDetail\:\:\$comment has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/CommentDetail.php - - message: "#^Call to an undefined method ipl\\\\Html\\\\Contract\\\\Wrappable\\:\\:addHtml\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Html\\Contract\\Wrappable\:\:addHtml\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/CustomVarTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CustomVarTable\\:\\:__construct\\(\\) has parameter \\$data with no value type specified in iterable type iterable\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CustomVarTable\:\:__construct\(\) has parameter \$data with no value type specified in iterable type iterable\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/CustomVarTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CustomVarTable\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CustomVarTable\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/CustomVarTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CustomVarTable\\:\\:renderArray\\(\\) has parameter \\$array with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CustomVarTable\:\:renderArray\(\) has parameter \$array with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/CustomVarTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CustomVarTable\\:\\:renderGroup\\(\\) has parameter \\$entries with no value type specified in iterable type iterable\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CustomVarTable\:\:renderGroup\(\) has parameter \$entries with no value type specified in iterable type iterable\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/CustomVarTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CustomVarTable\\:\\:renderObject\\(\\) has parameter \\$object with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\CustomVarTable\:\:renderObject\(\) has parameter \$object with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/CustomVarTable.php - - message: "#^Parameter \\#1 \\$name of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CustomVarTable\\:\\:renderArray\\(\\) expects string, mixed given\\.$#" + message: '#^Parameter \#1 \$name of method Icinga\\Module\\Icingadb\\Widget\\Detail\\CustomVarTable\:\:renderArray\(\) expects string, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/CustomVarTable.php - - message: "#^Parameter \\#2 \\$value of method ipl\\\\Html\\\\Attributes\\:\\:add\\(\\) expects array\\|bool\\|string\\|null, int given\\.$#" + message: '#^Parameter \#2 \$value of method ipl\\Html\\Attributes\:\:add\(\) expects array\|bool\|string\|null, int given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/CustomVarTable.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CustomVarTable\\:\\:\\$data \\(array\\) does not accept iterable\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\CustomVarTable\:\:\$data \(array\) does not accept iterable\.$#' + identifier: assign.propertyType count: 1 path: library/Icingadb/Widget/Detail/CustomVarTable.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CustomVarTable\\:\\:\\$data type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\CustomVarTable\:\:\$data type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/CustomVarTable.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\CustomVarTable\\:\\:\\$groups type has no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\CustomVarTable\:\:\$groups type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/CustomVarTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\DowntimeCard\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\DowntimeCard\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/DowntimeCard.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\DowntimeCard\\:\\:calcRelativeLeft\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\DowntimeCard\:\:calcRelativeLeft\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/DowntimeCard.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\DowntimeCard\\:\\:calcRelativeLeft\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\DowntimeCard\:\:calcRelativeLeft\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/Detail/DowntimeCard.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\DowntimeCard\\:\\:\\$downtime has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\DowntimeCard\:\:\$downtime has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/DowntimeCard.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\DowntimeCard\\:\\:\\$duration has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\DowntimeCard\:\:\$duration has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/DowntimeCard.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\DowntimeCard\\:\\:\\$end has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\DowntimeCard\:\:\$end has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/DowntimeCard.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\DowntimeCard\\:\\:\\$start has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\DowntimeCard\:\:\$start has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/DowntimeCard.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - - - message: "#^Cannot access property \\$host on mixed\\.$#" + message: '#^Cannot access property \$host on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Cannot access property \\$is_flexible on mixed\\.$#" + message: '#^Cannot access property \$is_flexible on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Cannot access property \\$name on mixed\\.$#" + message: '#^Cannot access property \$name on mixed\.$#' + identifier: property.nonObject count: 3 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Cannot access property \\$object_type on mixed\\.$#" + message: '#^Cannot access property \$object_type on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Cannot access property \\$service on mixed\\.$#" + message: '#^Cannot access property \$service on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Cannot access property \\$state on mixed\\.$#" + message: '#^Cannot access property \$state on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Cannot call method getStateText\\(\\) on mixed\\.$#" + message: '#^Cannot call method getStateText\(\) on mixed\.$#' + identifier: method.nonObject count: 3 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\DowntimeDetail\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\DowntimeDetail\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\DowntimeDetail\\:\\:createCancelDowntimeForm\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\DowntimeDetail\:\:createCancelDowntimeForm\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\DowntimeDetail\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\DowntimeDetail\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\DowntimeDetail\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Widget\\Detail\\DowntimeDetail\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Parameter \\#1 \\$downtime of static method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\Links\\:\\:downtime\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Downtime, mixed given\\.$#" + message: '#^Parameter \#1 \$downtime of static method Icinga\\Module\\Icingadb\\Common\\Links\:\:downtime\(\) expects Icinga\\Module\\Icingadb\\Model\\Downtime, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\DowntimeDetail\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Widget\\Detail\\DowntimeDetail\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/DowntimeDetail.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Html\\BaseHtmlElement\|ipl\\Html\\FormattedString\:\:addAttributes\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Call to an undefined method ipl\\\\Html\\\\BaseHtmlElement\\|ipl\\\\Html\\\\FormattedString\\:\\:addAttributes\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/EventDetail.php - - - - message: "#^Cannot access property \\$checkcommand_name on mixed\\.$#" + message: '#^Cannot access property \$checkcommand_name on mixed\.$#' + identifier: property.nonObject count: 6 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Cannot access property \\$display_name on mixed\\.$#" + message: '#^Cannot access property \$display_name on mixed\.$#' + identifier: property.nonObject count: 18 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Cannot access property \\$downtime_id on mixed\\.$#" + message: '#^Cannot access property \$downtime_id on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Cannot access property \\$host on mixed\\.$#" + message: '#^Cannot access property \$host on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Cannot access property \\$is_flexible on mixed\\.$#" + message: '#^Cannot access property \$is_flexible on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Cannot access property \\$object_type on mixed\\.$#" + message: '#^Cannot access property \$object_type on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Cannot access property \\$service on mixed\\.$#" + message: '#^Cannot access property \$service on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Cannot call method getStateText\\(\\) on mixed\\.$#" + message: '#^Cannot call method getStateText\(\) on mixed\.$#' + identifier: method.nonObject count: 3 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Cannot call method limit\\(\\) on mixed\\.$#" + message: '#^Cannot call method limit\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Cannot cast mixed to int\\.$#" + message: '#^Cannot cast mixed to int\.$#' + identifier: cast.int count: 2 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assembleAcknowledgeEvent\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assembleAcknowledgeEvent\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assembleCommentEvent\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assembleCommentEvent\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assembleDowntimeEvent\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assembleDowntimeEvent\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assembleFlappingEvent\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assembleFlappingEvent\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assembleNotificationEvent\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assembleNotificationEvent\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assembleStateChangeEvent\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assembleStateChangeEvent\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:createExtensions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:createExtensions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:createTicketLinks\\(\\) has parameter \\$text with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:createTicketLinks\(\) has parameter \$text with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Parameter \\#1 \\$acknowledgement of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assembleAcknowledgeEvent\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\AcknowledgementHistory, mixed given\\.$#" + message: '#^Parameter \#1 \$acknowledgement of method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assembleAcknowledgeEvent\(\) expects Icinga\\Module\\Icingadb\\Model\\AcknowledgementHistory, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Parameter \\#1 \\$comment of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assembleCommentEvent\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\CommentHistory, mixed given\\.$#" + message: '#^Parameter \#1 \$comment of method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assembleCommentEvent\(\) expects Icinga\\Module\\Icingadb\\Model\\CommentHistory, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Parameter \\#1 \\$downtime of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assembleDowntimeEvent\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\DowntimeHistory, mixed given\\.$#" + message: '#^Parameter \#1 \$downtime of method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assembleDowntimeEvent\(\) expects Icinga\\Module\\Icingadb\\Model\\DowntimeHistory, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Parameter \\#1 \\$flapping of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assembleFlappingEvent\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\FlappingHistory, mixed given\\.$#" + message: '#^Parameter \#1 \$flapping of method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assembleFlappingEvent\(\) expects Icinga\\Module\\Icingadb\\Model\\FlappingHistory, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Parameter \\#1 \\$notification of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assembleNotificationEvent\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\NotificationHistory, mixed given\\.$#" + message: '#^Parameter \#1 \$notification of method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assembleNotificationEvent\(\) expects Icinga\\Module\\Icingadb\\Model\\NotificationHistory, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Parameter \\#1 \\$stateChange of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\EventDetail\\:\\:assembleStateChangeEvent\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\StateHistory, mixed given\\.$#" + message: '#^Parameter \#1 \$stateChange of method Icinga\\Module\\Icingadb\\Widget\\Detail\\EventDetail\:\:assembleStateChangeEvent\(\) expects Icinga\\Module\\Icingadb\\Model\\StateHistory, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/EventDetail.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/EventDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\HostDetail\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\HostDetail\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/HostDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\HostDetail\\:\\:createServiceStatistics\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\HostDetail\:\:createServiceStatistics\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/HostDetail.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\HostDetail\\:\\:\\$serviceSummary has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\HostDetail\:\:\$serviceSummary has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/HostDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\HostInspectionDetail\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\HostInspectionDetail\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/HostInspectionDetail.php - - message: "#^Cannot access property \\$last_state_change on mixed\\.$#" + message: '#^Cannot access property \$last_state_change on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/Detail/HostMetaInfo.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\HostMetaInfo\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\HostMetaInfo\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/HostMetaInfo.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\HostStatistics\\:\\:__construct\\(\\) has parameter \\$summary with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\HostStatistics\:\:__construct\(\) has parameter \$summary with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/Detail/HostStatistics.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\HostStatistics\\:\\:\\$summary has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\HostStatistics\:\:\$summary has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/HostStatistics.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\MultiselectQuickActions\\:\\:__construct\\(\\) has parameter \\$summary with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\MultiselectQuickActions\:\:__construct\(\) has parameter \$summary with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\MultiselectQuickActions\\:\\:__construct\\(\\) has parameter \\$type with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\MultiselectQuickActions\:\:__construct\(\) has parameter \$type with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\MultiselectQuickActions\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\MultiselectQuickActions\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\MultiselectQuickActions\\:\\:assembleAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\MultiselectQuickActions\:\:assembleAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\MultiselectQuickActions\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\MultiselectQuickActions\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\MultiselectQuickActions\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Widget\\Detail\\MultiselectQuickActions\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\MultiselectQuickActions\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Widget\\Detail\\MultiselectQuickActions\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Parameter \\#3 \\$filter of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\MultiselectQuickActions\\:\\:isGrantedOnType\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Rule, ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null given\\.$#" + message: '#^Parameter \#3 \$filter of method Icinga\\Module\\Icingadb\\Widget\\Detail\\MultiselectQuickActions\:\:isGrantedOnType\(\) expects ipl\\Stdlib\\Filter\\Rule, ipl\\Stdlib\\Filter\\Rule\|null given\.$#' + identifier: argument.type count: 10 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\MultiselectQuickActions\\:\\:\\$summary has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\MultiselectQuickActions\:\:\$summary has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\MultiselectQuickActions\\:\\:\\$type has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\MultiselectQuickActions\:\:\$type has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php - - message: "#^Access to an undefined property object\\:\\:\\$checkcommand_name\\.$#" + message: '#^Access to an undefined property object\:\:\$checkcommand_name\.$#' + identifier: property.notFound count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Access to an undefined property object\\:\\:\\$normalized_performance_data\\.$#" + message: '#^Access to an undefined property object\:\:\$normalized_performance_data\.$#' + identifier: property.notFound count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/ObjectDetail.php - - - - message: "#^Cannot access property \\$name on mixed\\.$#" + message: '#^Cannot access property \$name on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Cannot cast mixed to int\\.$#" + message: '#^Cannot cast mixed to int\.$#' + identifier: cast.int count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:__construct\\(\\) has parameter \\$object with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:__construct\(\) has parameter \$object with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:compatObject\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:compatObject\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createActions\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createActions\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createCheckStatistics\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createCheckStatistics\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createComments\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createComments\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createCustomVars\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createCustomVars\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createDowntimes\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createDowntimes\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createExtensions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createExtensions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createFeatureToggles\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createFeatureToggles\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createGroups\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createGroups\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createNotes\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createNotes\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createNotifications\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createNotifications\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createPerformanceData\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createPerformanceData\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createPluginOutput\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createPluginOutput\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:createPrintHeader\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:createPrintHeader\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:fetchCustomVars\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:fetchCustomVars\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:getUsersAndUsergroups\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:getUsersAndUsergroups\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Parameter \\#1 \\$object of static method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PluginOutput\\:\\:fromObject\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\|Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service, object given\\.$#" + message: '#^Parameter \#1 \$object of static method Icinga\\Module\\Icingadb\\Util\\PluginOutput\:\:fromObject\(\) expects Icinga\\Module\\Icingadb\\Model\\Host\|Icinga\\Module\\Icingadb\\Model\\Service, object given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Parameter \\#1 \\$view of method Icinga\\\\Module\\\\Monitoring\\\\Hook\\\\DetailviewExtensionHook\\:\\:setView\\(\\) expects Icinga\\\\Web\\\\View, null given\\.$#" + message: '#^Parameter \#1 \$view of method Icinga\\Module\\Monitoring\\Hook\\DetailviewExtensionHook\:\:setView\(\) expects Icinga\\Web\\View, null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/ObjectDetail.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Possibly invalid array key type array\\|bool\\|string\\|null\\.$#" + message: '#^Possibly invalid array key type array\|bool\|string\|null\.$#' + identifier: offsetAccess.invalidOffset count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:\\$compatObject has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:\$compatObject has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:\\$object has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:\$object has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectDetail\\:\\:\\$objectType has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:\$objectType has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectStatistics\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectStatistics\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/ObjectStatistics.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectsDetail\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectsDetail\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/ObjectsDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectsDetail\\:\\:createComments\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectsDetail\:\:createComments\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectsDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectsDetail\\:\\:createDowntimes\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectsDetail\:\:createDowntimes\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectsDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectsDetail\\:\\:createExtensions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectsDetail\:\:createExtensions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectsDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectsDetail\\:\\:createFeatureToggles\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectsDetail\:\:createFeatureToggles\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectsDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectsDetail\\:\\:createSummary\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectsDetail\:\:createSummary\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/ObjectsDetail.php - - message: "#^Parameter \\#3 \\$baseFilter of static method Icinga\\\\Module\\\\Icingadb\\\\Hook\\\\ExtensionHook\\\\ObjectsDetailExtensionHook\\:\\:loadExtensions\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Rule, ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null given\\.$#" + message: '#^Parameter \#3 \$baseFilter of static method Icinga\\Module\\Icingadb\\Hook\\ExtensionHook\\ObjectsDetailExtensionHook\:\:loadExtensions\(\) expects ipl\\Stdlib\\Filter\\Rule, ipl\\Stdlib\\Filter\\Rule\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/ObjectsDetail.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectsDetail\\:\\:\\$query has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectsDetail\:\:\$query has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/ObjectsDetail.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectsDetail\\:\\:\\$summary has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectsDetail\:\:\$summary has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/ObjectsDetail.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ObjectsDetail\\:\\:\\$type has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectsDetail\:\:\$type has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/ObjectsDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\PerfDataTable\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\PerfDataTable\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/PerfDataTable.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Cannot access property \\$is_acknowledged on mixed\\.$#" + message: '#^Cannot access property \$is_acknowledged on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Cannot access property \\$is_problem on mixed\\.$#" + message: '#^Cannot access property \$is_problem on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\QuickActions\\:\\:__construct\\(\\) has parameter \\$object with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\QuickActions\:\:__construct\(\) has parameter \$object with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\QuickActions\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\QuickActions\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\QuickActions\\:\\:assembleAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\QuickActions\:\:assembleAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\QuickActions\\:\\:getLink\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\QuickActions\:\:getLink\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\QuickActions\\:\\:getLink\\(\\) has parameter \\$action with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\QuickActions\:\:getLink\(\) has parameter \$action with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\QuickActions\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\QuickActions\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\QuickActions\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Widget\\Detail\\QuickActions\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\QuickActions\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Widget\\Detail\\QuickActions\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/QuickActions.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/QuickActions.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ServiceDetail\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ServiceDetail\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/ServiceDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ServiceInspectionDetail\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ServiceInspectionDetail\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/ServiceInspectionDetail.php - - message: "#^Cannot access property \\$last_state_change on mixed\\.$#" + message: '#^Cannot access property \$last_state_change on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/Detail/ServiceMetaInfo.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ServiceMetaInfo\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ServiceMetaInfo\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/ServiceMetaInfo.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ServiceStatistics\\:\\:__construct\\(\\) has parameter \\$summary with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\ServiceStatistics\:\:__construct\(\) has parameter \$summary with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/Detail/ServiceStatistics.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\ServiceStatistics\\:\\:\\$summary has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\ServiceStatistics\:\:\$summary has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Detail/ServiceStatistics.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Cannot access property \$display_name on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Cannot access property \\$display_name on mixed\\.$#" + message: '#^Cannot call method getModel\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Cannot call method getModel\\(\\) on mixed\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/UserDetail.php - - - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Cannot call method limit\\(\\) on mixed\\.$#" + message: '#^Cannot call method limit\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:createCustomVars\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:createCustomVars\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:createExtensions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:createExtensions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:createUserDetail\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:createUserDetail\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:createUsergroupList\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:createUsergroupList\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:localizeStates\\(\\) has parameter \\$states with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:localizeStates\(\) has parameter \$states with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:localizeStates\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:localizeStates\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:localizeTypes\\(\\) has parameter \\$types with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:localizeTypes\(\) has parameter \$types with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:localizeTypes\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:localizeTypes\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:separateStates\\(\\) has parameter \\$states with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:separateStates\(\) has parameter \$states with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:separateStates\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:separateStates\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Parameter \\#1 \\$query of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:applyRestrictions\\(\\) expects ipl\\\\Orm\\\\Query, mixed given\\.$#" + message: '#^Parameter \#1 \$query of method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:applyRestrictions\(\) expects ipl\\Orm\\Query, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UserDetail\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Widget\\Detail\\UserDetail\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/UserDetail.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/UserDetail.php - - message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:getColumn\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:getColumn\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Stdlib\\Filter\\Rule\:\:metaData\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Call to an undefined method ipl\\\\Stdlib\\\\Filter\\\\Rule\\:\\:metaData\\(\\)\\.$#" + message: '#^Cannot call method getModel\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Cannot call method getModel\\(\\) on mixed\\.$#" + message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Cannot call method getRoles\\(\\) on Icinga\\\\User\\|null\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - - - message: "#^Cannot call method isUnrestricted\\(\\) on Icinga\\\\User\\|null\\.$#" + message: '#^Cannot call method isUnrestricted\(\) on Icinga\\User\|null\.$#' + identifier: method.nonObject count: 4 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Cannot call method limit\\(\\) on mixed\\.$#" + message: '#^Cannot call method limit\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UsergroupDetail\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UsergroupDetail\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UsergroupDetail\\:\\:createCustomVars\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UsergroupDetail\:\:createCustomVars\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UsergroupDetail\\:\\:createExtensions\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UsergroupDetail\:\:createExtensions\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UsergroupDetail\\:\\:createPrintHeader\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UsergroupDetail\:\:createPrintHeader\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UsergroupDetail\\:\\:createUserList\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UsergroupDetail\:\:createUserList\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UsergroupDetail\\:\\:parseDenylist\\(\\) should return ipl\\\\Stdlib\\\\Filter\\\\None but returns ipl\\\\Stdlib\\\\Filter\\\\Chain\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Detail\\UsergroupDetail\:\:parseDenylist\(\) should return ipl\\Stdlib\\Filter\\None but returns ipl\\Stdlib\\Filter\\Chain\.$#' + identifier: return.type count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Parameter \\#1 \\$condition of method ipl\\\\Sql\\\\QueryBuilder\\:\\:buildCondition\\(\\) expects array, array\\|null given\\.$#" + message: '#^Parameter \#1 \$condition of method ipl\\Sql\\QueryBuilder\:\:buildCondition\(\) expects array, array\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Parameter \\#1 \\$denylist of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UsergroupDetail\\:\\:parseDenylist\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$denylist of method Icinga\\Module\\Icingadb\\Widget\\Detail\\UsergroupDetail\:\:parseDenylist\(\) expects string, array\ given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Parameter \\#1 \\$query of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UsergroupDetail\\:\\:applyRestrictions\\(\\) expects ipl\\\\Orm\\\\Query, mixed given\\.$#" + message: '#^Parameter \#1 \$query of method Icinga\\Module\\Icingadb\\Widget\\Detail\\UsergroupDetail\:\:applyRestrictions\(\) expects ipl\\Orm\\Query, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Parameter \\#1 \\$queryString of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Detail\\\\UsergroupDetail\\:\\:parseRestriction\\(\\) expects string, array\\ given\\.$#" + message: '#^Parameter \#1 \$queryString of method Icinga\\Module\\Icingadb\\Widget\\Detail\\UsergroupDetail\:\:parseRestriction\(\) expects string, array\ given\.$#' + identifier: argument.type count: 3 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Parameter \\#2 \\$array of function join expects array\\, array\\ given\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\\\|int\\<1, max\\>\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' + identifier: argument.type count: 4 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Parameter \\#2 \\$tableName of method ipl\\\\Orm\\\\Resolver\\:\\:qualifyColumn\\(\\) expects string, int\\|string given\\.$#" + message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\|string given\.$#' + identifier: argument.type count: 2 path: library/Icingadb/Widget/Detail/UsergroupDetail.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Health\\:\\:__construct\\(\\) has parameter \\$data with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Health\:\:__construct\(\) has parameter \$data with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/Health.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Health\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\Health\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/Health.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\Health\\:\\:\\$data has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Health\:\:\$data has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/Health.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\HostStateBadges\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\HostStateBadges\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/HostStateBadges.php - - message: "#^Parameter \\#2 \\.\\.\\.\\$values of function sprintf expects bool\\|float\\|int\\|string\\|null, mixed given\\.$#" + message: '#^Parameter \#2 \.\.\.\$values of function sprintf expects bool\|float\|int\|string\|null, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/HostStatusBar.php - - message: "#^Parameter \\#3 \\$number of function tp expects int\\|null, mixed given\\.$#" + message: '#^Parameter \#3 \$number of function tp expects int\|null, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/HostStatusBar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\HostSummaryDonut\\:\\:assembleBody\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\HostSummaryDonut\:\:assembleBody\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/HostSummaryDonut.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\HostSummaryDonut\\:\\:assembleFooter\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\HostSummaryDonut\:\:assembleFooter\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/HostSummaryDonut.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\HostSummaryDonut\\:\\:assembleHeader\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\HostSummaryDonut\:\:assembleHeader\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/HostSummaryDonut.php - - message: "#^Parameter \\#1 \\$rule of method ipl\\\\Stdlib\\\\Filter\\\\Chain\\:\\:add\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Rule, ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null given\\.$#" + message: '#^Parameter \#1 \$rule of method ipl\\Stdlib\\Filter\\Chain\:\:add\(\) expects ipl\\Stdlib\\Filter\\Rule, ipl\\Stdlib\\Filter\\Rule\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/HostSummaryDonut.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\IconImage\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\IconImage\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/IconImage.php - - message: "#^Cannot access property \\$host on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseCommentListItem.php - - - - message: "#^Cannot call method getStateText\\(\\) on mixed\\.$#" - count: 3 - path: library/Icingadb/Widget/ItemList/BaseCommentListItem.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseCommentListItem\\:\\:createTicketLinks\\(\\) has parameter \\$text with no type specified\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseCommentListItem.php - - - - message: "#^Parameter \\#1 \\$host of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseCommentListItem\\:\\:createHostLink\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host, mixed given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseCommentListItem.php - - - - message: "#^Parameter \\#1 \\$service of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseCommentListItem\\:\\:createServiceLink\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service, mixed given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseCommentListItem.php - - - - message: "#^Cannot access property \\$host on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseDowntimeListItem.php - - - - message: "#^Cannot call method getStateText\\(\\) on mixed\\.$#" - count: 3 - path: library/Icingadb/Widget/ItemList/BaseDowntimeListItem.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseDowntimeListItem\\:\\:createTicketLinks\\(\\) has parameter \\$text with no type specified\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseDowntimeListItem.php - - - - message: "#^Parameter \\#1 \\$host of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseDowntimeListItem\\:\\:createHostLink\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host, mixed given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseDowntimeListItem.php - - - - message: "#^Parameter \\#1 \\$service of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseDowntimeListItem\\:\\:createServiceLink\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service, mixed given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseDowntimeListItem.php - - - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseDowntimeListItem\\:\\:\\$duration \\(int\\) does not accept string\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseDowntimeListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$author\\.$#" - count: 4 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$comment\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$start_time\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$text\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$author on mixed\\.$#" - count: 4 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$cancelled_by on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$check_attempt on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$checkcommand_name on mixed\\.$#" - count: 4 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$cleared_by on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$comment on mixed\\.$#" - count: 3 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$end_time on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$expire_time on mixed\\.$#" - count: 2 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$flapping_threshold_high on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$flapping_threshold_low on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$hard_state on mixed\\.$#" - count: 6 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$has_been_cancelled on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$id on mixed\\.$#" - count: 3 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$max_check_attempts on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$output on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$percent_state_change_end on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$percent_state_change_start on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$previous_hard_state on mixed\\.$#" - count: 3 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$previous_soft_state on mixed\\.$#" - count: 3 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$removed_by on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$soft_state on mixed\\.$#" - count: 3 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$state_type on mixed\\.$#" - count: 3 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$text on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot access property \\$type on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Cannot call method getStateText\\(\\) on mixed\\.$#" - count: 3 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseHistoryListItem\\:\\:createTicketLinks\\(\\) has parameter \\$text with no type specified\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Parameter \\#1 \\$host of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseHistoryListItem\\:\\:createHostLink\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host, object given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Parameter \\#1 \\$service of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseHistoryListItem\\:\\:createServiceLink\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service, object given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Parameter \\#2 \\$host of method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseHistoryListItem\\:\\:createServiceLink\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host, object given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseHistoryListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$author\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseNotificationListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$history\\.$#" - count: 2 - path: library/Icingadb/Widget/ItemList/BaseNotificationListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$host\\.$#" - count: 3 - path: library/Icingadb/Widget/ItemList/BaseNotificationListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$object_type\\.$#" - count: 5 - path: library/Icingadb/Widget/ItemList/BaseNotificationListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$previous_hard_state\\.$#" - count: 2 - path: library/Icingadb/Widget/ItemList/BaseNotificationListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$send_time\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseNotificationListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$service\\.$#" - count: 2 - path: library/Icingadb/Widget/ItemList/BaseNotificationListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$state\\.$#" - count: 2 - path: library/Icingadb/Widget/ItemList/BaseNotificationListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$text\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseNotificationListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$type\\.$#" - count: 4 - path: library/Icingadb/Widget/ItemList/BaseNotificationListItem.php - - - - message: "#^Cannot call method getStateText\\(\\) on mixed\\.$#" - count: 3 - path: library/Icingadb/Widget/ItemList/BaseNotificationListItem.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseNotificationListItem\\:\\:getStateBallSize\\(\\) has no return type specified\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseNotificationListItem.php - - - - message: "#^Cannot access property \\$display_name on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseServiceListItem.php - - - - message: "#^Cannot access property \\$name on mixed\\.$#" - count: 2 - path: library/Icingadb/Widget/ItemList/BaseServiceListItem.php - - - - message: "#^Cannot access property \\$state on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseServiceListItem.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\BaseServiceListItem\\:\\:createSubject\\(\\) has no return type specified\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseServiceListItem.php - - - - message: "#^Parameter \\#1 \\$host of static method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\Links\\:\\:host\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host, mixed given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseServiceListItem.php - - - - message: "#^Parameter \\#2 \\$host of static method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\Links\\:\\:service\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host, mixed given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/BaseServiceListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$name\\.$#" + message: '#^Access to an undefined property object\:\:\$name\.$#' + identifier: property.notFound count: 7 path: library/Icingadb/Widget/ItemList/CommandTransportListItem.php - - message: "#^Call to an undefined method ipl\\\\Web\\\\Common\\\\BaseItemList\\:\\:addDetailFilterAttribute\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Web\\Common\\BaseItemList\:\:addDetailFilterAttribute\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/ItemList/CommandTransportListItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\CommentList\\:\\:createTicketLinks\\(\\) has parameter \\$text with no type specified\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/CommentList.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\DowntimeList\\:\\:createTicketLinks\\(\\) has parameter \\$text with no type specified\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/DowntimeList.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\HistoryList\\:\\:createTicketLinks\\(\\) has parameter \\$text with no type specified\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/HistoryList.php - - - - message: "#^Parameter \\#2 \\$value of method Icinga\\\\Web\\\\Url\\:\\:setParam\\(\\) expects array\\|bool\\|string, int given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/HistoryList.php - - - - message: "#^Parameter \\#2 \\$haystack of function in_array expects array, array\\|bool\\|string\\|null given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/HostDetailHeader.php - - - - message: "#^Cannot access property \\$is_flapping on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/HostListItemDetailed.php - - - - message: "#^Cannot access property \\$last_comment on mixed\\.$#" - count: 2 - path: library/Icingadb/Widget/ItemList/HostListItemDetailed.php - - - - message: "#^Cannot access property \\$normalized_performance_data on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/HostListItemDetailed.php - - - - message: "#^Cannot access property \\$performance_data on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/HostListItemDetailed.php - - - - message: "#^Parameter \\#2 \\$value of method Icinga\\\\Web\\\\Url\\:\\:setParam\\(\\) expects array\\|bool\\|string, int given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/NotificationList.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\PageSeparatorItem\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemList\\PageSeparatorItem\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemList/PageSeparatorItem.php - - message: "#^Parameter \\#2 \\$haystack of function in_array expects array, array\\|bool\\|string\\|null given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/ServiceDetailHeader.php - - - - message: "#^Cannot access property \\$display_name on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/ServiceListItemDetailed.php - - - - message: "#^Cannot access property \\$is_flapping on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/ServiceListItemDetailed.php - - - - message: "#^Cannot access property \\$last_comment on mixed\\.$#" - count: 2 - path: library/Icingadb/Widget/ItemList/ServiceListItemDetailed.php - - - - message: "#^Cannot access property \\$normalized_performance_data on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/ServiceListItemDetailed.php - - - - message: "#^Cannot access property \\$performance_data on mixed\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/ServiceListItemDetailed.php - - - - message: "#^Access to an undefined property object\\:\\:\\$icon_image_alt\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/StateListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$max_check_attempts\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/StateListItem.php - - - - message: "#^Access to an undefined property object\\:\\:\\$state\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/StateListItem.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemList\\\\StateListItem\\:\\:createSubject\\(\\) has no return type specified\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/StateListItem.php - - - - message: "#^Parameter \\#1 \\$object of static method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PluginOutput\\:\\:fromObject\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\|Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service, object given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemList/StateListItem.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\BaseStateRowItem\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\BaseStateRowItem\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/BaseStateRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\BaseStateRowItem\\:\\:assembleCell\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\BaseStateRowItem\:\:assembleCell\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/BaseStateRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\BaseStateRowItem\\:\\:assembleCell\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\BaseStateRowItem\:\:assembleCell\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/ItemTable/BaseStateRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\BaseStateRowItem\\:\\:assembleVisual\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\BaseStateRowItem\:\:assembleVisual\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/BaseStateRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\BaseStateRowItem\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\BaseStateRowItem\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/BaseStateRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\HostItemTable\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\HostItemTable\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/HostItemTable.php - - message: "#^Cannot access property \\$display_name on mixed\\.$#" + message: '#^Cannot access property \$display_name on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/ItemTable/HostRowItem.php - - message: "#^Cannot access property \\$name on mixed\\.$#" + message: '#^Cannot access property \$name on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/ItemTable/HostRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\HostRowItem\\:\\:assembleCell\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\HostRowItem\:\:assembleCell\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/HostRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\HostRowItem\\:\\:assembleCell\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\HostRowItem\:\:assembleCell\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/ItemTable/HostRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\HostRowItem\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\HostRowItem\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/HostRowItem.php - - message: "#^Parameter \\#1 \\$service of static method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\Links\\:\\:service\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service, mixed given\\.$#" + message: '#^Parameter \#1 \$service of static method Icinga\\Module\\Icingadb\\Common\\Links\:\:service\(\) expects Icinga\\Module\\Icingadb\\Model\\Service, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/ItemTable/HostRowItem.php - - message: "#^Parameter \\#1 \\.\\.\\.\\$rules of static method ipl\\\\Stdlib\\\\Filter\\:\\:all\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Rule, ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null given\\.$#" - count: 2 - path: library/Icingadb/Widget/ItemTable/HostgroupTableRow.php - - - - message: "#^Parameter \\#2 \\.\\.\\.\\$rules of static method ipl\\\\Stdlib\\\\Filter\\:\\:all\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Rule, ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null given\\.$#" - count: 2 - path: library/Icingadb/Widget/ItemTable/HostgroupTableRow.php - - - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\ServiceItemTable\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\ServiceItemTable\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/ServiceItemTable.php - - message: "#^Cannot access property \\$display_name on mixed\\.$#" + message: '#^Cannot access property \$display_name on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/ItemTable/ServiceRowItem.php - - message: "#^Cannot access property \\$name on mixed\\.$#" + message: '#^Cannot access property \$name on mixed\.$#' + identifier: property.nonObject count: 3 path: library/Icingadb/Widget/ItemTable/ServiceRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\ServiceRowItem\\:\\:assembleCell\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\ServiceRowItem\:\:assembleCell\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/ServiceRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\ServiceRowItem\\:\\:assembleCell\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\ServiceRowItem\:\:assembleCell\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/ItemTable/ServiceRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\ServiceRowItem\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\ServiceRowItem\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/ServiceRowItem.php - - message: "#^Parameter \\#1 \\$host of static method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\Links\\:\\:host\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host, mixed given\\.$#" + message: '#^Parameter \#1 \$host of static method Icinga\\Module\\Icingadb\\Common\\Links\:\:host\(\) expects Icinga\\Module\\Icingadb\\Model\\Host, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/ItemTable/ServiceRowItem.php - - message: "#^Parameter \\#2 \\$host of static method Icinga\\\\Module\\\\Icingadb\\\\Common\\\\Links\\:\\:service\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host, mixed given\\.$#" + message: '#^Parameter \#2 \$host of static method Icinga\\Module\\Icingadb\\Common\\Links\:\:service\(\) expects Icinga\\Module\\Icingadb\\Model\\Host, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/ItemTable/ServiceRowItem.php - - message: "#^Parameter \\#1 \\.\\.\\.\\$rules of static method ipl\\\\Stdlib\\\\Filter\\:\\:all\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Rule, ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemTable/ServicegroupTableRow.php - - - - message: "#^Parameter \\#2 \\.\\.\\.\\$rules of static method ipl\\\\Stdlib\\\\Filter\\:\\:all\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Rule, ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null given\\.$#" - count: 1 - path: library/Icingadb/Widget/ItemTable/ServicegroupTableRow.php - - - - message: "#^Call to an undefined method ipl\\\\Html\\\\Contract\\\\FormElement\\:\\:addHtml\\(\\)\\.$#" + message: '#^Call to an undefined method ipl\\Html\\Contract\\FormElement\:\:addHtml\(\)\.$#' + identifier: method.notFound count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Cannot access offset 0 on mixed\\.$#" + message: '#^Cannot access offset 0 on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Cannot access offset 1 on mixed\\.$#" + message: '#^Cannot access offset 1 on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateItemTable\\:\\:__construct\\(\\) has parameter \\$data with no value type specified in iterable type iterable\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateItemTable\:\:__construct\(\) has parameter \$data with no value type specified in iterable type iterable\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateItemTable\\:\\:applyColumnMetaData\\(\\) has parameter \\$columns with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateItemTable\:\:applyColumnMetaData\(\) has parameter \$columns with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateItemTable\\:\\:applyColumnMetaData\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateItemTable\:\:applyColumnMetaData\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateItemTable\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateItemTable\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateItemTable\\:\\:assembleColumnHeader\\(\\) has parameter \\$label with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateItemTable\:\:assembleColumnHeader\(\) has parameter \$label with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateItemTable\\:\\:getVisualLabel\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateItemTable\:\:getVisualLabel\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateItemTable\\:\\:init\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateItemTable\:\:init\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Parameter \\#1 \\.\\.\\.\\$content of method ipl\\\\Html\\\\BaseHtmlElement\\:\\:addHtml\\(\\) expects ipl\\\\Html\\\\ValidHtml, object given\\.$#" + message: '#^Parameter \#1 \.\.\.\$content of method ipl\\Html\\BaseHtmlElement\:\:addHtml\(\) expects ipl\\Html\\ValidHtml, object given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateItemTable\\:\\:\\$baseAttributes has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateItemTable\:\:\$baseAttributes has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateItemTable\\:\\:\\$data type has no value type specified in iterable type iterable\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateItemTable\:\:\$data type has no value type specified in iterable type iterable\.$#' + identifier: missingType.iterableValue count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateItemTable\\:\\:\\$sort \\(string\\) does not accept string\\|null\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateItemTable\:\:\$sort \(string\) does not accept string\|null\.$#' + identifier: assign.propertyType count: 1 path: library/Icingadb/Widget/ItemTable/StateItemTable.php - - message: "#^Cannot access property \\$check_attempt on mixed\\.$#" + message: '#^Cannot access property \$check_attempt on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$hard_state on mixed\\.$#" + message: '#^Cannot access property \$hard_state on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$is_handled on mixed\\.$#" + message: '#^Cannot access property \$is_handled on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$is_problem on mixed\\.$#" + message: '#^Cannot access property \$is_problem on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$is_reachable on mixed\\.$#" + message: '#^Cannot access property \$is_reachable on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$last_state_change on mixed\\.$#" + message: '#^Cannot access property \$last_state_change on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$last_update on mixed\\.$#" + message: '#^Cannot access property \$last_update on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$next_check on mixed\\.$#" + message: '#^Cannot access property \$next_check on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$next_update on mixed\\.$#" + message: '#^Cannot access property \$next_update on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$normalized_performance_data on mixed\\.$#" + message: '#^Cannot access property \$normalized_performance_data on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$previous_hard_state on mixed\\.$#" + message: '#^Cannot access property \$previous_hard_state on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$previous_soft_state on mixed\\.$#" + message: '#^Cannot access property \$previous_soft_state on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$soft_state on mixed\\.$#" + message: '#^Cannot access property \$soft_state on mixed\.$#' + identifier: property.nonObject count: 2 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot access property \\$state_type on mixed\\.$#" + message: '#^Cannot access property \$state_type on mixed\.$#' + identifier: property.nonObject count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot call method getIcon\\(\\) on mixed\\.$#" + message: '#^Cannot call method getIcon\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot call method getStateText\\(\\) on mixed\\.$#" + message: '#^Cannot call method getStateText\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Cannot cast mixed to int\\.$#" + message: '#^Cannot cast mixed to int\.$#' + identifier: cast.int count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateRowItem\\:\\:assembleCell\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateRowItem\:\:assembleCell\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateRowItem\\:\\:assembleCell\\(\\) has parameter \\$value with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateRowItem\:\:assembleCell\(\) has parameter \$value with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ItemTable\\\\StateRowItem\\:\\:assembleVisual\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ItemTable\\StateRowItem\:\:assembleVisual\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Parameter \\#1 \\$object of static method Icinga\\\\Module\\\\Icingadb\\\\Util\\\\PluginOutput\\:\\:fromObject\\(\\) expects Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Host\\|Icinga\\\\Module\\\\Icingadb\\\\Model\\\\Service, ipl\\\\Orm\\\\Model given\\.$#" + message: '#^Parameter \#1 \$object of static method Icinga\\Module\\Icingadb\\Util\\PluginOutput\:\:fromObject\(\) expects Icinga\\Module\\Icingadb\\Model\\Host\|Icinga\\Module\\Icingadb\\Model\\Service, ipl\\Orm\\Model given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Parameter \\#2 \\$alt of class Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\IconImage constructor expects string\\|null, mixed given\\.$#" + message: '#^Parameter \#2 \$alt of class Icinga\\Module\\Icingadb\\Widget\\IconImage constructor expects string\|null, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/ItemTable/StateRowItem.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ServiceStateBadges\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ServiceStateBadges\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ServiceStateBadges.php - - message: "#^Parameter \\#2 \\.\\.\\.\\$values of function sprintf expects bool\\|float\\|int\\|string\\|null, mixed given\\.$#" + message: '#^Parameter \#2 \.\.\.\$values of function sprintf expects bool\|float\|int\|string\|null, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/ServiceStatusBar.php - - message: "#^Parameter \\#3 \\$number of function tp expects int\\|null, mixed given\\.$#" + message: '#^Parameter \#3 \$number of function tp expects int\|null, mixed given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/ServiceStatusBar.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ServiceSummaryDonut\\:\\:assembleBody\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ServiceSummaryDonut\:\:assembleBody\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ServiceSummaryDonut.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ServiceSummaryDonut\\:\\:assembleFooter\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ServiceSummaryDonut\:\:assembleFooter\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ServiceSummaryDonut.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\ServiceSummaryDonut\\:\\:assembleHeader\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\ServiceSummaryDonut\:\:assembleHeader\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/ServiceSummaryDonut.php - - message: "#^Parameter \\#1 \\$rule of method ipl\\\\Stdlib\\\\Filter\\\\Chain\\:\\:add\\(\\) expects ipl\\\\Stdlib\\\\Filter\\\\Rule, ipl\\\\Stdlib\\\\Filter\\\\Rule\\|null given\\.$#" + message: '#^Parameter \#1 \$rule of method ipl\\Stdlib\\Filter\\Chain\:\:add\(\) expects ipl\\Stdlib\\Filter\\Rule, ipl\\Stdlib\\Filter\\Rule\|null given\.$#' + identifier: argument.type count: 1 path: library/Icingadb/Widget/ServiceSummaryDonut.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\StateChange\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\StateChange\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/StateChange.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\StateChange\\:\\:setHandled\\(\\) has parameter \\$isHandled with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\StateChange\:\:setHandled\(\) has parameter \$isHandled with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/StateChange.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\StateChange\\:\\:setIcon\\(\\) has parameter \\$icon with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\StateChange\:\:setIcon\(\) has parameter \$icon with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/StateChange.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\StateChange\\:\\:\\$currentStateBallSize has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\StateChange\:\:\$currentStateBallSize has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/StateChange.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\StateChange\\:\\:\\$previousState has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\StateChange\:\:\$previousState has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/StateChange.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\StateChange\\:\\:\\$previousStateBallSize has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\StateChange\:\:\$previousStateBallSize has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/StateChange.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\StateChange\\:\\:\\$state has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\StateChange\:\:\$state has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/StateChange.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\TagList\\:\\:addLink\\(\\) has parameter \\$content with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\TagList\:\:addLink\(\) has parameter \$content with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/TagList.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\TagList\\:\\:addLink\\(\\) has parameter \\$url with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\TagList\:\:addLink\(\) has parameter \$url with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Icingadb/Widget/TagList.php - - message: "#^Method Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\TagList\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Icingadb\\Widget\\TagList\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Icingadb/Widget/TagList.php - - message: "#^Property Icinga\\\\Module\\\\Icingadb\\\\Widget\\\\TagList\\:\\:\\$content has no type specified\\.$#" + message: '#^Property Icinga\\Module\\Icingadb\\Widget\\TagList\:\:\$content has no type specified\.$#' + identifier: missingType.property count: 1 path: library/Icingadb/Widget/TagList.php diff --git a/public/css/common.less b/public/css/common.less index 54c9c06f..20f66352 100644 --- a/public/css/common.less +++ b/public/css/common.less @@ -4,17 +4,6 @@ @iplWebAssets: "../lib/icinga/icinga-php-library"; }; -& > .content.full-width { - padding-left: 0; - padding-right: 0; - - .list-item, - .table-layout .table-row { - padding-left: 1em; - padding-right: 1em; - } -} - & > .content.full-height { padding-top: 0; padding-bottom: 0; @@ -109,25 +98,6 @@ div.show-more { margin-bottom: 0; } - .item-list { - width: 100%; - - .list-item .main { - border-top: none; - } - - .list-item .visual { - width: auto; - margin-top: 0; - } - - .list-item .visual, - .list-item .main { - padding-bottom: .25em; - padding-top: .25em; - } - } - .search-controls .continue-with { margin-right: -.5em; margin-left: .5em; @@ -258,7 +228,7 @@ div.show-more { } } -.footer { +.content + .footer { display: flex; .box-shadow(0, -1px, 0, 0, @gray-lighter); color: @text-color-light; @@ -316,90 +286,14 @@ div.show-more { } } -.item-table { - &.table-layout { - &.hostgroup-table { - --columns: 2; - } - - &.servicegroup-table { - --columns: 1; - } - - &.user-table, // TODO: make them lists..... - &.usergroup-table { - --columns: 0; - } - } -} - -.hostgroup-table, -.servicegroup-table, -.usergroup-table, -.user-table { - .title .column-content > * { - display: block; - max-width: fit-content; - } - - .object-statistics-total { - width: 3.75em; - } -} - -.controls .hostgroup-table-row, -.controls .servicegroup-table-row, -.controls .usergroup-table-row, -.controls .user-table-row { - .title .column-content { - display: inline-flex; - align-items: center; - - > :first-child { - flex: 0 1 auto; - } - - > :last-child { - flex: 1 1 auto; - } - - .subject { - margin-right: .5em; - } - } - - .vertical-key-value { - br { - display: none; - } - - .key { - padding-left: .417em; - } - - .value { - vertical-align: middle; - } - } -} - -.history-list, -.objectHeader { +.header-item-layout.host, +.header-item-layout.service, +.item-layout.history { .visual.small-state-change .state-change { padding-top: .25em; } } -.comment-popup { - .comment-list .main { - // This is necessary to limit the visible comment lines - // because the popup is shown in detailed list mode only - .caption { - height: 3em; - } - } -} - form[name="form_confirm_removal"] { text-align: center; } @@ -412,13 +306,3 @@ form[name="form_confirm_removal"] { padding: 0 0.25em; .rounded-corners(); } - -.item-list { - .title .affected-objects { - margin-left: .28125em; // calculated   width; - } - - &.default-layout .title .affected-objects { - margin-left: 0; - } -} diff --git a/public/css/list/downtime-list.less b/public/css/item/downtime.less similarity index 72% rename from public/css/list/downtime-list.less rename to public/css/item/downtime.less index 87680976..b55a3d87 100644 --- a/public/css/list/downtime-list.less +++ b/public/css/item/downtime.less @@ -1,17 +1,22 @@ // Style +.item-layout.downtime { + .visual { + background-color: @gray-lighter; + } -.downtime-list .list-item, -.downtime-detail .list-item { + &.in-effect .visual { + background-color: @color-ok; + color: @text-color-on-icinga-blue; + } +} + +.list-item.downtime { .progress { > .bar { background-color: @color-ok; } } - .visual { - background-color: @gray-lighter; - } - .main { border-top: 1px solid @gray-light; } @@ -23,29 +28,31 @@ border-top: 1px solid @gray-light; } } - - &.in-effect { - .visual { - background-color: @color-ok; - color: @text-color-on-icinga-blue; - } - - .main { - padding-top: 0; // If active the progress bar represents the padding top - } - } } // Layout -.downtime-list .list-item { +.item-layout.downtime { .caption > * { display: inline; } + + .visual { + justify-content: center; + flex-shrink: 0; + line-height: 1em; + padding: .5em .25em; + text-align: center; + width: 6em; + + strong { + font-size: 1.5em; + line-height: 1em; + } + } } -.downtime-list .list-item, -.downtime-detail .list-item { +.list-item.downtime { .progress { height: 2px; margin-bottom: ~"calc(.5em - 2px)"; @@ -62,23 +69,12 @@ height: ~"calc(100% + 1px)"; // +1px due to the border added exclusively for the first item } - .visual { - justify-content: center; - flex-shrink: 0; - line-height: 1em; - margin-right: .5em; - padding: .5em .25em; - text-align: center; - width: 6em; - - strong { - font-size: 1.5em; - line-height: 1em; - } + .main:has(.progress) { + padding-top: 0; } } -.item-list.downtime-list.minimal .list-item { +.minimal-item-layout.downtime { .visual { display: block; line-height: 1.5; diff --git a/public/css/item/hostgroup.less b/public/css/item/hostgroup.less new file mode 100644 index 00000000..7a4d6617 --- /dev/null +++ b/public/css/item/hostgroup.less @@ -0,0 +1,22 @@ +.hostgroup { + &.table-row.item-layout { + > .col:has(.object-statistics) { + align-content: center; // Actually, not sure why this works… .col is not a grid container + } + + > .main > .caption { + height: auto; + .text-ellipsis(); + .line-clamp("reset"); + } + } + + &.header-item-layout > .main { + padding-top: 0; + padding-bottom: 0; + + > header { + align-items: center; + } + } +} diff --git a/public/css/item/icon-image.less b/public/css/item/icon-image.less new file mode 100644 index 00000000..e0b03618 --- /dev/null +++ b/public/css/item/icon-image.less @@ -0,0 +1,37 @@ +.item-layout { + .icon-image { + width: 3em; + height: 3em; + text-align: center; + margin-top: .5em; + margin-right: .5em; + overflow: hidden; + + img { + max-height: 100%; + max-width: 100%; + height: auto; + width: auto; + } + + .icon, img { + vertical-align: baseline; + } + } + + &.minimal-item-layout { + .icon-image { + height: 2em; + width: 2em; + line-height: 2; + } + } + + &.header-item-layout .icon-image { + margin-top: 0; + + img { + vertical-align: middle; + } + } +} diff --git a/public/css/list/list-item.less b/public/css/item/item-layout.less similarity index 83% rename from public/css/list/list-item.less rename to public/css/item/item-layout.less index 2e67e3d4..5db60ac1 100644 --- a/public/css/list/list-item.less +++ b/public/css/item/item-layout.less @@ -1,6 +1,6 @@ // Style -.list-item { +.item-layout { &.overdue { background-color: @gray-lighter; } @@ -36,7 +36,7 @@ // Layout -.list-item { +.item-layout { &.overdue time { margin-right: -.5em; padding: 0 0.5em; @@ -53,6 +53,18 @@ } } + &.minimal-item-layout { + .caption .plugin-output { + .text-ellipsis(); + } + + &.hostgroup .extended-info { + > :not(:last-child) { + margin-right: 1em; + } + } + } + footer { .status-icons { display: flex; diff --git a/public/css/list/redundancy-group-list-item.less b/public/css/item/redundancy-group.less similarity index 56% rename from public/css/list/redundancy-group-list-item.less rename to public/css/item/redundancy-group.less index 5fec5aef..ca5dea1e 100644 --- a/public/css/list/redundancy-group-list-item.less +++ b/public/css/item/redundancy-group.less @@ -1,16 +1,16 @@ -.redundancy-group-list-item { +.item-layout.redundancy-group { .caption .object-statistics { justify-self: end; } } -.item-list.minimal > .redundancy-group-list-item { +.minimal-item-layout.redundancy-group { .caption .object-statistics { font-size: 0.75em; } } -.item-list.default-layout > .redundancy-group-list-item { +.default-item-layout.redundancy-group { .title > .subject { margin-right: .28125em; } diff --git a/public/css/item/servicegroup.less b/public/css/item/servicegroup.less new file mode 100644 index 00000000..9c79e9a2 --- /dev/null +++ b/public/css/item/servicegroup.less @@ -0,0 +1,3 @@ +.servicegroup { + .hostgroup; +} diff --git a/public/css/list/comment-list.less b/public/css/list/comment-list.less deleted file mode 100644 index 46b194de..00000000 --- a/public/css/list/comment-list.less +++ /dev/null @@ -1,50 +0,0 @@ -// Style - -// Layout - -.comment-list:not(.detailed) .list-item { - .title > i:first-child { - margin-right: 0; - } - - .title > .subject + .badge, - .title > .badge + .subject, - .title > .badge:last-of-type { - margin-left: 0; - } - - .title a { - &:not(.subject) { - .text-ellipsis(); - } - } - - .title .subject:not(:last-child) { - margin-left: 0; - } - - .title .subject:nth-child(3):last-child { - margin-left: 0; - } -} - -.comment-list.minimal .list-item { - .user-ball { - font-size: .857em; - height: 1.75em; - line-height: 1.5em; - width: 1.75em; - } -} - -.comment-list.detailed .list-item { - .title > .subject:nth-child(3), - .title > .badge + .subject:last-child { - margin-left: .3em; - } - - .caption { - max-height: 4.5em; - white-space: normal; - } -} diff --git a/public/css/list/item-list.less b/public/css/list/item-list.less index 251eec31..788b973b 100644 --- a/public/css/list/item-list.less +++ b/public/css/list/item-list.less @@ -43,112 +43,38 @@ // Layout -.item-list .list-item { - &.load-more a { +.item-list .load-more { + display: flex; + + a { flex: 1; margin: 1.5em 0; padding: .5em 0; } } -.item-list.minimal { - > .empty-state { - padding: .25em; +.item-list { + .detailed-item-layout footer { + .status-icons .icon, .performance-data { + font-size: .857em; + line-height: 1.5*.857em; + } } - .list-item { - header { - max-width: 100%; + // Not sure what this is for. Maybe user content? (Markdown) But why in the title?? + .default-item-layout .title { + p { + margin: 0; } + } - .visual { - width: 2.2em; - } + .minimal-item-layout .title { + p { + display: inline; - .check-attempt { - display: none; - } - - .title { - p { - display: inline; - - & + p { - margin-left: .417em; - } + & + p { + margin-left: .417em; } } - - .caption { - flex: 1 1 auto; - height: 1.5em; - margin-right: 1em; - width: 0; - - .line-clamp("reset"); - } - - .caption, - .caption .plugin-output { - .text-ellipsis(); - } } } - -.item-list.detailed .list-item { - .title { - word-break: break-word; - -webkit-hyphens: auto; - -ms-hyphens: auto; - hyphens: auto; - } - - .caption { - display: block; - height: auto; - max-height: 7.5em; /* 5 lines */ - position: relative; - - .line-clamp(4) - } -} - -.item-list { - .icon-image { - width: 3em; - height: 3em; - text-align: center; - margin-top: .5em; - margin-left: .5em; - overflow: hidden; - - img { - max-height: 100%; - max-width: 100%; - height: auto; - width: auto; - } - } - - &.minimal { - .icon-image { - height: 2em; - width: 2em; - line-height: 2; - } - } -} - -.controls .item-list:not(.detailed):not(.minimal) .list-item { - .plugin-output { - line-height: 1.5 - } - - .caption { - height: 2.5em; - } -} - -.controls .item-list.minimal .icon-image { - margin-top: 0; -} diff --git a/public/css/list/user-list.less b/public/css/list/user-list.less deleted file mode 100644 index 078d1b94..00000000 --- a/public/css/list/user-list.less +++ /dev/null @@ -1,26 +0,0 @@ -// Layout - -.controls .user-list, -.controls .usergroup-list { - .usergroup-ball, - .user-ball { - height: 1.5em; - width: 1.5em; - line-height: ~"calc(1.5em - 4px)"; - display: block; - } - - .title br { - display: none; - } - - .list-item { - & > .visual { - padding-top: 0.25em; - } - - & > .col { - padding: .25em 0; - } - } -} diff --git a/public/css/widget/comment-popup.less b/public/css/widget/comment-popup.less index 40126974..e361981d 100644 --- a/public/css/widget/comment-popup.less +++ b/public/css/widget/comment-popup.less @@ -15,8 +15,8 @@ top: 2.5em; left: -1.6em; z-index: 1; - display: none; width: 50em; + padding: 0 1em; } .comment-popup:before { @@ -35,20 +35,23 @@ } } -ul.item-list li:last-child .comment-wrapper { - .comment-popup { - top: -7em; - } +ul.item-list li:nth-last-child(2):not(:first-child), +ul.item-list li:last-child:not(:first-child) { + .comment-wrapper { + .comment-popup { + top: -7em; + } - .comment-popup:before { - bottom: ~"calc(-0.75em - 1px)"; - top: unset; - transform: rotate(225deg); + .comment-popup:before { + bottom: ~"calc(-0.75em - 1px)"; + top: unset; + transform: rotate(225deg); + } } } -.comment-wrapper:hover .comment-popup { - display: block +.comment-wrapper:not(:hover) .comment-popup { + display: none; } #layout { diff --git a/public/css/widget/group-grid.less b/public/css/widget/object-grid.less similarity index 52% rename from public/css/widget/group-grid.less rename to public/css/widget/object-grid.less index 22dce939..8bad0663 100644 --- a/public/css/widget/group-grid.less +++ b/public/css/widget/object-grid.less @@ -1,27 +1,23 @@ // HostGroup- and -ServiceGroupGrid styles -ul.item-table.group-grid { +ul.object-grid { + display: grid; grid-template-columns: repeat(auto-fit, 15em); grid-gap: 1em 2em; + margin: 0; + padding: 0; - .table-row { - margin: -.25em; + li.item-layout.object-grid-cell { padding: .25em; - border-radius: .5em; - } + .rounded-corners(); - li.group-grid-cell { - .title { - align-items: center; + .caption { + height: 1.5em; // Single line + .text-ellipsis(); + .line-clamp("reset"); } - .visual { - margin-right: 1em; - } - - .column-content { - line-height: 1; - + .title, .caption { a { display: inline-block; max-width: 10em; @@ -37,6 +33,3 @@ ul.item-table.group-grid { } } -.content.full-width ul.item-table.group-grid { - margin: 0 1em; -} diff --git a/public/css/widget/object-header.less b/public/css/widget/object-header.less deleted file mode 100644 index 31d4dfdd..00000000 --- a/public/css/widget/object-header.less +++ /dev/null @@ -1,65 +0,0 @@ -// Layout -.object-header { - display: flex; - - .visual { - display: flex; - padding: 0.5em 0; - align-items: center; - } - - .main { - flex: 1 1 auto; - padding: 0.5em 0; - width: 0; - margin-left: .5em; - - header { - display: flex; - justify-content: space-between; - align-items: center; - - .title { - display: inline-flex; - align-items: baseline; - white-space: nowrap; - margin-right: 1em; - - & > * { - margin: 0 .28125em; // 0 calculated   width - } - - .subject { - .text-ellipsis(); - } - } - - time { - white-space: nowrap; - } - } - } - - .visual, - .main { - padding-bottom: .25em; - padding-top: .25em; - } -} - -.object-header { - color: @default-text-color-light; - - .title { - .subject { - color: @default-text-color; - } - } - - .object-statistics { - margin-left: auto; - margin-right: 1em; - - font-size: .75em; - } -} diff --git a/public/css/widget/table-layout.less b/public/css/widget/table-layout.less deleted file mode 100644 index f67ec0f0..00000000 --- a/public/css/widget/table-layout.less +++ /dev/null @@ -1,72 +0,0 @@ -// HostGroup- and -ServiceGroupTable styles - -.item-table.table-layout { - --columns: 1; -} - -ul.item-table.table-layout { - grid-template-columns: 1fr repeat(var(--columns), auto); - - > li { - display: contents; - - &:hover, - &.active { - .col, &::before, &::after { - // The li might get a background on hover. Though, this won't be visible - // as it has no box model since we apply display:contents to it. - background-color: inherit; - } - } - } - - li:not(:last-of-type) { - .col { - border-bottom: 1px solid @gray-light; - } - - .visual { - border-bottom: 1px solid @default-bg; - } - } - - > .table-row { - &:not(:last-of-type) .title .visual { - margin-bottom: ~"calc(-.5em - 1px)"; - } - - .col { - padding: .5em 0; - } - - .col:not(:last-child) { - padding-right: 1em; - } - } -} - -.content.full-width ul.item-table.table-layout { - // Again, since the li has no box model, it cannot have padding. So the first - // and last child need to get the left and right padding respectively. - // But we don't want to have a border that spans to the very right or left, - // so pseudo elements are required. We could add empty cells instead, but - // that would require hard coding the width here, which I'd like to avoid. - - grid-template-columns: ~"auto 1fr repeat(calc(var(--columns) + 1), auto)"; - - > li.table-row { - &::before, &::after { - display: inline-block; - content: '\00a0'; - margin-bottom: 1px; - } - - &::before { - padding-left: inherit; - } - - &::after { - padding-right: inherit; - } - } -}