error handling

This commit is contained in:
Martynas Mickevicius
2010-07-08 20:26:40 +03:00
parent 45e740e96b
commit 48f2caccae
3 changed files with 24 additions and 3 deletions

View File

@@ -36,7 +36,9 @@ function PMA_chart_status($data)
$chart = new PMA_pChart_Pie(
__('Query statistics'),
array_slice($chartData, 0, 20, true));
echo $chart->toString();
$chartCode = $chart->toString();
PMA_handle_chart_err($chart->getErrors());
echo $chartCode;
}
/*
@@ -54,7 +56,9 @@ function PMA_chart_profiling($data)
$chart = new PMA_pChart_Pie(
__('Query execution time comparison (in microseconds)'),
$chartData);
echo $chart->toString();
$chartCode = $chart->toString();
PMA_handle_chart_err($chart->getErrors());
echo $chartCode;
}
/*
@@ -205,7 +209,13 @@ function PMA_chart_results($data, &$chartSettings)
$chartCode = $chart->toString();
$chartSettings = $chart->getSettings();
PMA_handle_chart_err($chart->getErrors());
return $chartCode;
}
function PMA_handle_chart_err($errors)
{
PMA_warnMissingExtension('GD', false, 'GD extension is needed for charts.');
}
?>

View File

@@ -71,6 +71,11 @@ class PMA_Chart
*/
private $userSpecifiedSettings = null;
/*
* Error codes will be stored here
*/
protected $errors = null;
function __construct($options = null)
{
$this->userSpecifiedSettings = $options;
@@ -133,6 +138,11 @@ class PMA_Chart
{
return $this->settings;
}
public function getErrors()
{
return $this->errors;
}
}
?>

View File

@@ -136,7 +136,8 @@ abstract class PMA_pChart_Chart extends PMA_Chart
return '<img id="chart" src="data:image/png;base64,'.$this->imageEncoded.'" />';
}
else {
return __('GD library needed for chart is missing.');
$this->errors = 1; // stub
return '';
}
}