api_get_path(WEB_COURSE_PATH).$course_infos['directory'], 'name' => $course_infos['title']); $interbreadcrumb[] = array ("url" => "../user/user.php?cidReq=".$_GET['course'], "name" => get_lang("Users")); } else { $interbreadcrumb[] = array ("url" => "index.php", "name" => get_lang('MySpace')); $interbreadcrumb[] = array ("url" => "student.php", "name" => get_lang("MyStudents")); $interbreadcrumb[] = array ("url" => "myStudents.php?student=".$_GET['student'], "name" => get_lang("StudentDetails")); $nameTools=get_lang("DetailsStudentInCourse"); } } else { $interbreadcrumb[] = array ("url" => "index.php", "name" => get_lang('MySpace')); $interbreadcrumb[] = array ("url" => "student.php", "name" => get_lang("MyStudents")); } api_block_anonymous_users(); Display :: display_header($nameTools); /* * ====================================================================================== * FUNCTIONS * ====================================================================================== */ function calculHours($seconds) { //How many hours ? $hours = floor($seconds / 3600); //How many minutes ? $min = floor(($seconds - ($hours * 3600)) / 60); if ($min < 10) $min = "0".$min; //How many seconds $sec = $seconds - ($hours * 3600) - ($min * 60); if ($sec < 10) $sec = "0".$sec; return $hours."h".$min."m".$sec."s" ; } function is_teacher($course_code){ global $_user; $tbl_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $sql="SELECT 1 FROM $tbl_course_user WHERE user_id='".$_user["user_id"]."' AND course_code='".$course_code."' AND status='1'"; $result=api_sql_query($sql); if(mysql_result($result)!=1){ return true; } else{ return false; } } /* *=============================================================================== * MAIN CODE *=============================================================================== */ // Database Table Definitions $tbl_user = Database :: get_main_table(TABLE_MAIN_USER); $tbl_session_user = Database :: get_main_table(TABLE_MAIN_SESSION_USER); $tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION); $tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE); $tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER); $tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE); $tbl_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $tbl_stats_exercices = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_EXERCICES); //$tbl_course_lp_view = Database :: get_course_table('lp_view'); //$tbl_course_lp_view_item = Database :: get_course_table('lp_item_view'); //$tbl_course_lp_item = Database :: get_course_table('lp_item'); $tbl_course_lp_view = 'lp_view'; $tbl_course_lp_view_item = 'lp_item_view'; $tbl_course_lp_item = 'lp_item'; $tbl_course_lp = 'lp'; $tbl_course_quiz = 'quiz'; $course_quiz_question = 'quiz_question'; $course_quiz_rel_question = 'quiz_rel_question'; $course_quiz_answer = 'quiz_answer'; $course_student_publication = Database::get_course_table(TABLE_STUDENT_PUBLICATION); if(isset($_GET["user_id"]) && $_GET["user_id"]!="") { $i_user_id=$_GET["user_id"]; } else { $i_user_id = $_user['user_id']; } if(!empty($_GET['student'])) { echo '
 '.get_lang('Print').'  '.get_lang('ExportAsCSV').'
'; // is the user online ? $statistics_database = Database :: get_statistic_database(); $a_usersOnline = WhoIsOnline($_GET['student'], $statistics_database, 30); foreach($a_usersOnline as $a_online) { if(in_array($_GET['student'],$a_online)) { $online = get_lang('Yes'); } else { $online = get_lang('No'); } } // infos about user $a_infosUser = UserManager::get_user_info_by_id($_GET['student']); $a_infosUser['name'] = $a_infosUser['firstname'].' '.$a_infosUser['lastname']; // courses followed by user where we are coach $a_courses = Tracking :: get_courses_followed_by_coach($_user['user_id']); $avg_student_progress = $avg_student_score = $nb_courses = 0; foreach ($a_courses as $key=>$course_code) { if(!CourseManager::is_user_subscribed_in_course($a_infosUser['user_id'], $course_code, true)) { array_splice($a_courses, $key); } else { $nb_courses++; $avg_student_progress += Tracking :: get_avg_student_progress($a_infosUser['user_id'],$course_code); $avg_student_score += Tracking :: get_avg_student_score($a_infosUser['user_id'],$course_code); } } $avg_student_progress = round($avg_student_progress / $nb_courses,1); $avg_student_score = round($avg_student_score / $nb_courses,1); $last_connection_date = Tracking::get_last_connection_date($a_infosUser['user_id']); $time_spent_on_the_platform = api_time_to_hms(Tracking::get_time_spent_on_the_platform($a_infosUser['user_id'])); // cvs informations $csv_content[] = array(get_lang('Informations')); $csv_content[] = array(get_lang('Name'), get_lang('Email'), get_lang('Tel')); $csv_content[] = array($a_infosUser['name'], $a_infosUser['email'],$a_infosUser['phone']); $csv_content[] = array(); // csv tracking $csv_content[] = array(get_lang('Tracking')); $csv_content[] = array(get_lang('LatestLogin'), get_lang('TimeSpentOnThePlatform'), get_lang('Progress'), get_lang('Score')); $csv_content[] = array($last_connection_date, $time_spent_on_the_platform , $avg_student_progress.' %',$avg_student_score.' %'); ?>
'; } else{ echo ' '; } ?>
'.$a_infosUser['email'].''; } else { echo get_lang('NoEmail'); } ?>
"; echo ' '.$sendMail; echo ""; } else { echo ""; } ?>
 
0) { $i = 0; while($a_learnpath = mysql_fetch_array($resultLearnpath)) { $sqlProgress = "SELECT COUNT(DISTINCT lp_item_id) AS nbItem FROM ".$a_infosCours['db_name'].".".$tbl_course_lp_view_item." AS item_view INNER JOIN ".$a_infosCours['db_name'].".".$tbl_course_lp_view." AS view ON item_view.lp_view_id = view.id AND view.lp_id = ".$a_learnpath['id']." AND view.user_id = ".$_GET['student']." WHERE item_view.status = 'completed' "; $resultProgress = api_sql_query($sqlProgress); $a_nbItem = mysql_fetch_array($resultProgress); $sqlTotalItem = " SELECT COUNT(item_type) AS totalItem FROM ".$a_infosCours['db_name'].".".$tbl_course_lp_item." WHERE lp_id = ".$a_learnpath['id'] ; $resultItem = api_sql_query($sqlTotalItem); $a_totalItem = mysql_fetch_array($resultItem); $progress = round(($a_nbItem['nbItem'] * 100)/$a_totalItem['totalItem']); // calculates time $sql = 'SELECT SUM(total_time) FROM '.$a_infosCours['db_name'].'.'.$tbl_course_lp_view_item.' AS item_view INNER JOIN '.$a_infosCours['db_name'].'.'.$tbl_course_lp_view.' AS view ON item_view.lp_view_id = view.id AND view.lp_id = '.$a_learnpath['id'].' AND view.user_id = '.$_GET['student']; $rs = api_sql_query($sql, __FILE__, __LINE__); $total_time = mysql_result($rs, 0, 0); // calculates last connection time $sql = 'SELECT MAX(start_time) FROM '.$a_infosCours['db_name'].'.'.$tbl_course_lp_view_item.' AS item_view INNER JOIN '.$a_infosCours['db_name'].'.'.$tbl_course_lp_view.' AS view ON item_view.lp_view_id = view.id AND view.lp_id = '.$a_learnpath['id'].' AND view.user_id = '.$_GET['student']; $rs = api_sql_query($sql, __FILE__, __LINE__); $start_time = mysql_result($rs, 0, 0); if($i%2==0){ $s_css_class="row_odd"; } else{ $s_css_class="row_even"; } $i++; $csv_content[] = array(stripslashes($a_learnpath['name']),api_time_to_hms($total_time),$progress.' %',date('Y-m-d',$start_time)); ?> "; } ?>
".get_lang('NoLearnpath')."
0) { while($a_exercices = mysql_fetch_array($resultExercices)) { $sqlEssais = " SELECT COUNT(ex.exe_id) as essais FROM $tbl_stats_exercices AS ex WHERE ex.exe_cours_id = '".$a_infosCours['code']."' AND ex.exe_exo_id = ".$a_exercices['id'] ; $resultEssais = api_sql_query($sqlEssais); $a_essais = mysql_fetch_array($resultEssais); $sqlScore = "SELECT exe_id, exe_result,exe_weighting FROM $tbl_stats_exercices WHERE exe_user_id = ".$_GET['student']." AND exe_cours_id = '".$a_infosCours['code']."' AND exe_exo_id = ".$a_exercices['id']." ORDER BY exe_date DESC LIMIT 1" ; $resultScore = api_sql_query($sqlScore); $score = 0; while($a_score = mysql_fetch_array($resultScore)) { $score = $score + $a_score['exe_result']; $weighting = $weighting + $a_score['exe_weighting']; $exe_id = $a_score['exe_id']; } $pourcentageScore = round(($score*100)/$weighting); $weighting = 0; $csv_content[] = array($a_exercices['title'], $pourcentageScore.' %', $a_essais['essais']); if($i%2==0){ $s_css_class="row_odd"; } else{ $s_css_class="row_even"; } $i++; echo " "; echo " "; $dataExercices[$i][] = $a_exercices['title']; $dataExercices[$i][] = $pourcentageScore.'%'; $dataExercices[$i][] = $a_essais['essais']; //$dataExercices[$i][] = corrections; $i++; } } else { echo " "; } ?>
"; echo $a_exercices['title']; echo " "; echo $pourcentageScore.' %'; echo " "; echo $a_essais['essais']; echo " "; echo ' '; echo "
".get_lang('NoExercise')."
0) { $csv_content[] = array(); $csv_content[] = array(get_lang('Course'),get_lang('Time'),get_lang('Progress'),get_lang('Score')); foreach($a_courses as $course_code) { $course_infos = CourseManager :: get_course_information($course_code); $time_spent_on_course = api_time_to_hms(Tracking :: get_time_spent_on_the_course($a_infosUser['user_id'], $course_code)); $progress = Tracking :: get_avg_student_progress($a_infosUser['user_id'], $course_code).' %'; $score = Tracking :: get_avg_student_score($a_infosUser['user_id'], $course_code).' %'; $csv_content[] = array($course_infos['title'], $time_spent_on_course, $progress, $score); echo ' '.$course_infos['title'].' '.$time_spent_on_course.' '.$progress.' '.$score.' '; } } else { echo " ".get_lang('NoCourse')." "; } }//end of else !empty($details) ?>


".$a_exName['title']." "; while($a_exerciceDetails = mysql_fetch_array($resultExerciceDetails)) { $sqlAnswer = " SELECT qa.comment, qa.answer FROM ".$a_infosCours['db_name'].".".$course_quiz_answer." as qa WHERE qa.question_id = ".$a_exerciceDetails['id'] ; $resultAnswer = api_sql_query($sqlAnswer); echo ""; //print_r($a_exerciceDetails); echo" ".$a_exerciceDetails['question'].' /'.$a_exerciceDetails['ponderation']." "; while($a_answer = mysql_fetch_array($resultAnswer)) { echo" ".$a_answer['answer']." "; if(!empty($a_answer['comment'])) echo $a_answer['comment']; else echo get_lang('NoComment'); echo " "; } } echo ""; } $a_header = array_merge($a_headerLearnpath,$a_headerExercices,$a_headerProductions); } if($export_csv) { ob_end_clean(); Export :: export_table_csv($csv_content, 'reporting_student'); } /* ============================================================================== FOOTER ============================================================================== */ Display::display_footer(); ?>