<?php /* For licensing terms, see /license.txt */ /** * Script * @package chamilo.gradebook */ /** * Init */ $language_file= array('gradebook','tracking'); require_once '../inc/global.inc.php'; require_once 'lib/be.inc.php'; require_once 'lib/gradebook_functions.inc.php'; require_once 'lib/fe/dataform.class.php'; require_once 'lib/scoredisplay.class.php'; require_once 'lib/fe/displaygradebook.php'; api_block_anonymous_users(); $eval= Evaluation :: load($_GET['selecteval']); if ($eval[0]->get_category_id() < 0) { // if category id is negative, then the evaluation's origin is a link $link= LinkFactory :: get_evaluation_link($eval[0]->get_id()); $currentcat = Category :: load($link->get_category_id()); } else { $currentcat = Category :: load($eval[0]->get_category_id()); } $interbreadcrumb[]= array ( 'url' => $_SESSION['gradebook_dest'].'?selectcat=' . $currentcat[0]->get_id(), 'name' => get_lang('ToolGradebook')); if (api_is_allowed_to_edit()) { $interbreadcrumb[]= array ( 'url' => 'gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']), 'name' => get_lang('ViewResult' )); } $displayscore = ScoreDisplay :: instance(); Display::display_header(get_lang('EvaluationStatistics')); DisplayGradebook::display_header_result($eval[0], $currentcat[0]->get_id(), 0, 'statistics'); //Bad, Regular, Good - User definitions $displays = $displayscore->get_custom_score_display_settings(); if (!$displayscore->is_custom() || empty($displays)) { if (api_is_platform_admin() || api_is_course_admin()) { Display :: display_error_message(get_lang('PleaseEnableScoringSystem'),false); } } else { $allresults = Result::load(null,null,$eval[0]->get_id()); $nr_items = array(); foreach ($displays as $itemsdisplay) { $nr_items[$itemsdisplay['display']] = 0; } $resultcount = 0; foreach ($allresults as $result) { $score = $result->get_score(); if (isset($score)) { $display = $displayscore->display_score(array($score, $eval[0]->get_max()), SCORE_CUSTOM, SCORE_ONLY_CUSTOM, true); $nr_items[$display]++; $resultcount++; } } $keys = array_keys($nr_items); // find the region with the most scores, this is 100% of the bar $highest_ratio = 0; foreach($keys as $key) { if ($nr_items[$key] > $highest_ratio) { $highest_ratio = $nr_items[$key]; } } // Generate table $stattable= '<table class="data_table" cellspacing="0" cellpadding="3">'; $stattable .= '<tr><th>' . get_lang('ScoringSystem') . '</th>'; $stattable .= '<th>' . get_lang('Percentage') . '</th>'; $stattable .= '<th>' . get_lang('CountUsers') . '</th>'; //$stattable .= '<th>' . get_lang('Statistics') . '</th></tr>'; $counter=0; foreach ($keys as $key) { $bar = ($highest_ratio > 0?($nr_items[$key] / $highest_ratio) * 100:0); $stattable .= '<tr class="row_' . ($counter % 2 == 0 ? 'odd' : 'even') . '">'; $stattable .= '<td width="150">' . $key . '</td>'; $stattable .= '<td width="550">'.Display::bar_progress($bar).'</td>'; $stattable .= '<td align="right">' . $nr_items[$key] . '</td>'; $counter++; } $stattable .= '</tr></table>'; echo $stattable; } Display :: display_footer();