// set smarty config require_once WEBROOT . 'libraries/smarty/Smarty.class.php'; $tpl = new Smarty(); $tpl->template_dir = 'templates/'; $tpl->compile_dir = 'compile/'; // Get all project for the logged in customer or the current user. if (isset($kga['customer'])) { $arr_pct = get_arr_pct_by_knd("all", $kga['customer']['knd_ID']); } else { $arr_pct = get_arr_pct($kga['usr']['usr_grp']); } $usedEvents = array(); $xpensesOccured = false; // If there are any projects create the plot data. if (count($arr_pct) > 0) { $arr_plotdata = budget_plot_data($arr_pct, $usedEvents, $expensesOccured); $tpl->assign('arr_plotdata', $arr_plotdata); $tpl->assign('arr_pct', $arr_pct); } else { $tpl->assign('arr_pct', 0); } $chartColors = array("#efefef", "#4bb2c5", "#EAA228", "#c5b47f", "#579575", "#839557", "#958c12", "#953579", "#4b5de4", "#d8b83f", "#ff5800", "#0085cc"); $tpl->assign('chartColors', json_encode($chartColors)); // Create the keys which explain to the user which color means what. $keys = array(); $keys[] = array('color' => $chartColors[0], 'name' => $kga['lang']['ext_budget']['unusedBudget']); if ($expensesOccured) { $keys[] = array('color' => $chartColors[1], 'name' => $kga['lang']['xp_ext']['expenses']); } for ($i = 0; $i < count($usedEvents); $i++) { $keys[] = array('color' => $chartColors[($i + 2) % (count($chartColors) - 1)], 'name' => $usedEvents[$i]['evt_name']);
foreach ($projects as $index => $project) { if ($projectsFilter === false) { $projectsSelected[] = $project['projectID']; } $projects[$index]['activities'] = $database->get_activities_by_project($project['projectID']); foreach ($projects[$index]['activities'] as $activity) { if ($activitiesFilter === false) { $activitiesSelected[] = $activity['activityID']; } } } } $expensesOccurred = false; // If there are any projects create the plot data. if (count($projects) > 0) { $arr_plotdata = budget_plot_data($projects, $projectsSelected, $activitiesSelected, $expensesOccured, $kga); $renderProjects = array(); $plotData = array(); // filter out projects that are a) not selected or b) have no relevant/zero data to be displayed foreach ($projects as $project) { if (array_search($project['projectID'], $projectsSelected) === false) { continue; } $temp = $project['projectID']; if (!isset($arr_plotdata[$temp])) { continue; } // do not render projects that have only empty values if ($arr_plotdata[$temp]['total'] == 0 && $arr_plotdata[$temp]['budget'] == 0 && (!isset($arr_plotdata[$temp][0]['expenses']) || $arr_plotdata[$temp][0]['expenses'] == 0)) { continue; }