Gradebook: Add a global page for the user to be able to see all the requirement in all its courses where a gradebook is set -refs BT#21224
	
		
	
				
					
				
			
							parent
							
								
									87f83bf4f7
								
							
						
					
					
						commit
						91f9823010
					
				@ -0,0 +1,123 @@ | 
				
			||||
<?php | 
				
			||||
 | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
$cidReset = true; | 
				
			||||
require_once __DIR__.'/../inc/global.inc.php'; | 
				
			||||
 | 
				
			||||
if (api_get_configuration_value('show_all_my_gradebooks_page') !== true) { | 
				
			||||
    api_not_allowed(true); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
// Setting the tabs | 
				
			||||
$this_section = SECTION_COURSES; | 
				
			||||
 | 
				
			||||
$htmlHeadXtra[] = '<script> | 
				
			||||
var show_icon = "'.Display::returnIconPath('view_more_stats.gif').'"; | 
				
			||||
var hide_icon = "'.Display::returnIconPath('view_less_stats.gif').'"; | 
				
			||||
 | 
				
			||||
$(function() { | 
				
			||||
    $("body").on("click", ".view_children", function() { | 
				
			||||
        var id = $(this).attr("data-cat-id"); | 
				
			||||
        $(".hidden_"+id).removeClass("hidden"); | 
				
			||||
        $(this).removeClass("view_children"); | 
				
			||||
        $(this).find("img").attr("src", hide_icon); | 
				
			||||
        $(this).attr("class", "hide_children"); | 
				
			||||
    }); | 
				
			||||
 | 
				
			||||
    $("body").on("click", ".hide_children", function(event) { | 
				
			||||
        var id = $(this).attr("data-cat-id"); | 
				
			||||
        $(".hidden_"+id).addClass("hidden"); | 
				
			||||
        $(this).removeClass("hide_children"); | 
				
			||||
        $(this).addClass("view_children"); | 
				
			||||
        $(this).find("img").attr("src", show_icon); | 
				
			||||
    }); | 
				
			||||
 | 
				
			||||
        for (i=0;i<$(".actions").length;i++) { | 
				
			||||
                if ($(".actions:eq("+i+")").html()=="<table border=\"0\"></table>" || $(".actions:eq("+i+")").html()=="" || $(".actions:eq("+i+")").html()==null || $(".actions:eq("+i+")").html().split("<TBODY></TBODY>").length==2) { | 
				
			||||
                        $(".actions:eq("+i+")").hide(); | 
				
			||||
                } | 
				
			||||
        } | 
				
			||||
}); | 
				
			||||
</script>'; | 
				
			||||
 | 
				
			||||
Display::display_header(get_lang('GlobalGradebook')); | 
				
			||||
 | 
				
			||||
api_block_anonymous_users(); | 
				
			||||
 | 
				
			||||
$user_id = api_get_user_id(); | 
				
			||||
$userCoursesList = CourseManager::get_courses_list_by_user_id ($user_id, true, false, false, [], true, true); | 
				
			||||
 | 
				
			||||
foreach ($userCoursesList as $course) { | 
				
			||||
    $course_code = $course['code']; | 
				
			||||
    $stud_id = $user_id; | 
				
			||||
    $session_id = $course['session_id']; | 
				
			||||
    $course_id = $course['real_id']; | 
				
			||||
    $courseInfo = api_get_course_info($course_code); | 
				
			||||
 | 
				
			||||
    if (!empty($course['session_name'])) { | 
				
			||||
        $title = "<h2>" . $courseInfo['title'] . " (" . $course['session_name'] . ")</h2>"; | 
				
			||||
    } else { | 
				
			||||
        $title = "<h2>" . $courseInfo['title'] . "</h2>"; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    $cats = Category::load( | 
				
			||||
        null, | 
				
			||||
        null, | 
				
			||||
        $course_code, | 
				
			||||
        null, | 
				
			||||
        null, | 
				
			||||
        $session_id, | 
				
			||||
        false | 
				
			||||
    ); | 
				
			||||
 | 
				
			||||
$showTitle = true; | 
				
			||||
    foreach ($cats as $cat) { | 
				
			||||
        $allcat = $cat->get_subcategories($stud_id, $course_code, $session_id); | 
				
			||||
        $alleval = $cat->get_evaluations($stud_id, false, $course_code, $session_id); | 
				
			||||
        $alllink = $cat->get_links($stud_id, true, $course_code, $session_id); | 
				
			||||
         | 
				
			||||
        if ($cat->get_parent_id() != 0) { | 
				
			||||
            $i++; | 
				
			||||
	} else { | 
				
			||||
        if (empty($allcat) && empty($alleval) && empty($alllink)) { | 
				
			||||
            continue; | 
				
			||||
        } | 
				
			||||
            if ($showTitle) { | 
				
			||||
                echo $title; | 
				
			||||
                $showTitle = false; | 
				
			||||
            } | 
				
			||||
            // This is the father | 
				
			||||
            // Create gradebook/add gradebook links. | 
				
			||||
            DisplayGradebook::header( | 
				
			||||
                $cat, | 
				
			||||
                0, | 
				
			||||
                $cat->get_id(), | 
				
			||||
                false, | 
				
			||||
                false, | 
				
			||||
                null, | 
				
			||||
                false, | 
				
			||||
                false, | 
				
			||||
                [] | 
				
			||||
            ); | 
				
			||||
 | 
				
			||||
            $gradebookTable = new GradebookTable( | 
				
			||||
                $cat, | 
				
			||||
                $allcat, | 
				
			||||
                $alleval, | 
				
			||||
                $alllink, | 
				
			||||
                null, | 
				
			||||
                false, | 
				
			||||
                null, | 
				
			||||
                api_get_user_id(), | 
				
			||||
                [], | 
				
			||||
                [] | 
				
			||||
            ); | 
				
			||||
 | 
				
			||||
            $table = ''; | 
				
			||||
            $table = $gradebookTable->return_table(); | 
				
			||||
            echo $table; | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue