mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-28 00:04:37 +02:00
Added unit to module name and recolocate yaxis label
This commit is contained in:
parent
42704e5981
commit
4a03298b69
@ -929,13 +929,13 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
|
|||||||
line_graph($flash_chart, $chart, $width, $height/2, $color,
|
line_graph($flash_chart, $chart, $width, $height/2, $color,
|
||||||
$legend, $long_index,
|
$legend, $long_index,
|
||||||
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
|
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
|
||||||
"", $unit, $water_mark, $config['fontpath'],
|
$title, $unit, $water_mark, $config['fontpath'],
|
||||||
$config['font_size'], $unit, $ttl, $homeurl, $backgroundColor).
|
$config['font_size'], $unit, $ttl, $homeurl, $backgroundColor).
|
||||||
'<br>'.
|
'<br>'.
|
||||||
line_graph($flash_chart, $chart_prev, $width, $height/2, $color,
|
line_graph($flash_chart, $chart_prev, $width, $height/2, $color,
|
||||||
$legend, $long_index,
|
$legend, $long_index,
|
||||||
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
|
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
|
||||||
"", $unit, $water_mark, $config['fontpath'],
|
$title, $unit, $water_mark, $config['fontpath'],
|
||||||
$config['font_size'], $unit, $ttl, $homeurl, $backgroundColor);
|
$config['font_size'], $unit, $ttl, $homeurl, $backgroundColor);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -944,7 +944,7 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
|
|||||||
line_graph($flash_chart, $chart, $width, $height, $color,
|
line_graph($flash_chart, $chart, $width, $height, $color,
|
||||||
$legend, $long_index,
|
$legend, $long_index,
|
||||||
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
|
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
|
||||||
"", $unit, $water_mark, $config['fontpath'],
|
$title, $unit, $water_mark, $config['fontpath'],
|
||||||
$config['font_size'], $unit, $ttl, $homeurl, $backgroundColor);
|
$config['font_size'], $unit, $ttl, $homeurl, $backgroundColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1778,22 +1778,12 @@ function graphic_combined_module ($module_list, $weight_list, $period,
|
|||||||
|
|
||||||
$graph_values = $temp;
|
$graph_values = $temp;
|
||||||
|
|
||||||
/*
|
|
||||||
for ($i = 0; $i < $module_number; $i++) {
|
|
||||||
if ($weight_list[$i] != 1) {
|
|
||||||
$module_name_list[$i] .= " (x". format_numeric ($weight_list[$i], 1).")";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
if($config["fixed_graph"] == false){
|
if($config["fixed_graph"] == false){
|
||||||
$water_mark = array(
|
$water_mark = array(
|
||||||
'file' => $config['homedir'] . "/images/logo_vertical_water.png",
|
'file' => $config['homedir'] . "/images/logo_vertical_water.png",
|
||||||
'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
|
'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Work around for fixed the agents name with huge size chars.
|
//Work around for fixed the agents name with huge size chars.
|
||||||
$fixed_font_size = $config['font_size'];
|
$fixed_font_size = $config['font_size'];
|
||||||
|
|
||||||
@ -4130,7 +4120,7 @@ function grafico_modulo_boolean ($agent_module_id, $period, $show_events,
|
|||||||
line_graph($flash_chart, $chart, $width, $height, $color,
|
line_graph($flash_chart, $chart, $width, $height, $color,
|
||||||
$legend, $long_index,
|
$legend, $long_index,
|
||||||
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
|
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
|
||||||
"", $unit, $water_mark, $config['fontpath'],
|
$title, $unit, $water_mark, $config['fontpath'],
|
||||||
$config['font_size'], $unit, $ttl, $homeurl, $backgroundColor);
|
$config['font_size'], $unit, $ttl, $homeurl, $backgroundColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4713,7 +4703,7 @@ function grafico_modulo_string ($agent_module_id, $period, $show_events,
|
|||||||
|
|
||||||
if ($type_graph === 'area') {
|
if ($type_graph === 'area') {
|
||||||
return area_graph($flash_chart, $chart, $width, $height, $color,
|
return area_graph($flash_chart, $chart, $width, $height, $color,
|
||||||
$legend, array(), '', "", $unit, $homeurl,
|
$legend, array(), '', $title, $unit, $homeurl,
|
||||||
$water_mark, $config['fontpath'], $config['font_size'], $unit,
|
$water_mark, $config['fontpath'], $config['font_size'], $unit,
|
||||||
1, array(), array(), 0, 0, $adapt_key, true, '', $menu);
|
1, array(), array(), 0, 0, $adapt_key, true, '', $menu);
|
||||||
}
|
}
|
||||||
@ -4722,7 +4712,7 @@ function grafico_modulo_string ($agent_module_id, $period, $show_events,
|
|||||||
line_graph($flash_chart, $chart, $width, $height, $color,
|
line_graph($flash_chart, $chart, $width, $height, $color,
|
||||||
$legend, $long_index,
|
$legend, $long_index,
|
||||||
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
|
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
|
||||||
"", $unit, $water_mark, $config['fontpath'],
|
$title, $unit, $water_mark, $config['fontpath'],
|
||||||
$config['font_size'], $unit, $ttl, $homeurl, $backgroundColor);
|
$config['font_size'], $unit, $ttl, $homeurl, $backgroundColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -974,24 +974,24 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||||||
if ($layoutData['label_position']=='left') {
|
if ($layoutData['label_position']=='left') {
|
||||||
$img = '<div style="float:right;height:'.$himg.'px;">'.
|
$img = '<div style="float:right;height:'.$himg.'px;">'.
|
||||||
grafico_modulo_sparse($id_module, $period,
|
grafico_modulo_sparse($id_module, $period,
|
||||||
0, 300, 180, '',null, false, 1, false, 0,
|
0, 300, 180, modules_get_agentmodule_name($id_module),null, false, 1, false, 0,
|
||||||
'', 0, 0, true, $only_image, '', 1, false, '',
|
modules_get_unit($id_module), 0, 0, true, $only_image, '', 1, false, '',
|
||||||
false, false, false, $layoutData['image'],
|
false, false, false, $layoutData['image'],
|
||||||
null, true, false, $type_graph) . '</div>';
|
null, true, false, $type_graph) . '</div>';
|
||||||
}
|
}
|
||||||
elseif($layoutData['label_position']=='right') {
|
elseif($layoutData['label_position']=='right') {
|
||||||
$img = '<div style="float:left;height:'.$himg.'px;">' .
|
$img = '<div style="float:left;height:'.$himg.'px;">' .
|
||||||
grafico_modulo_sparse($id_module,
|
grafico_modulo_sparse($id_module,
|
||||||
$period, 0, 300, 180, '',null, false,
|
$period, 0, 300, 180, modules_get_agentmodule_name($id_module),null, false,
|
||||||
1, false, 0, '', 0, 0, true, $only_image, '',
|
1, false, 0, modules_get_unit($id_module), 0, 0, true, $only_image, '',
|
||||||
1, false, '', false, false, false,
|
1, false, '', false, false, false,
|
||||||
$layoutData['image'], null, true,
|
$layoutData['image'], null, true,
|
||||||
false, $type_graph) . '</div>';
|
false, $type_graph) . '</div>';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$img = grafico_modulo_sparse($id_module,
|
$img = grafico_modulo_sparse($id_module,
|
||||||
$period, 0, 300, 180, '',null, false, 1,
|
$period, 0, 300, 180, modules_get_agentmodule_name($id_module),null, false, 1,
|
||||||
false, 0, '', 0, 0, true, $only_image, '',
|
false, 0, modules_get_unit($id_module), 0, 0, true, $only_image, '',
|
||||||
1, false, '', false, false, false,
|
1, false, '', false, false, false,
|
||||||
$layoutData['image'], null, true, false, $type_graph);
|
$layoutData['image'], null, true, false, $type_graph);
|
||||||
}
|
}
|
||||||
@ -1000,8 +1000,8 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||||||
if ($layoutData['label_position']=='left') {
|
if ($layoutData['label_position']=='left') {
|
||||||
$img = '<div style="float:right;height:'.$himg.'px;">' .
|
$img = '<div style="float:right;height:'.$himg.'px;">' .
|
||||||
grafico_modulo_sparse($id_module, $period,
|
grafico_modulo_sparse($id_module, $period,
|
||||||
0, $width, $height, '', null, false, 1,
|
0, $width, $height, modules_get_agentmodule_name($id_module), null, false, 1,
|
||||||
false, 0, '', 0, 0, true, $only_image, '',
|
false, 0, modules_get_unit($id_module), 0, 0, true, $only_image, '',
|
||||||
1, false, '', false, false, false,
|
1, false, '', false, false, false,
|
||||||
$layoutData['image'], null, true,
|
$layoutData['image'], null, true,
|
||||||
false, $type_graph) . '</div>';
|
false, $type_graph) . '</div>';
|
||||||
@ -1009,16 +1009,16 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||||||
elseif ($layoutData['label_position']=='right') {
|
elseif ($layoutData['label_position']=='right') {
|
||||||
$img = '<div style="float:left;height:'.$himg.'px;">' .
|
$img = '<div style="float:left;height:'.$himg.'px;">' .
|
||||||
grafico_modulo_sparse($id_module, $period,
|
grafico_modulo_sparse($id_module, $period,
|
||||||
0, $width, $height, '', null, false, 1,
|
0, $width, $height, modules_get_agentmodule_name($id_module), null, false, 1,
|
||||||
false, 0, '', 0, 0, true, $only_image,
|
false, 0, modules_get_unit($id_module), 0, 0, true, $only_image,
|
||||||
'', 1, false, '', false, false, false,
|
'', 1, false, modules_get_unit($id_module), false, false, false,
|
||||||
$layoutData['image'], null, true,
|
$layoutData['image'], null, true,
|
||||||
false, $type_graph) . '</div>';
|
false, $type_graph) . '</div>';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$img = grafico_modulo_sparse($id_module,
|
$img = grafico_modulo_sparse($id_module,
|
||||||
$period, 0, $width, $height, '', null,
|
$period, 0, $width, $height, modules_get_agentmodule_name($id_module), null,
|
||||||
false, 1, false, 0, '', 0, 0, true,
|
false, 1, false, 0, modules_get_unit($id_module), 0, 0, true,
|
||||||
$only_image, '', 1, false, '', false,
|
$only_image, '', 1, false, '', false,
|
||||||
false, false, $layoutData['image'],
|
false, false, $layoutData['image'],
|
||||||
null, false, true, $type_graph);
|
null, false, true, $type_graph);
|
||||||
|
@ -564,7 +564,8 @@ function line_graph($flash_chart, $chart_data, $width, $height, $color,
|
|||||||
$vconsole,
|
$vconsole,
|
||||||
false,
|
false,
|
||||||
$percentil_values,
|
$percentil_values,
|
||||||
$threshold_data);
|
$threshold_data,
|
||||||
|
$xaxisname);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$graph = array();
|
$graph = array();
|
||||||
|
@ -1392,7 +1392,10 @@ function pandoraFlotArea(graph_id, values, labels, labels_long, legend,
|
|||||||
// minTickSize
|
// minTickSize
|
||||||
var count_data = datas[0].data.length;
|
var count_data = datas[0].data.length;
|
||||||
var min_tick_pixels = 80;
|
var min_tick_pixels = 80;
|
||||||
//~ var steps = parseInt( count_data / (width/min_tick_pixels));
|
|
||||||
|
if (unit != "") {
|
||||||
|
xaxisname = xaxisname + " (" + unit + ")"
|
||||||
|
}
|
||||||
|
|
||||||
var options = {
|
var options = {
|
||||||
series: {
|
series: {
|
||||||
@ -1428,6 +1431,7 @@ function pandoraFlotArea(graph_id, values, labels, labels_long, legend,
|
|||||||
tickFormatter: yFormatter,
|
tickFormatter: yFormatter,
|
||||||
color: '',
|
color: '',
|
||||||
alignTicksWithAxis: 1,
|
alignTicksWithAxis: 1,
|
||||||
|
labelWidth: 30,
|
||||||
position: 'left',
|
position: 'left',
|
||||||
font: font,
|
font: font,
|
||||||
reserveSpace: true,
|
reserveSpace: true,
|
||||||
@ -1763,7 +1767,7 @@ function pandoraFlotArea(graph_id, values, labels, labels_long, legend,
|
|||||||
|
|
||||||
function yFormatter(v, axis) {
|
function yFormatter(v, axis) {
|
||||||
axis.datamin = 0;
|
axis.datamin = 0;
|
||||||
var formatted = number_format(v,force_integer,unit);
|
var formatted = number_format(v, force_integer, "");
|
||||||
|
|
||||||
return '<div class='+font+' style="font-size:'+font_size+'pt;">'+formatted+'</div>';
|
return '<div class='+font+' style="font-size:'+font_size+'pt;">'+formatted+'</div>';
|
||||||
}
|
}
|
||||||
@ -1917,7 +1921,7 @@ function adjust_menu(graph_id, plot, parent_height, width) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
offset = $('#' + graph_id)[0].offsetTop;
|
offset = $('#' + graph_id)[0].offsetTop;
|
||||||
console.log(offset);
|
|
||||||
$('#menu_' + graph_id).css('top', ((offset) + 'px'));
|
$('#menu_' + graph_id).css('top', ((offset) + 'px'));
|
||||||
|
|
||||||
//$('#legend_' + graph_id).css('width',plot.width());
|
//$('#legend_' + graph_id).css('width',plot.width());
|
||||||
@ -1986,6 +1990,7 @@ function get_event_details (event_ids) {
|
|||||||
function adjust_left_width_canvas(adapter_id, adapted_id) {
|
function adjust_left_width_canvas(adapter_id, adapted_id) {
|
||||||
var adapter_left_margin = $('#'+adapter_id+' .yAxis .tickLabel').width();
|
var adapter_left_margin = $('#'+adapter_id+' .yAxis .tickLabel').width();
|
||||||
var adapted_pix = $('#'+adapted_id).width();
|
var adapted_pix = $('#'+adapted_id).width();
|
||||||
|
|
||||||
var new_adapted_width = adapted_pix - adapter_left_margin;
|
var new_adapted_width = adapted_pix - adapter_left_margin;
|
||||||
|
|
||||||
$('#'+adapted_id).width(new_adapted_width);
|
$('#'+adapted_id).width(new_adapted_width);
|
||||||
|
@ -138,7 +138,8 @@ function flot_line_stacked_graph($chart_data, $width, $height, $color,
|
|||||||
$chart_extra_data = array(), $yellow_threshold = 0,
|
$chart_extra_data = array(), $yellow_threshold = 0,
|
||||||
$red_threshold = 0, $adapt_key= '', $force_integer = false,
|
$red_threshold = 0, $adapt_key= '', $force_integer = false,
|
||||||
$series_suffix_str = '', $menu = true, $background_color = 'white',
|
$series_suffix_str = '', $menu = true, $background_color = 'white',
|
||||||
$dashboard = false, $vconsole = false, $agent_module_id = 0) {
|
$dashboard = false, $vconsole = false, $agent_module_id = 0,
|
||||||
|
$xaxisname = "") {
|
||||||
|
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
@ -147,7 +148,7 @@ function flot_line_stacked_graph($chart_data, $width, $height, $color,
|
|||||||
$water_mark, $serie_types, $chart_extra_data, $yellow_threshold,
|
$water_mark, $serie_types, $chart_extra_data, $yellow_threshold,
|
||||||
$red_threshold, $adapt_key, $force_integer, $series_suffix_str,
|
$red_threshold, $adapt_key, $force_integer, $series_suffix_str,
|
||||||
$menu, $background_color, $dashboard, $vconsole,
|
$menu, $background_color, $dashboard, $vconsole,
|
||||||
$agent_module_id, $font, $font_size);
|
$agent_module_id, $font, $font_size, $xaxisname);
|
||||||
}
|
}
|
||||||
|
|
||||||
function flot_line_simple_graph($chart_data, $width, $height, $color,
|
function flot_line_simple_graph($chart_data, $width, $height, $color,
|
||||||
@ -157,7 +158,8 @@ function flot_line_simple_graph($chart_data, $width, $height, $color,
|
|||||||
$red_threshold = 0, $adapt_key= '', $force_integer = false,
|
$red_threshold = 0, $adapt_key= '', $force_integer = false,
|
||||||
$series_suffix_str = '', $menu = true, $background_color = 'white',
|
$series_suffix_str = '', $menu = true, $background_color = 'white',
|
||||||
$dashboard = false, $vconsole = false, $agent_module_id = 0,
|
$dashboard = false, $vconsole = false, $agent_module_id = 0,
|
||||||
$percentil_values = array(), $threshold_data = array()) {
|
$percentil_values = array(), $threshold_data = array(),
|
||||||
|
$xaxisname = '') {
|
||||||
|
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
@ -166,7 +168,7 @@ function flot_line_simple_graph($chart_data, $width, $height, $color,
|
|||||||
$water_mark, $serie_types, $chart_extra_data, $yellow_threshold,
|
$water_mark, $serie_types, $chart_extra_data, $yellow_threshold,
|
||||||
$red_threshold, $adapt_key, $force_integer, $series_suffix_str,
|
$red_threshold, $adapt_key, $force_integer, $series_suffix_str,
|
||||||
$menu, $background_color, $dashboard, $vconsole,
|
$menu, $background_color, $dashboard, $vconsole,
|
||||||
$agent_module_id, $font, $font_size, '', $percentil_values,
|
$agent_module_id, $font, $font_size, $xaxisname, $percentil_values,
|
||||||
$threshold_data);
|
$threshold_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -180,7 +182,6 @@ function flot_area_graph($chart_data, $width, $height, $color, $legend,
|
|||||||
|
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
|
|
||||||
include_javascript_dependencies_flot_graph();
|
include_javascript_dependencies_flot_graph();
|
||||||
|
|
||||||
$menu = (int)$menu;
|
$menu = (int)$menu;
|
||||||
|
@ -141,16 +141,6 @@ if (isset($graph['percentil'])){
|
|||||||
$percentil = $graph['percentil'];
|
$percentil = $graph['percentil'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
$colors = array();
|
|
||||||
$colors['pep1'] = array('border' => '#000000', 'color' => '#000000', 'alpha' => 50);
|
|
||||||
$colors['pep2'] = array('border' => '#ff7f00', 'color' => '#ff0000', 'alpha' => 50);
|
|
||||||
$colors['pep3'] = array('border' => '#ff0000', 'color' => '#00ff00', 'alpha' => 50);
|
|
||||||
$colors['pep4'] = array('border' => '#000000', 'color' => '#0000ff', 'alpha' => 50);
|
|
||||||
*/
|
|
||||||
|
|
||||||
$step = 1;
|
$step = 1;
|
||||||
if ($force_steps) {
|
if ($force_steps) {
|
||||||
$pixels_between_xdata = 50;
|
$pixels_between_xdata = 50;
|
||||||
@ -357,26 +347,6 @@ if($countlegend > 15){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*foreach($colors as $i => $color) {
|
|
||||||
if (isset($color['border'])) {
|
|
||||||
$rgb['border'] = html_html2rgb($color['border']);
|
|
||||||
$rgb_color[$i]['border']['R'] = $rgb['border'][0];
|
|
||||||
$rgb_color[$i]['border']['G'] = $rgb['border'][1];
|
|
||||||
$rgb_color[$i]['border']['B'] = $rgb['border'][2];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($color['color'])) {
|
|
||||||
$rgb['color'] = html_html2rgb($color['color']);
|
|
||||||
$rgb_color[$i]['color']['R'] = $rgb['color'][0];
|
|
||||||
$rgb_color[$i]['color']['G'] = $rgb['color'][1];
|
|
||||||
$rgb_color[$i]['color']['B'] = $rgb['color'][2];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($color['color'])) {
|
|
||||||
$rgb_color[$i]['alpha'] = $color['alpha'];
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
ob_get_clean(); //HACK TO EAT ANYTHING THAT CORRUPS THE IMAGE FILE
|
ob_get_clean(); //HACK TO EAT ANYTHING THAT CORRUPS THE IMAGE FILE
|
||||||
|
|
||||||
switch ($graph_type) {
|
switch ($graph_type) {
|
||||||
@ -807,10 +777,7 @@ function pch_vertical_graph ($graph_type, $index, $data, $width, $height,
|
|||||||
if (!is_array($legend) || empty($legend)) {
|
if (!is_array($legend) || empty($legend)) {
|
||||||
unset($legend);
|
unset($legend);
|
||||||
}
|
}
|
||||||
/*$legend=array('pep1' => 'pep1','pep2' => 'pep2','pep3' => 'pep3','pep4' => 'pep4');
|
|
||||||
$data=array(array('pep1' => 1, 'pep2' => 1, 'pep3' => 3, 'pep4' => 3), array('pep1' => 1, 'pep2' => 3, 'pep3' => 1,'pep4' => 4), array('pep1' => 3, 'pep2' => 1, 'pep3' => 1,'pep4' =>1), array('pep1' => 1, 'pep2' =>1, 'pep3' =>1,'pep4' =>0));
|
|
||||||
$index=array(1,2,3,4);
|
|
||||||
*/
|
|
||||||
if (is_array(reset($data))) {
|
if (is_array(reset($data))) {
|
||||||
$data2 = array();
|
$data2 = array();
|
||||||
foreach ($data as $i =>$values) {
|
foreach ($data as $i =>$values) {
|
||||||
@ -882,7 +849,6 @@ function pch_vertical_graph ($graph_type, $index, $data, $width, $height,
|
|||||||
$MyData->setSerieWeight($point_id, $config['custom_graph_width'] * $reduction_coefficient);
|
$MyData->setSerieWeight($point_id, $config['custom_graph_width'] * $reduction_coefficient);
|
||||||
}
|
}
|
||||||
|
|
||||||
//$MyData->addPoints($data,"Yaxis");
|
|
||||||
$MyData->setAxisName(0,$unit);
|
$MyData->setAxisName(0,$unit);
|
||||||
$MyData->addPoints($index,"Xaxis");
|
$MyData->addPoints($index,"Xaxis");
|
||||||
$MyData->setSerieDescription("Xaxis", $xaxisname);
|
$MyData->setSerieDescription("Xaxis", $xaxisname);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user