<?php
# Mantis - a php based bugtracking system
# Mantis is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# Mantis is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Mantis.  If not, see <http://www.gnu.org/licenses/>.

/**
 * @package MantisBT
 * @version $Id$
 * @copyright Copyright (C) 2000 - 2002  Kenzaburo Ito - kenito@300baud.org
 * @copyright Copyright (C) 2002 - 2009  Mantis Team   - mantisbt-dev@lists.sourceforge.net
 * @link http://www.mantisbt.org
 */

/**
 * Mantis Core API's
 */
require_once( '../core.php' );

$t_core_path = config_get( 'core_path' );

require_once( $t_core_path . 'graph_api.php' );

# Grab Data
# ---
$t_project_id = helper_get_current_project();

$data_category_arr = array();
$data_count_arr = array();
$t_user_id = auth_get_current_user_id();
$query = "SELECT status, COUNT( status ) as count
		FROM mantis_bug_table
		WHERE project_id=" . db_param() . " AND
			  reporter_id=" . db_param() . "
		GROUP BY status
		ORDER BY status";
$result = db_query_bound( $query, Array( $t_project_id, $t_user_id ) );
$status_count = db_num_rows( $result );

$status_arr = array();
$status_arr[10] = 0;
$status_arr[20] = 0;
$status_arr[30] = 0;
$status_arr[40] = 0;
$status_arr[50] = 0;
$status_arr[80] = 0;
$status_arr[90] = 0;
for( $i = 0;$i < $status_count;$i++ ) {
	$row = db_fetch_array( $result );
	extract( $row );

	$status_arr[$status] = $count;
}

# Setup Graph
# ---
$graph = new Graph( 150, 150, 'auto' );
$graph->SetScale( 'textint' );
$graph->SetMarginColor( 'whitesmoke' );
$graph->img->SetMargin( 30, 12, 32, 22 );

$t_label_arr[] = 'Status';
$graph->xaxis->SetTickLabels( $t_label_arr );
$graph->xaxis->SetFont( FF_FONT1 );
$graph->yaxis->SetFont( FF_FONT0 );

$graph->title->Set( $s_reporter );
$graph->title->SetFont( FF_FONT1 );
$graph->title->SetMargin( 0 );

$t_arr1 = array();
$t_arr2 = array();
$t_arr3 = array();
$t_arr4 = array();
$t_arr5 = array();
$t_arr6 = array();
$t_arr7 = array();

$t_arr1[0] = $status_arr[10];
$t_arr2[0] = $status_arr[20];
$t_arr3[0] = $status_arr[30];
$t_arr4[0] = $status_arr[40];
$t_arr5[0] = $status_arr[50];
$t_arr6[0] = $status_arr[80];
$t_arr7[0] = $status_arr[90];

$bplot1 = new BarPlot( $t_arr1 );
$bplot2 = new BarPlot( $t_arr2 );
$bplot3 = new BarPlot( $t_arr3 );
$bplot4 = new BarPlot( $t_arr4 );
$bplot5 = new BarPlot( $t_arr5 );
$bplot6 = new BarPlot( $t_arr6 );
$bplot7 = new BarPlot( $t_arr7 );

$bplot1->SetFillColor( 'indianred2' );
$bplot2->SetFillColor( 'maroon1' );
$bplot3->SetFillColor( 'gold1' );
$bplot4->SetFillColor( 'lightyellow' );
$bplot5->SetFillColor( 'cornflowerblue' );
$bplot6->SetFillColor( 'darkseagreen2' );
$bplot7->SetFillColor( 'white' );

$bplot1->SetShadow();
$bplot2->SetShadow();
$bplot3->SetShadow();
$bplot4->SetShadow();
$bplot5->SetShadow();
$bplot6->SetShadow();
$bplot7->SetShadow();

$bplot1->value->SetFont( FF_FONT0 );
$bplot2->value->SetFont( FF_FONT0 );
$bplot3->value->SetFont( FF_FONT0 );
$bplot4->value->SetFont( FF_FONT0 );
$bplot5->value->SetFont( FF_FONT0 );
$bplot6->value->SetFont( FF_FONT0 );
$bplot7->value->SetFont( FF_FONT0 );

$bplot1->value->SetColor( 'black', 'darkred' );
$bplot2->value->SetColor( 'black', 'darkred' );
$bplot3->value->SetColor( 'black', 'darkred' );
$bplot4->value->SetColor( 'black', 'darkred' );
$bplot5->value->SetColor( 'black', 'darkred' );
$bplot6->value->SetColor( 'black', 'darkred' );
$bplot7->value->SetColor( 'black', 'darkred' );

$bplot1->value->SetFormat( '%d' );
$bplot2->value->SetFormat( '%d' );
$bplot3->value->SetFormat( '%d' );
$bplot4->value->SetFormat( '%d' );
$bplot5->value->SetFormat( '%d' );
$bplot6->value->SetFormat( '%d' );
$bplot7->value->SetFormat( '%d' );

$gbarplot = new GroupBarPlot( array( $bplot1, $bplot2, $bplot3, $bplot4, $bplot5, $bplot6, $bplot7 ) );

$gbarplot->SetWidth( 1.0 );
$graph->Add( $gbarplot );

$graph->Stroke();
