->addItem(new CPartial('service.list', array_intersect_key($data, array_flip(['can_monitor_problems', 'path',
<?php declare(strict_types = 0);
$this->addJsFile('layout.mode.js');
$this->addJsFile('class.tagfilteritem.js');
$this->includeJsFile('service.list.js.php');
$this->enableLayoutModes();
$web_layout_mode = $this->getLayoutMode();
if ($web_layout_mode == ZBX_LAYOUT_NORMAL) {
if (count($data['breadcrumbs']) > 1) {
while ($path_item = array_shift($data['breadcrumbs'])) {
$breadcrumbs[] = (new CSpan())
->addItem(array_key_exists('curl', $path_item)
? new CLink($path_item['name'], $path_item['curl'])
->addClass(!$data['breadcrumbs'] ? ZBX_STYLE_SELECTED : null);
$filter = (new CFilter())
->addVar('action', 'service.list')
->addVar('serviceid', $data['service'] !== null ? $data['service']['serviceid'] : null)
->setResetUrl($data['reset_curl'])
->setProfile('web.service.filter')
->setActiveTab($data['active_tab']);
if ($data['service'] !== null && !$data['is_filtered']) {
(new CLink(_('Info'), '#tab_info'))
->addClass(ZBX_STYLE_BTN)
->addClass(ZBX_ICON_CIRCLE_INFO),
->addClass(ZBX_STYLE_FILTER_CONTAINER)
->addItem(new CPartial('service.info', $data + ['is_editable' => false]))