checkACL($this->acl)) { $this->correct_acl = true; $this->groups = $this->getListGroups(); // ~ foreach ($this->groups as $key => $group) { // ~ $this->status[$key] = $group['status']; // ~ unset($this->groups[$key]['status']); // ~ } } else { $this->correct_acl = false; } } public function show() { if (!$this->correct_acl) { $this->show_fail_acl(); } else { $this->show_group(); } } private function show_fail_acl() { $error['type'] = 'onStart'; $error['title_text'] = __('You don\'t have access to this page'); $error['content_text'] = System::getDefaultACLFailText(); if (class_exists('HomeEnterprise')) { $home = new HomeEnterprise(); } else { $home = new Home(); } $home->show($error); } private function show_group() { $ui = Ui::getInstance(); $ui->createPage(); $ui->createDefaultHeader( __('Groups'), $ui->createHeaderButton( [ 'icon' => 'ui-icon-back', 'pos' => 'left', 'text' => __('Back'), 'href' => 'index.php?page=home', 'class' => 'header-button-left', ] ) ); $ui->showFooter(false); $ui->beginContent(); $ui->contentAddHtml('
'); $count = 0; $url_agent = 'index.php?page=agents&group=%s&status=%s'; $url_modules = 'index.php?page=modules&group=%s&status=%s'; foreach ($this->groups as $group) { // Calculate entire row color. if ($group['_monitors_alerts_fired_'] > 0) { $color_class = 'group_view_alrm'; $color = ' #f7931e'; $status_image = ui_print_status_image('agent_alertsfired_ball.png', '', true); } else if ($group['_monitors_critical_'] > 0) { $color_class = 'group_view_crit'; $color = ' #f85858'; $status_image = ui_print_status_image('agent_critical_ball.png', '', true); } else if ($group['_monitors_warning_'] > 0) { $color_class = 'group_view_warn'; $color = '#ffea59'; $status_image = ui_print_status_image('agent_warning_ball.png', '', true); } else if ($group['_monitors_ok_'] > 0) { $color_class = 'group_view_ok'; $color = '#6eb432'; $status_image = ui_print_status_image('agent_ok_ball.png', '', true); } else if (($group['_monitors_unknown_'] > 0) || ($group['_agents_unknown_'] > 0)) { $color_class = 'group_view_unk'; $color = '#999999'; $status_image = ui_print_status_image('agent_no_monitors_ball.png', '', true); } else { $color_class = ''; $color = ''; $status_image = ui_print_status_image('agent_no_data_ball.png', '', true); } // Show agent counter by states. $agents_counter = '['.$group['_total_agents_']; if ($group['_monitors_alerts_fired_'] > 0) { $agents_counter .= ':'; $agents_counter .= ''.$group['_monitors_alerts_fired_'].''; } if ($group['_monitors_critical_'] > 0) { $agents_counter .= ':'; $agents_counter .= ''.$group['_monitors_critical_'].''; } if ($group['_agents_warning_'] > 0) { $agents_counter .= ':'; $agents_counter .= ''.$group['_agents_warning_'].''; } if ($group['_agents_unknown_'] > 0) { $agents_counter .= ':'; $agents_counter .= ''.$group['_agents_unknown_'].''; } if ($group['_agents_not_init_'] > 0) { $agents_counter .= ':'; $agents_counter .= ''.$group['_agents_not_init_'].''; } if ($group['_agents_ok_'] > 0) { $agents_counter .= ':'; $agents_counter .= ''.$group['_agents_ok_'].''; } $agents_counter .= ']'; if ($group['_iconImg_'] !== null) { $img_group = html_print_image('images/'.$group['_iconImg_'], true, false, false, false, false, true); } $group['_iconImg_'] = ($group['_iconImg_'] == '') ? 'world.png' : $group['_iconImg_']; $ui->contentAddHtml( ' ' ); $ui->contentAddHtml( '
' ); $ui->contentAddHtml('

'.$img_group.' '.$group['_name_'].''.$agents_counter.'

'); $ui->contentAddHtml(''); $ui->contentAddHtml('
'); $count++; } $ui->contentAddHtml('
'); // $ui->contentAddHtml(ob_get_clean()); // ~ $table = new Table(); // ~ $table->setId('list_groups'); // ~ $table->setClass('group_view'); // ~ $table->importFromHash($this->groups); // ~ $table->setRowClass($this->status); // ~ $ui->contentAddHtml($table->getHTML()); $ui->endContent(); $ui->showPage(); } private function getListGroups() { $return = []; $system = System::getInstance(); $user = User::getInstance(); $result_groups = groupview_get_groups_list($system->getConfig('id_user'), 'AR', true); return $result_groups['groups']; } }