projects
/
fa-stable.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merged changes up to 2.3.16 into unstable
[fa-stable.git]
/
reporting
/
includes
/
class.graphic.inc
diff --git
a/reporting/includes/class.graphic.inc
b/reporting/includes/class.graphic.inc
index 02af5f2ad97cb4287a4385a07ee0f1554ccb345a..31f0105fdb7276d4f40722d72e7270d57b65d0d2 100644
(file)
--- 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 $h3d = 15; // 3D height
var $built_in = true;
var $fontfile = "";
-
+ var $encoding;
+
function graph()
{
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;
$this->biggest_x = NULL;
$this->biggest_y = NULL;
$this->alternate_x = false;
@@
-490,6
+497,7
@@
class graph
foreach ($this->x as $i => $parameter)
{
$size = $this->y[$i] * 360 / $this->sum_total;
foreach ($this->x as $i => $parameter)
{
$size = $this->y[$i] * 360 / $this->sum_total;
+ $size = round2($size, 0);
$sizes[] = $size;
$start += $size;
}
$sizes[] = $size;
$start += $size;
}
@@
-511,7
+519,8
@@
class graph
for ($i = $this->h3d; $i >= 0; $i--)
{
//imagearc($this->img, $center_x, ($center_y+$i), $width, $height, $start, ($start+$size), $this->color[$color]);
for ($i = $this->h3d; $i >= 0; $i--)
{
//imagearc($this->img, $center_x, ($center_y+$i), $width, $height, $start, ($start+$size), $this->color[$color]);
- imagefilledarc($this->img, $center_x, ($center_y+$i), $width, $height, $start, ($start+$size), $this->color[$color], IMG_ARC_NOFILL);
+ if ($size >= 1)
+ imagefilledarc($this->img, $center_x, ($center_y+$i), $width, $height, $start, ($start+$size), $this->color[$color], IMG_ARC_NOFILL);
}
$start += $size;
}
}
$start += $size;
}
@@
-527,8
+536,8
@@
class graph
$num_color -= 5;
}
$color = 'arc_' . $num_color;
$num_color -= 5;
}
$color = 'arc_' . $num_color;
-
- imagefilledarc($this->img, $center_x, $center_y, ($width+2), ($height+2), $start, ($start+$size), $this->color[$color], IMG_ARC_EDGED);
+ if ($size >= 1)
+
imagefilledarc($this->img, $center_x, $center_y, ($width+2), ($height+2), $start, ($start+$size), $this->color[$color], IMG_ARC_EDGED);
$start += $size;
}
}
$start += $size;
}
}
@@
-545,7
+554,8
@@
class graph
}
$color = 'arc_' . $num_color;
$color_shadow = 'arc_' . $num_color . '_shadow';
}
$color = 'arc_' . $num_color;
$color_shadow = 'arc_' . $num_color . '_shadow';
- imagefilledarc($this->img, $center_x, $center_y, $width, $height, $start, ($start+$size), $this->color[$color], IMG_ARC_PIE);
+ if ($size >= 1)
+ imagefilledarc($this->img, $center_x, $center_y, $width, $height, $start, ($start+$size), $this->color[$color], IMG_ARC_PIE);
$start += $size;
}
imagefilledarc($this->img, $center_x, $center_y, 100, 100, 0, 360, $this->color['background'], IMG_ARC_PIE);
$start += $size;
}
imagefilledarc($this->img, $center_x, $center_y, 100, 100, 0, 360, $this->color['background'], IMG_ARC_PIE);
@@
-597,7
+607,7
@@
class graph
$this->graphic_area_width = ($this->space_between_dots * $this->total_parameters) - 10;
$this->graphic_area_x1 += $this->string_width(($this->higher_value_str), $this->size);
$this->width += $this->graphic_area_x1 + 20;
$this->graphic_area_width = ($this->space_between_dots * $this->total_parameters) - 10;
$this->graphic_area_x1 += $this->string_width(($this->higher_value_str), $this->size);
$this->width += $this->graphic_area_x1 + 20;
- $this->width += ($this->legend_exists == true) ? 40 : ((7 * strlen($this->axis_x)) +
1
0);
+ $this->width += ($this->legend_exists == true) ? 40 : ((7 * strlen($this->axis_x)) +
3
0);
break;
// Lines
break;
// Lines
@@
-606,7
+616,7
@@
class graph
$this->graphic_area_width = ($this->space_between_dots * $this->total_parameters) - 10;
$this->graphic_area_x1 += $this->string_width(($this->higher_value_str), $this->size);
$this->width += $this->graphic_area_x1 + 20;
$this->graphic_area_width = ($this->space_between_dots * $this->total_parameters) - 10;
$this->graphic_area_x1 += $this->string_width(($this->higher_value_str), $this->size);
$this->width += $this->graphic_area_x1 + 20;
- $this->width += ($this->legend_exists == true) ? 40 : ((7 * strlen($this->axis_x)) +
1
0);
+ $this->width += ($this->legend_exists == true) ? 40 : ((7 * strlen($this->axis_x)) +
3
0);
break;
// Pie
break;
// Pie
@@
-624,6
+634,7
@@
class graph
break;
}
break;
}
+ $this->graphic_area_width = max($this->graphic_area_width, $this->string_width($this->title, $this->size));
$this->width += $this->graphic_area_width;
$this->width += $this->legend_box_width;
$this->width += $this->graphic_area_width;
$this->width += $this->legend_box_width;
@@
-724,7
+735,8
@@
class graph
{
if (!empty($this->axis_x))
{
{
if (!empty($this->axis_x))
{
- $this->_imagestring($this->img, $this->size, ((($x1+$x2)/2) - (strlen($this->axis_x)*7/2)), $y, $this->axis_x, $this->color['title']);
+ $this->_imagestring($this->img, $this->size, ((($x1+$x2)/2) - (strlen($this->axis_x)*7/2)), $y,
+ $this->axis_x." (".$this->graphic_1.")", $this->color['title']);
$y += 25;
}
$y += 25;
}
@@
-944,6
+956,14
@@
class graph
{
if ($alt && strlen($string) > 12)
$string = substr($string, 0, 12);
{
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);
if ($this->built_in)
{
imagestring($img, $size, $x, $y + $alt, $string, $col);
@@
-965,6
+985,7
@@
class graph
// $angle = -15;
//else
$angle = 0;
// $angle = -15;
//else
$angle = 0;
+
imagettftext($img, $size, $angle, $x, $y + $alt, $col, $this->fontfile, $string);
}
}
imagettftext($img, $size, $angle, $x, $y + $alt, $col, $this->fontfile, $string);
}
}