|
|
|
@ -604,7 +604,8 @@ if (isset ($_GET['studentoverview'])) { |
|
|
|
|
$user_id = api_get_user_id(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$category = Category :: load ($_GET['cat_id']); |
|
|
|
|
$category = Category :: load($category); //hack replace $category = Category :: load ($_GET['cat_id']); to get de course name in certificates |
|
|
|
|
|
|
|
|
|
if ($category[0]->is_certificate_available($user_id)) { |
|
|
|
|
$user= get_user_info_from_id($user_id); |
|
|
|
|
$scoredisplay = ScoreDisplay :: instance(); |
|
|
|
@ -660,6 +661,15 @@ if (isset ($_GET['studentoverview'])) { |
|
|
|
|
if ($_in_course === true) { |
|
|
|
|
// When *inside* a course, we want to make sure there is one (and only |
|
|
|
|
// one) category for this course or for this session. |
|
|
|
|
|
|
|
|
|
//hack for delete a gradebook from inside course |
|
|
|
|
$clean_deletecat=Security::remove_XSS($_GET['deletecat']); |
|
|
|
|
if (!empty($clean_deletecat)) |
|
|
|
|
{ |
|
|
|
|
exit; |
|
|
|
|
} |
|
|
|
|
//end hack |
|
|
|
|
|
|
|
|
|
$cats = Category :: load(null, null, $course_code, null, null, $session_id, false); |
|
|
|
|
if (empty($cats)) { |
|
|
|
|
// There is no category for this course+session, so create one |
|
|
|
@ -737,6 +747,61 @@ if ($category != '0') { |
|
|
|
|
$course_id=Database::get_course_by_category($category_id); |
|
|
|
|
$show_message=$cat->show_message_resource_delete($course_id); |
|
|
|
|
if ($show_message=='') { |
|
|
|
|
|
|
|
|
|
//hack for inside courses menu cat |
|
|
|
|
if (api_is_allowed_to_edit()) { |
|
|
|
|
|
|
|
|
|
$op_cat_weight= get_lang('Weight').': '.$cats[0]->get_weight(); |
|
|
|
|
$opt_cat_cert_min= get_lang('CertificateMinScore').': '.$cats[0]->get_certificate_min_score(); |
|
|
|
|
$opt_cat_descrip= get_lang('GradebookDescriptionLog').': '.$cats[0]->get_description(); |
|
|
|
|
|
|
|
|
|
$visibility_icon= ($cats[0]->is_visible() == 0) ? 'invisible' : 'visible'; |
|
|
|
|
$visibility_command= ($cats[0]->is_visible() == 0) ? 'set_visible' : 'set_invisible'; |
|
|
|
|
echo '<div class="actions" align="right">'; |
|
|
|
|
$modify_icons= '<a href="gradebook_edit_cat.php?editcat=' . $cats[0]->get_id() . ' &cidReq='.$cats[0]->get_course_code().'"><img src="../img/edit.gif" border="0" title="' . get_lang('EditCategory') . '" alt="'.get_lang('EditCategory').'" />'.get_lang('EditCategory').'</a>'; |
|
|
|
|
|
|
|
|
|
$modify_icons .= ' <a href="' . api_get_self() . '?deletecat=' . $cats[0]->get_id() . '&selectcat=0&cidReq='.$cats[0]->get_course_code().'" onclick="return confirmation();"><img src="../img/delete.gif" border="0" title="' . get_lang('DeleteAll') . '" alt="'.get_lang('DeleteAll').'" />'.get_lang('DeleteAll').'</a>'; |
|
|
|
|
|
|
|
|
|
$modify_icons .= ' <a href="' . api_get_self() . '?visiblecat=' . $cats[0]->get_id() . '&' . $visibility_command . '=&selectcat=0 "><img src="../img/' . $visibility_icon . '.gif" border="0" title="' . get_lang('Visible') . '" alt="'.get_lang('Visible').'" />'.get_lang('Visible').'</a>'; |
|
|
|
|
echo '<div align="left"><img src="../img/info3.gif" border="0" title="' . $opt_cat_descrip . '" alt="'.$opt_cat_descrip.'" /> '.$op_cat_weight.' '.$opt_cat_cert_min.'</div>'; |
|
|
|
|
echo $modify_icons; |
|
|
|
|
echo '</div>'; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
// generating the total score for a course |
|
|
|
|
$stud_id= api_get_user_id(); |
|
|
|
|
$cats_course = Category :: load ($id, null, null, null, null, null, false); |
|
|
|
|
$alleval_course= $cats_course[0]->get_evaluations($stud_id,true); |
|
|
|
|
$alllink_course= $cats_course[0]->get_links($stud_id,true); |
|
|
|
|
$evals_links = array_merge($alleval_course, $alllink_course); |
|
|
|
|
$item_value=0; |
|
|
|
|
$item_total=0; |
|
|
|
|
for ($count=0; $count < count($evals_links); $count++) { |
|
|
|
|
$item = $evals_links[$count]; |
|
|
|
|
$score = $item->calc_score($stud_id); |
|
|
|
|
|
|
|
|
|
$score_denom=($score[1]==0) ? 1 : $score[1]; |
|
|
|
|
$item_value+=$score[0]/$score_denom*$item->get_weight(); |
|
|
|
|
$item_total+=$item->get_weight(); |
|
|
|
|
} |
|
|
|
|
$item_value = number_format($item_value, 2, '.', ' '); |
|
|
|
|
$cattotal = Category :: load($id); |
|
|
|
|
$scoretotal= $cattotal[0]->calc_score(api_get_user_id()); |
|
|
|
|
$scoretotal_display = (isset($scoretotal)? round($scoretotal[0],2).'/'.round($scoretotal[1],2).'('.round(($scoretotal[0] / $scoretotal[1]) * 100,2) . ' %)': '-'); |
|
|
|
|
|
|
|
|
|
//show certificate |
|
|
|
|
$certificate_min_score=$cats[0]->get_certificate_min_score(); |
|
|
|
|
if (isset($certificate_min_score) && (int)$item_value >= (int)$certificate_min_score) { |
|
|
|
|
$certificates = '<a href="'.api_get_path(WEB_CODE_PATH) .'gradebook/'.$_SESSION['gradebook_dest'].'?export_certificate=yes&cat_id='.$cats[0]->get_course_code().'"><img src="'.api_get_path(WEB_CODE_PATH) . 'img/dokeos.gif" />'.get_lang('Certificates').'</a> '.get_lang('langTotal').': '.$scoretotal_display; |
|
|
|
|
|
|
|
|
|
echo '<div class="actions" align="right">'; |
|
|
|
|
echo $certificates; |
|
|
|
|
echo '</div>'; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} //end hack |
|
|
|
|
|
|
|
|
|
DisplayGradebook :: display_header_gradebook($cats[0], 0, $category_id, $is_course_admin, $is_platform_admin, $simple_search_form, false, true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|