function get_top_status() { $appliance = new appliance(); $appliance_all = $appliance->get_count(); $appliance_active = $appliance->get_count_active(); $resource = new resource(); $resource_all = $resource->get_count("all"); $resource_active = $resource->get_count("online"); $resource_inactive = $resource->get_count("offline"); $resource_error = $resource->get_count("error"); $event = new event(); $event_error_count = $event->get_count('error'); $event_active_count = $event->get_count('active'); echo $appliance_all . "@" . $appliance_active . "@" . $resource_all . "@" . $resource_active . "@" . $resource_inactive . "@" . $resource_error . "@" . $event_error_count . "@" . $event_active_count; }
function select() { $h = array(); $h['event_id']['title'] = $this->lang['table_id']; $h['event_id']['hidden'] = true; $h['event_id']['sortable'] = false; $h['event_priority']['title'] = $this->lang['table_state']; $h['event_time']['title'] = $this->lang['table_date']; $h['event_source']['title'] = $this->lang['table_source']; $h['event_description']['title'] = $this->lang['table_description']; $h['event_description']['sortable'] = false; $event = new event(); $b = array(); $table = $this->response->html->tablebuilder('events', $this->response->get_array($this->actions_name, 'select')); $table->offset = 0; $table->limit = 100; $table->sort = 'event_time'; $table->order = 'DESC'; switch ($this->response->html->request()->get('event_filter')) { case '': case 'all': $table->max = $event->get_count(); break; case 'active': $table->max = $event->get_count('active'); break; case 'error': $table->max = $event->get_count('error'); break; case 'acknowledge': $table->max = $event->get_count('acknowledge'); break; case 'warning': $table->max = $event->get_count('warning'); break; } $table->init(); switch ($this->response->html->request()->get('event_filter')) { case '': case 'all': $events = $event->display_overview($table->offset, $table->limit, $table->sort, $table->order); break; case 'active': $events = $event->display_overview($table->offset, $table->limit, $table->sort, $table->order, 'active'); break; case 'error': $events = $event->display_overview($table->offset, $table->limit, $table->sort, $table->order, 'error'); break; case 'acknowledge': $events = $event->display_overview($table->offset, $table->limit, $table->sort, $table->order, 'acknowledge'); break; case 'warning': $events = $event->display_overview($table->offset, $table->limit, $table->sort, $table->order, 'warning'); break; } $RootDir = $_SERVER["DOCUMENT_ROOT"] . '/openqrm/base/'; $i = 0; foreach ($events as $key => $value) { $icon = "transition.png"; switch ($value['event_priority']) { case 0: $icon = '<span class="pill off">off</span>'; break; case 1: case 2: case 3: $icon = '<span class="pill red">error</span>'; break; // error event // error event case 4: case 5: case 6: case 7: case 8: $icon = '<span class="pill green">notice</span>'; break; // undefined event // undefined event case 9: $icon = '<span class="pill yellow">running</span>'; break; // active event // active event case 10: $icon = '<span class="pill green">ok</span>'; break; // notice event } if ($value['event_status'] === '1') { $icon = '<span class="pill green">ack</span>'; // acknowledged event } $description = ''; if (strstr($value['event_description'], "ERROR running token")) { $error_token = str_replace("ERROR running token ", "", $value['event_description']); $cmd_file = $this->rootdir . "/server/event/errors/" . $error_token . ".cmd"; $error_file = $this->rootdir . "/server/event/errors/" . $error_token . ".out"; // get command and error strings if ($this->file->exists($cmd_file) && $this->file->exists($error_file)) { $oq_cmd = $this->file->get_contents($cmd_file); $oq_cmd = str_replace('"', '', $oq_cmd); $oq_cmd_error = $this->file->get_contents($error_file); $oq_cmd_error = str_replace('"', '', $oq_cmd_error); // set the event to error in any way $event_fields = array(); $event_fields["event_priority"] = 1; $event->update($value['event_id'], $event_fields); $event->get_instance_by_id($value['event_id']); $icon = '<span class="pill red">error</span>'; // set the description $description = "<a href=\"/openqrm/base/server/event/errors/" . $error_token . ".out\" title=\"" . $oq_cmd_error . "\" target=\"_BLANK\">Error</a> running openQRM <a href=\"/openqrm/base/server/event/errors/" . $error_token . ".cmd\" title=\"" . $oq_cmd . "\"target=\"_BLANK\">command</a>"; $a = $this->response->html->a(); $a->title = $this->lang['action_rerun']; $a->label = $this->lang['action_rerun']; $a->handler = 'onclick="wait();"'; $a->css = 'start pull-right'; $a->href = $this->response->get_url($this->actions_name, 'rerun') . '&token=' . $error_token . '&event_id=' . $event->id; $rerun = $a->get_string(); $description .= $rerun; } else { // we are currently re-running the token, do not show the links $description = "Error running openQRM command<br><strong>Currently re-running token {$error_token}</strong>"; } } else { $description = $value['event_description']; } $b[$i]['event_id'] = $value['event_id']; $b[$i]['event_priority'] = $icon; $b[$i]['event_time'] = date('Y/m/d H:i:s', $value['event_time']); $b[$i]['event_source'] = $value['event_source']; $b[$i]['event_description'] = $description; $i++; } $filter = array(); $filter[] = array('', 'all'); $filter[] = array($this->lang['filter_active'], 'active'); $filter[] = array($this->lang['filter_warning'], 'warning'); $filter[] = array($this->lang['filter_error'], 'error'); $filter[] = array($this->lang['filter_acknowledge'], 'acknowledge'); asort($filter); $select = $this->response->html->select(); $select->add($filter, array(1, 0)); $select->name = 'event_filter'; $select->handler = 'onchange="wait();this.form.submit();return false;"'; $select->selected = array($this->response->html->request()->get('event_filter')); $box = $this->response->html->box(); $box->add($select); $box->id = 'events_filter'; $box->css = 'htmlobject_box'; $box->label = $this->lang['lang_filter']; $table->add_headrow($box->get_string()); $table->id = 'Tabelle'; $table->css = 'htmlobject_table'; $table->border = 1; $table->cellspacing = 0; $table->form_action = $this->response->html->thisfile; $table->cellpadding = 3; $table->autosort = false; $table->sort_link = false; $table->head = $h; $table->body = $b; $table->actions_name = $this->actions_name; $table->actions = array(array('remove' => $this->lang['action_remove']), array('acknowledge' => $this->lang['action_acknowledge'])); $table->identifier = 'event_id'; $table->identifier_name = $this->identifier_name; $table->limit_select = array(array("value" => 100, "text" => 100), array("value" => 200, "text" => 200), array("value" => 400, "text" => 400), array("value" => 500, "text" => 500)); return $table; }