You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							117 lines
						
					
					
						
							2.8 KiB
						
					
					
				
			
		
		
	
	
							117 lines
						
					
					
						
							2.8 KiB
						
					
					
				<?php
 | 
						|
/* See license terms in /license.txt */
 | 
						|
 | 
						|
require_once __DIR__.'/../inc/global.inc.php';
 | 
						|
 | 
						|
$this_section = SECTION_COURSES;
 | 
						|
$exercise_id = (isset($_GET['exerciseId']) && !empty($_GET['exerciseId'])) ? intval($_GET['exerciseId']) : 0;
 | 
						|
 | 
						|
api_protect_course_script(true);
 | 
						|
 | 
						|
if (!api_is_allowed_to_edit()) {
 | 
						|
    api_not_allowed();
 | 
						|
}
 | 
						|
 | 
						|
$objExercise = new Exercise();
 | 
						|
$result = $objExercise->read($exercise_id);
 | 
						|
 | 
						|
if (!$result) {
 | 
						|
    api_not_allowed(true);
 | 
						|
}
 | 
						|
 | 
						|
$interbreadcrumb[] = [
 | 
						|
    "url" => "exercise.php?".api_get_cidreq(),
 | 
						|
    "name" => get_lang('Tests'),
 | 
						|
];
 | 
						|
$interbreadcrumb[] = [
 | 
						|
    "url" => "admin.php?exerciseId=$exercise_id&".api_get_cidreq(),
 | 
						|
    "name" => $objExercise->selectTitle(true),
 | 
						|
];
 | 
						|
 | 
						|
//Add the JS needed to use the jqgrid
 | 
						|
$htmlHeadXtra[] = api_get_jqgrid_js();
 | 
						|
 | 
						|
// The header.
 | 
						|
Display::display_header(get_lang('Learners who\'re taking the exercise right now'));
 | 
						|
 | 
						|
//jqgrid will use this URL to do the selects
 | 
						|
 | 
						|
$minutes = 60;
 | 
						|
$url = api_get_path(WEB_AJAX_PATH).'exercise.ajax.php?'.api_get_cidreq().'&a=get_live_stats&exercise_id='.$objExercise->id.'&minutes='.$minutes;
 | 
						|
 | 
						|
//The order is important you need to check the the $column variable in the model.ajax.php file
 | 
						|
$columns = [get_lang('First name'), get_lang('Last name'), get_lang('Time'), get_lang('Questions already answered'), get_lang('Score')];
 | 
						|
 | 
						|
//Column config
 | 
						|
$column_model = [
 | 
						|
    [
 | 
						|
        'name' => 'firstname',
 | 
						|
        'index' => 'firstname',
 | 
						|
        'width' => '100',
 | 
						|
        'align' => 'left',
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        'name' => 'lastname',
 | 
						|
        'index' => 'lastname',
 | 
						|
        'width' => '100',
 | 
						|
        'align' => 'left',
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        'name' => 'start_date',
 | 
						|
        'index' => 'start_date',
 | 
						|
        'width' => '100',
 | 
						|
        'align' => 'left',
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        'name' => 'question',
 | 
						|
        'index' => 'count_questions',
 | 
						|
        'width' => '60',
 | 
						|
        'align' => 'left',
 | 
						|
        'sortable' => 'false',
 | 
						|
    ],
 | 
						|
    [
 | 
						|
        'name' => 'score',
 | 
						|
        'index' => 'score',
 | 
						|
        'width' => '50',
 | 
						|
        'align' => 'left',
 | 
						|
        'sortable' => 'false',
 | 
						|
    ],
 | 
						|
];
 | 
						|
//Autowidth
 | 
						|
$extra_params['autowidth'] = 'true';
 | 
						|
//height auto
 | 
						|
$extra_params['height'] = 'auto';
 | 
						|
?>
 | 
						|
<script>
 | 
						|
 | 
						|
function refreshGrid() {
 | 
						|
    var grid = $("#live_stats");
 | 
						|
    grid.trigger("reloadGrid");
 | 
						|
    t = setTimeout("refreshGrid()", 10000);
 | 
						|
}
 | 
						|
 | 
						|
$(function() {
 | 
						|
    <?php
 | 
						|
    echo Display::grid_js(
 | 
						|
        'live_stats',
 | 
						|
        $url,
 | 
						|
        $columns,
 | 
						|
        $column_model,
 | 
						|
        $extra_params,
 | 
						|
        [],
 | 
						|
        null,
 | 
						|
        true
 | 
						|
    );
 | 
						|
    ?>
 | 
						|
    refreshGrid();
 | 
						|
});
 | 
						|
</script>
 | 
						|
<?php
 | 
						|
 | 
						|
$actions = '<a href="exercise_report.php?id='.intval($_GET['exerciseId']).'&'.api_get_cidreq().'">'.
 | 
						|
    Display::return_icon('back.png', get_lang('Go back to the questions list'), '', ICON_SIZE_MEDIUM).'</a>';
 | 
						|
echo $actions = Display::div($actions, ['class' => 'actions']);
 | 
						|
 | 
						|
echo Display::grid_html('live_stats');
 | 
						|
 | 
						|
Display::display_footer();
 | 
						|
 |