$id_graph]); if ($res) { $result = ui_print_success_message(__('Successfully deleted'), '', true); } else { $result = ui_print_error_message(__('Not deleted. Error deleting data'), '', true); } $res = db_process_sql_delete('tgraph', ['id_graph' => $id_graph]); if ($res) { $result = ui_print_success_message(__('Successfully deleted'), '', true); } else { $result = ui_print_error_message(__('Not deleted. Error deleting data'), '', true); } echo $result; } else { db_pandora_audit( AUDIT_LOG_ACL_VIOLATION, 'Trying to delete a graph from access graph builder' ); include 'general/noaccess.php'; exit; } } if ($view_graph) { $sql = "SELECT * FROM tgraph_source WHERE id_graph = $id_graph"; $sources = db_get_all_rows_sql($sql); if ($sources === false) { $sources = []; } $sql = "SELECT * FROM tgraph WHERE id_graph = $id_graph"; $graph = db_get_row_sql($sql); $id_user = $graph['id_user']; $private = $graph['private']; $width = $graph['width']; $height = ($graph['height'] + count($sources) * 10); $zoom = (int) get_parameter('zoom', 0); // Increase the height to fix the leyend rise if ($zoom > 0) { switch ($zoom) { case 1: $width = 500; $height = (200 + count($sources) * 15); break; case 2: $width = 650; $height = (300 + count($sources) * 10); break; case 3: $width = 770; $height = (400 + count($sources) * 5); break; } } // Get different date to search the report. $date = (string) get_parameter('date', date(DATE_FORMAT)); $time = (string) get_parameter('time', date(TIME_FORMAT)); $unixdate = strtotime($date.' '.$time); $period = (int) get_parameter('period'); if (! $period) { $period = $graph['period']; } else { $period = $period; } $events = $graph['events']; $description = $graph['description']; $stacked = (int) get_parameter('stacked', -1); $percentil = ($graph['percentil']) ? 1 : null; $check = get_parameter('threshold', false); $fullscale = ($graph['fullscale']) ? 1 : null; if ($check == CUSTOM_GRAPH_BULLET_CHART_THRESHOLD) { $check = true; $stacked = CUSTOM_GRAPH_BULLET_CHART_THRESHOLD; } if ($stacked == -1) { $stacked = $graph['stacked']; } if ($stacked == CUSTOM_GRAPH_BULLET_CHART || $stacked == CUSTOM_GRAPH_BULLET_CHART_THRESHOLD) { $height = 50; } if ($stacked == CUSTOM_GRAPH_GAUGE) { // Use the defined graph height, that's why // the user can setup graph height. $height = $graph['height']; } $name = $graph['name']; if (($graph['private'] == 1) && ($graph['id_user'] != $id_user)) { db_pandora_audit( AUDIT_LOG_ACL_VIOLATION, 'Trying to access to a custom graph not allowed' ); include 'general/noaccess.php'; exit; } html_print_input_hidden('line_width_graph', $config['custom_graph_width']); html_print_input_hidden('custom_graph', 1); $url = 'index.php?'.'sec=reporting&'.'sec2=operation/reporting/graph_viewer&'."id=$id_graph&".'view_graph=1'; $options = []; if (check_acl_restricted_all($config['id_user'], $graph['id_group'], 'RW') || check_acl_restricted_all($config['id_user'], $graph['id_group'], 'RM') ) { $options = [ 'graph_list' => [ 'active' => false, 'text' => ''.html_print_image( 'images/logs@svg.svg', true, [ 'title' => __('Graph list'), 'class' => 'main_menu_icon invert_filter', ] ).'', ], 'main' => [ 'active' => false, 'text' => ''.html_print_image( 'images/graph@svg.svg', true, [ 'title' => __('Main data'), 'class' => 'invert_filter', ] ).'', ], 'graph_editor' => [ 'active' => false, 'text' => ''.html_print_image( 'images/builder@svg.svg', true, [ 'title' => __('Graph editor'), 'class' => 'main_menu_icon invert_filter', ] ).'', ], ]; } else { $options = [ 'graph_list' => [ 'active' => false, 'text' => ''.html_print_image('images/logs@svg.svg', true, ['title' => __('Graph list'), 'class' => 'main_menu_icon invert_filter']).'', ], ]; } $options['view']['text'] = ''.html_print_image( 'images/enable.svg', true, [ 'title' => __('View graph'), 'class' => 'main_menu_icon invert_filter', ] ).''; $options['view']['active'] = true; if ($config['pure'] == 0) { $options['screen']['text'] = "".html_print_image( 'images/fullscreen@svg.svg', true, [ 'title' => __('Full screen mode'), 'class' => 'main_menu_icon invert_filter', ] ).''; } else { $options['screen']['text'] = "".html_print_image( 'images/exit_fullscreen@svg.svg', true, [ 'title' => __('Back to normal mode'), 'class' => 'main_menu_icon invert_filter', ] ).''; // In full screen, the manage options are not available. $options = [ 'view' => $options['view'], 'screen' => $options['screen'], ]; } if (!is_ajax()) { // Header. ui_print_standard_header( $graph['name'], 'images/chart.png', false, '', false, $options, [ [ 'link' => '', 'label' => __('Reporting'), ], [ 'link' => '', 'label' => __('Custom graphs'), ], ] ); } $width = null; $height = null; $params = [ 'period' => $period, 'width' => $width, 'height' => $height, 'date' => $unixdate, 'percentil' => $percentil, 'fullscale' => $fullscale, ]; if ($stacked === CUSTOM_GRAPH_AREA || $stacked === CUSTOM_GRAPH_STACKED_AREA) { $params['type_graph'] = 'area'; } else if ($stacked === CUSTOM_GRAPH_LINE || $stacked === CUSTOM_GRAPH_STACKED_LINE) { $params['type_graph'] = 'line'; } $params_combined = [ 'stacked' => $stacked, 'id_graph' => $id_graph, ]; $graph_return = graphic_combined_module( false, $params, $params_combined ); if (is_ajax()) { echo $graph_return; return; } if ($stacked == CUSTOM_GRAPH_BULLET_CHART_THRESHOLD) { $stacked = 4; } $period_label = human_time_description_raw($period); $searchForm = '
'; $searchForm .= ""; $searchForm .= ''; $searchForm .= ''; $searchForm .= "'; $searchForm .= ''; $searchForm .= "'; $searchForm .= "'; $searchForm .= "'; $searchForm .= ''; $searchForm .= '
'; $searchForm .= html_print_label_input_block( __('Date'), html_print_input_text( 'date', $date, '', '', 10, true ) ); $searchForm .= ''; $searchForm .= html_print_label_input_block( __('Time'), html_print_input_text( 'time', $time, '', '', 7, true ) ); $searchForm .= '"; $searchForm .= html_print_label_input_block( __('Time range'), html_print_extended_select_for_time( 'period', (string) $period, 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')', '', 0, 10, true, 'width:100%', true, '', false, false, '', false, 0, null, 'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')' ) ); $searchForm .= '
"; $stackeds = []; $stackeds[0] = __('Graph defined'); $stackeds[CUSTOM_GRAPH_AREA] = __('Area'); $stackeds[CUSTOM_GRAPH_STACKED_AREA] = __('Stacked area'); $stackeds[CUSTOM_GRAPH_LINE] = __('Line'); $stackeds[CUSTOM_GRAPH_STACKED_LINE] = __('Stacked line'); $stackeds[CUSTOM_GRAPH_BULLET_CHART] = __('Bullet chart'); $stackeds[CUSTOM_GRAPH_GAUGE] = __('Gauge'); $stackeds[CUSTOM_GRAPH_HBARS] = __('Horizontal Bars'); $stackeds[CUSTOM_GRAPH_VBARS] = __('Vertical Bars'); $stackeds[CUSTOM_GRAPH_PIE] = __('Pie'); $searchForm .= html_print_label_input_block(__('Type'), html_print_select($stackeds, 'stacked', $stacked, '', '', -1, true, false, true, '', false, 'width:100%')); $searchForm .= '"; $searchForm .= html_print_label_input_block( __('Equalize maxiddmum thresholds').ui_print_help_tip( __('If an option is selected, all graphs will have the highest value from all modules included in the graph as a maximum threshold'), true ), html_print_checkbox( 'threshold', CUSTOM_GRAPH_BULLET_CHART_THRESHOLD, $check, true, false, '', false ), ['div_id' => 'thresholdDiv'] ); $searchForm .= '"; $zooms = []; $zooms[0] = __('Graph defined'); $zooms[1] = __('Zoom x1'); $zooms[2] = __('Zoom x2'); $zooms[3] = __('Zoom x3'); $searchForm .= html_print_label_input_block(__('Zoom'), html_print_select($zooms, 'zoom', $zoom, '', '', 0, true, false, true, '', false, 'width:100%')); $searchForm .= '
'; $searchForm .= html_print_div( [ 'class' => 'action-buttons', 'content' => html_print_submit_button( __('Filter'), 'submit-refresh', false, [ 'mode' => 'mini', 'icon' => 'search', ], true ), ], true ); $searchForm .= '
'; ui_toggle( $searchForm, ''.__('Filters').'', 'filter_form', '', true, false, '', 'white-box-content', 'box-flat white_table_graph fixed_filter_bar' ); if ($graph_return) { echo '
'; if (!is_ajax()) { echo ''; } echo '
'; echo '
'; echo '
'; echo $graph_return; echo '
'; echo '
'; echo '
'; echo '
'; } else { ui_print_info_message([ 'no_close' => true, 'message' => __('No data.') ]); } /* We must add javascript here. Otherwise, the date picker won't work if the date is not correct because php is returning. */ ui_include_time_picker(); ui_require_jquery_file('ui.datepicker-'.get_user_language(), 'include/javascript/i18n/'); ui_require_jquery_file(''); ?> width = '100%'; $tale->class = 'databox_frame'; $table->align = []; $table->align[2] = 'center'; $table->head = []; $table->head[0] = __('Graph name'); $table->head[1] = __('Description'); $table->data = []; foreach ($graphs as $graph) { $data = []; $data[0] = ''.$graph['name'].''; $data[1] = $graph['description']; array_push($table->data, $data); } html_print_table($table); } else { echo "
".__('There are no defined reportings').'
'; }