X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=reporting%2Fincludes%2Fclass.graphic.inc;h=75e035192d25f6e52c9bd2d8dade4921585c4a12;hb=9a98bb3bc7a94f1a8e47f8dab45a87c8b4212080;hp=20022f1b809145dae49d0c2e73210b95ffe40bb5;hpb=49d2702ed98abe7a564a4abb4c8c5fa225f362e8;p=fa-stable.git diff --git a/reporting/includes/class.graphic.inc b/reporting/includes/class.graphic.inc index 20022f1b..75e03519 100644 --- a/reporting/includes/class.graphic.inc +++ b/reporting/includes/class.graphic.inc @@ -147,11 +147,18 @@ class graph var $h3d = 15; // 3D height var $built_in = true; var $fontfile = ""; - + var $encoding; + function graph() { - $this->x = $this->y = $this->z = array(); + $this->encoding = $_SESSION['language']->encoding; + $path = dirname(__FILE__).'/../fonts/'; + // If you use utf-8 encoding you have to download and install FreeSans.ttf font. + // It is not bundled with application due to its size. + $this->fontfile = $this->encoding=='UTF-8' ? $path.'FreeSans.ttf' : $path.'LiberationSans-Regular.ttf'; + + $this->x = $this->y = $this->z = array(); $this->biggest_x = NULL; $this->biggest_y = NULL; $this->alternate_x = false; @@ -203,6 +210,8 @@ class graph } $this->sum_total = array_sum($this->y); + if ($this->sum_total == 0) + $this->sum_total = 1; $this->space_between_bars += ($this->graphic_2_exists == true) ? 10 : 0; $this->calculate_higher_value(); @@ -222,8 +231,8 @@ class graph // Fill background imagefill($this->img, 0, 0, $this->color['background']); //imagefilledrectangle($this->img, 0, 0, $this->width, $this->height, $this->color['background']); - if ($border) - imagerectangle($this->img, 0, 0, $this->width-1, $this->height-1, imagecolorallocate($this->img, 100, 150, 200)); + //if ($border) + // imagerectangle($this->img, 0, 0, $this->width-1, $this->height-1, imagecolorallocate($this->img, 100, 150, 200)); // Draw title if (!empty($this->title)) @@ -396,7 +405,8 @@ class graph imagefilledrectangle($this->img, $x1, $y1, $x2, $y2, $this->color['bars']); $this->_imagestring($this->img, $this->size, ($x2+7), ($y1+2), $this->number_formated($this->y[$i], $this->dec2), $this->color['bars_shadow']); - $this->_imagestring($this->img, $this->size, ($x1 - ((strlen($parameter)*7)+7)), ($y1+2), $parameter, $this->color['axis_values']); + //$this->_imagestring($this->img, $this->size, ($x1 - ((strlen($parameter)*7)+7)), ($y1+2), $parameter, $this->color['axis_values']); + $this->_imagestring($this->img, $this->size, 30, ($y1+2), $parameter, $this->color['axis_values']); } } @@ -811,8 +821,10 @@ class graph { // Office case 1: - $this->color['title'] = imagecolorallocate($this->img, 50, 50, 50); - $this->color['background'] = imagecolorallocate($this->img, 238, 255, 238); + //$this->color['title'] = imagecolorallocate($this->img, 50, 50, 50); + $this->color['title'] = imagecolorallocate($this->img, 40, 70, 130); + //$this->color['background'] = imagecolorallocate($this->img, 238, 255, 238); + $this->color['background'] = imagecolorallocate($this->img, 255, 255, 255); $this->color['axis_values'] = imagecolorallocate($this->img, 50, 50, 50); $this->color['axis_line'] = imagecolorallocate($this->img, 100, 100, 100); $this->color['bg_lines'] = imagecolorallocate($this->img, 220, 220, 220); @@ -893,11 +905,13 @@ class graph // Spring case 3: $this->color['title'] = imagecolorallocate($this->img, 250, 50, 50); - $this->color['background'] = imagecolorallocate($this->img, 250, 250, 220); + //$this->color['background'] = imagecolorallocate($this->img, 250, 250, 220); + $this->color['background'] = imagecolorallocate($this->img, 255, 255, 255); $this->color['axis_values'] = imagecolorallocate($this->img, 50, 150, 50); $this->color['axis_line'] = imagecolorallocate($this->img, 50, 100, 50); $this->color['bg_lines'] = imagecolorallocate($this->img, 200, 224, 180); - $this->color['bg_legend'] = imagecolorallocate($this->img, 230, 230, 200); + //$this->color['bg_legend'] = imagecolorallocate($this->img, 230, 230, 200); + $this->color['bg_legend'] = imagecolorallocate($this->img, 255, 255, 255); if (preg_match("/^(1|2)$/", $this->type)) { @@ -937,6 +951,14 @@ class graph { if ($alt && strlen($string) > 12) $string = substr($string, 0, 12); + + if ($this->encoding != 'UTF-8') { + if (function_exists('iconv')) + $string = iconv($this->encoding, 'UTF-8', $string); + else + $string = mb_convert_encoding($string, 'UTF-8', $this->encoding); + } + if ($this->built_in) { imagestring($img, $size, $x, $y + $alt, $string, $col); @@ -958,6 +980,7 @@ class graph // $angle = -15; //else $angle = 0; + imagettftext($img, $size, $angle, $x, $y + $alt, $col, $this->fontfile, $string); } }