alert_status_items = array( 'all_enabled' => __('All (Enabled)'), 'all' => __('All'), 'fired' => __('Fired'), 'notfired' => __('Not fired'), 'disabled' => __('Disabled')); $this->alert_standby_items = array( '-1' => __('All'), '1' => __('Standby on'), '0' => __('Standby off')); $this->columns = array('agent' => 1); $system = System::getInstance(); if ($system->checkACL($this->acl)) { $this->correct_acl = true; } else { $this->correct_acl = false; } } private function alertsGetFilters() { $system = System::getInstance(); $user = User::getInstance(); $this->default_filters['standby'] = true; $this->default_filters['group'] = true; $this->default_filters['status'] = true; $this->default_filters['free_search'] = true; $this->free_search = $system->getRequest('free_search', ''); if ($this->free_search != '') { $this->default = false; $this->default_filters['free_search'] = false; } $this->status = $system->getRequest('status', __("Status")); if (($this->status === __("Status")) || ($this->status == 'all')) { $this->status = 'all'; } else { $this->default = false; $this->default_filters['status'] = false; } $this->group = $system->getRequest('group', __("Group")); if (!$user->isInGroup($this->acl, $this->group)) { $this->group = 0; } if (($this->group === __("Group")) || ($this->group == 0)) { $this->group = 0; } else { $this->default = false; $this->default_filters['group'] = false; } $this->standby = $system->getRequest('standby', __('Stand by')); if (($this->standby === __('Stand by')) || ($this->standby == -1)) { $this->standby = -1; } else { $this->default = false; $this->default_filters['standby'] = false; } } public function setFilters($filters) { if (isset($filters['id_agent'])) { $this->id_agent = $filters['id_agent']; } if (isset($filters['all_alerts'])) { $this->all_alerts = $filters['all_alerts']; } } public function ajax($parameter2 = false) { $system = System::getInstance(); if (!$this->correct_acl) { return; } else { switch ($parameter2) { case 'xxxx': break; } } } public function show() { if (!$this->correct_acl) { $this->show_fail_acl(); } else { $this->alertsGetFilters(); $this->show_alerts(); } } 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_alerts() { $ui = Ui::getInstance(); $ui->createPage(); $ui->createDefaultHeader(__("Alerts"), $ui->createHeaderButton( array('icon' => 'back', 'pos' => 'left', 'text' => __('Back'), 'href' => 'index.php?page=home'))); $ui->showFooter(false); $ui->beginContent(); $filter_title = sprintf(__('Filter Alerts by %s'), $this->filterAlertsGetString()); $ui->contentBeginCollapsible($filter_title); $ui->beginForm(); $options = array( 'name' => 'page', 'type' => 'hidden', 'value' => 'alerts' ); $ui->formAddInput($options); $system = System::getInstance(); $groups = users_get_groups_for_select( $system->getConfig('id_user'), "ER", true, true, false, 'id_grupo'); $options = array( 'name' => 'group', 'title' => __('Group'), 'label' => __('Group'), 'items' => $groups, 'selected' => $this->group ); $ui->formAddSelectBox($options); $options = array( 'name' => 'free_search', 'value' => $this->free_search, 'placeholder' => __('Free search') ); $ui->formAddInputSearch($options); $options = array( 'name' => 'status', 'title' => __('Status'), 'label' => __('Status'), 'items' => $this->alert_status_items, 'selected' => $this->status ); $ui->formAddSelectBox($options); $options = array( 'name' => 'standby', 'title' => __('Stand by'), 'label' => __('Stand by'), 'items' => $this->alert_standby_items, 'selected' => $this->standby ); $ui->formAddSelectBox($options); $options = array( 'icon' => 'refresh', 'icon_pos' => 'right', 'text' => __('Apply Filter') ); $ui->formAddSubmitButton($options); $html = $ui->getEndForm(); $ui->contentCollapsibleAddItem($html); $ui->contentEndCollapsible(); $this->listAlertsHtml(); $ui->endContent(); $ui->showPage(); } public function disabledColumns($columns = null) { if (!empty($columns)) { foreach ($columns as $column) { unset($this->columns[$column]); } } } public function listAlertsHtml ($return = false) { $countAlerts = alerts_get_alerts($this->group, $this->free_search, $this->status, $this->standby, "AR", true, $this->id_agent); $alerts = alerts_get_alerts($this->group, $this->free_search, $this->status, $this->standby, "AR", false, $this->id_agent); if (empty($alerts)) $alerts = array(); $table = array(); foreach ($alerts as $alert) { if ($alert['alert_disabled']) { $disabled_style = "%s"; } else { $disabled_style = "%s"; } if ($alert["times_fired"] > 0) { $status = STATUS_ALERT_FIRED; $title = __('Alert fired').' '.$alert["times_fired"].' '.__('times'); } elseif ($alert["disabled"] > 0) { $status = STATUS_ALERT_DISABLED; $title = __('Alert disabled'); } else { $status = STATUS_ALERT_NOT_FIRED; $title = __('Alert not fired'); } $row = array(); if (isset($this->columns['agent']) && $this->columns['agent']) { $row[__('Agent')] = sprintf($disabled_style, io_safe_output($alert['agent_name'])); } $row[__('Module')] = sprintf($disabled_style, io_safe_output($alert['module_name'])); $row[__('Template')] = sprintf($disabled_style, io_safe_output($alert['template_name'])); $row[__('Last Fired')] = sprintf($disabled_style, ui_print_timestamp ($alert["last_fired"], true)); $row[__('Status')] = ui_print_status_image($status, $title, true); $table[] = $row; } $ui = UI::getInstance(); if (empty($table)) { $html = '

' . __('No alerts') . '

'; if (!$return) { $ui->contentAddHtml($html); } else { return $html; } } else { $tableHTML = new Table(); $tableHTML->id = 'list_alerts'; $tableHTML->importFromHash($table); if (!$return) { $ui->contentAddHtml($tableHTML->getHTML()); } else { return $tableHTML->getHTML(); } } } private function filterAlertsGetString() { if ($this->default) { return __("(Default)"); } else { $filters_to_serialize = array(); if (!$this->default_filters['standby']) { $filters_to_serialize[] = sprintf(__("Standby: %s"), $this->alert_standby_items[$this->standby]); } if (!$this->default_filters['group']) { $filters_to_serialize[] = sprintf(__("Group: %s"), groups_get_name($this->group, true)); } if (!$this->default_filters['status']) { $filters_to_serialize[] = sprintf(__("Status: %s"), $this->alert_status_items[$this->status]); } if (!$this->default_filters['free_search']) { $filters_to_serialize[] = sprintf(__("Free Search: %s"), $this->free_search); } $string = '(' . implode(' - ', $filters_to_serialize) . ')'; return $string; //~ $status_text = $this->alert_status_items[$this->status]; //~ $standby_text = $this->alert_standby_items[$this->standby]; //~ $group_text = groups_get_name($this->group, true); //~ return sprintf(__('(Status: %s - Standby: %s - Group: %s - Free Search: %s)'), //~ $status_text, $standby_text, $group_text, $this->free_search); } } } ?>