histogram: Make histograms crash less
[ninja.git] / application / controllers / showlog.php
blob20644d297659272e0f361f54246f474107ebec14
1 <?php defined('SYSPATH') OR die('No direct access allowed.');
2 /**
3 * Showlog controller
5 * op5, and the op5 logo are trademarks, servicemarks, registered servicemarks
6 * or registered trademarks of op5 AB.
7 * All other trademarks, servicemarks, registered trademarks, and registered
8 * servicemarks mentioned herein may be the property of their respective owner(s).
9 * The information contained herein is provided AS IS with NO WARRANTY OF ANY
10 * KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY, AND FITNESS FOR A
11 * PARTICULAR PURPOSE.
13 class Showlog_Controller extends Authenticated_Controller
15 private $show;
16 private $options = array();
18 public function __construct()
20 parent::__construct();
22 $this->get_options();
25 protected function get_options()
27 $this->options = $this->input->get();
28 if (empty($this->options))
29 $this->options = $this->input->post();
32 if (!empty($this->options['cal_start']) && isset($this->options['time_start'])) {
33 $this->options['first'] = strtotime($this->options['cal_start'] . ' ' . $this->options['time_start']);
34 } else if (isset($this->options['first']) && !empty($this->options['first'])) {
35 $this->options['first'] = strtotime($this->options['first']);
39 if (!empty($this->options['cal_end']) && isset($this->options['time_end'])) {
40 $this->options['last'] = strtotime($this->options['cal_end'] . ' ' . $this->options['time_end']);
41 } else if (isset($this->options['last']) && !empty($this->options['last'])) {
42 $this->options['last'] = strtotime($this->options['last']);
44 if ($this->options) {
45 if (!isset($this->options['host_state_options'])) {
46 $this->options['host_state_options'] = array();
48 if (!isset($this->options['service_state_options'])) {
49 $this->options['service_state_options'] = array();
51 return;
54 # set default if no options are found
55 $defaults = array(
56 'state_type' => array('soft' => true, 'hard' => true),
57 'host_state_options' => array('r' => true, 'd' => true, 'u' => true),
58 'service_state_options' => array('r' => true, 'w' => true, 'c' => true, 'u' => true),
59 'hide_initial' => true
61 foreach($defaults as $key => $value) {
62 if(!isset($this->options[$key])) {
63 $this->options[$key] = $value;
67 if (!Auth::instance()->authorized_for('system_information')) {
68 $this->options['hide_process'] = 1;
69 $this->options['hide_commands'] = 1;
73 public function _show_log_entries()
75 showlog::show_log_entries($this->options);
78 public function basic_setup()
80 $this->xtra_js[] = 'application/media/js/jquery.datePicker.js';
81 $this->xtra_js[] = 'application/media/js/jquery.timePicker.js';
82 $this->xtra_js[] = $this->add_path('reports/js/common.js');
83 $this->xtra_js[] = $this->add_path('showlog/js/showlog.js');
86 $this->xtra_css[] = $this->add_path('reports/css/datePicker.css');
87 $this->xtra_css[] = $this->add_path('showlog/css/showlog.css');
88 $this->js_strings .= reports::js_strings();
89 $this->template->inline_js = $this->inline_js;
90 $this->template->js_strings = $this->js_strings;
92 $host_state_options = array
93 (_('Host down') => 'd',
94 _('Host unreachable') => 'u',
95 _('Host recovery') => 'r');
96 $service_state_options = array
97 (_('Service warning') => 'w',
98 _('Service unknown') => 'u',
99 _('Service critical') => 'c',
100 _('Service recovery') => 'r');
102 $this->template->content->host_state_options = $host_state_options;
103 $this->template->content->service_state_options = $service_state_options;
106 public function showlog()
108 $this->template->content = $this->add_view('showlog/showlog');
109 $this->basic_setup();
110 $this->template->title = _("Reporting ยป Event Log");
112 $is_authorized = false;
113 if (Auth::instance()->authorized_for('system_information')) {
114 $is_authorized = true;
117 $this->template->content->is_authorized = $is_authorized;
118 $this->template->content->options = $this->options;