"index.php", "name" => get_lang('MySpace')); Display :: display_header($nameTools); $tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE); $tbl_user = Database :: get_main_table(TABLE_MAIN_USER); $tbl_course_user = Database :: get_main_table(MAIN_COURSE_USER_TABLE); $tbl_session = Database :: get_main_table(MAIN_SESSION_TABLE); $tbl_session_course = Database :: get_main_table(MAIN_SESSION_COURSE_TABLE); $tbl_session_course_user = Database :: get_main_table(MAIN_SESSION_COURSE_USER_TABLE); $tbl_session_rel_user = Database :: get_main_table(MAIN_SESSION_USER_TABLE); /* =============================================================================== FUNCTION =============================================================================== */ function exportCsv($a_header,$a_data) { global $archiveDirName; $fileName = 'students.csv'; $archivePath = api_get_path(SYS_PATH).$archiveDirName.'/'; $archiveURL = api_get_path(WEB_CODE_PATH).'course_info/download.php?archive='; if(!$open = fopen($archivePath.$fileName,'w+')) { $message = get_lang('noOpen'); } else { $info = ''; foreach($a_header as $header) { $info .= $header.';'; } $info .= "\r\n"; foreach($a_data as $data) { foreach($data as $infos) { $info .= $infos.';'; } $info .= "\r\n"; } fwrite($open,$info); fclose($open); chmod($fileName,0777); header("Location:".$archiveURL.$fileName); } return $message; } /** * Returns an array of students of courses (who belong to no sessions) which in the given user is a teacher * @param int teacher_id The id of the teacher */ function getStudentsFromCoursesNoSession($i_teacher_id, $a_students){ $tbl_session_course_user = Database :: get_main_table(MAIN_SESSION_COURSE_USER_TABLE); $tbl_course_user = Database :: get_main_table(MAIN_COURSE_USER_TABLE); $tbl_user = Database :: get_main_table(TABLE_MAIN_USER); $tbl_session_course = Database :: get_main_table(MAIN_SESSION_COURSE_TABLE); $sql_select_courses="SELECT course_rel_user.course_code FROM $tbl_course_user as course_rel_user LEFT OUTER JOIN $tbl_session_course as src ON course_rel_user.course_code=src.course_code WHERE user_id='$i_teacher_id' AND status='1' AND src.course_code IS NULL"; $result_courses=api_sql_query($sql_select_courses); while($a_courses=mysql_fetch_array($result_courses)){ $s_course_code=$a_courses["course_code"]; $sqlStudents = "SELECT user.user_id,lastname,firstname,email FROM $tbl_course_user as course_rel_user, $tbl_user as user WHERE course_rel_user.user_id=user.user_id AND course_rel_user.status='5' AND course_rel_user.course_code='$s_course_code'"; $result_students=api_sql_query($sqlStudents); if(mysql_num_rows($result_students)>0){ while($a_students_temp=mysql_fetch_array($result_students)){ $a_current_student=array(); //If the user has already been added to the table if(!array_key_exists($a_students,$a_students_temp["user_id"])){ $a_current_student[]=$a_students_temp["user_id"]; $a_current_student[]=$a_students_temp["lastname"]; $a_current_student[]=$a_students_temp["firstname"]; $a_current_student[]=$a_students_temp["email"]; $a_students[$a_students_temp["user_id"]]=$a_current_student; $a_students[$a_students_temp["user_id"]]["teacher"]=true; } } } } return $a_students; } /** * Returns an array of students of courses (who belong to at least one session) which in the given user is a teacher * @param int teacher_id The id of the teacher */ function getStudentsFromCoursesFromSessions($i_teacher_id, $a_students){ $tbl_session_course_user = Database :: get_main_table(MAIN_SESSION_COURSE_USER_TABLE); $tbl_course_user = Database :: get_main_table(MAIN_COURSE_USER_TABLE); $tbl_user = Database :: get_main_table(TABLE_MAIN_USER); $tbl_session_course = Database :: get_main_table(MAIN_SESSION_COURSE_TABLE); $sql_select_courses="SELECT course_rel_user.course_code FROM $tbl_course_user as course_rel_user, $tbl_session_course as session_rel_course WHERE user_id='$i_teacher_id' AND status='1' AND session_rel_course.course_code=course_rel_user.course_code"; $result_courses=api_sql_query($sql_select_courses); while($a_courses=mysql_fetch_array($result_courses)){ $s_course_code=$a_courses["course_code"]; $sqlStudents = "SELECT DISTINCT user.user_id,lastname,firstname,email FROM $tbl_session_course_user as srcru, $tbl_user as user WHERE srcru.id_user=user.user_id AND srcru.course_code='$s_course_code'"; $result_students=api_sql_query($sqlStudents); if(mysql_num_rows($result_students)>0){ while($a_students_temp=mysql_fetch_array($result_students)){ $a_current_student=array(); //If the user has already been added to the table if(!array_key_exists($a_students,$a_students_temp["user_id"])){ $a_current_student[]=$a_students_temp["user_id"]; $a_current_student[]=$a_students_temp["lastname"]; $a_current_student[]=$a_students_temp["firstname"]; $a_current_student[]=$a_students_temp["email"]; $a_students[$a_students_temp["user_id"]]=$a_current_student; $a_students[$a_students_temp["user_id"]]["teacher"]=true; } } } } return $a_students; } /** * Returns an array of students of courses which in the given user is a coach * @param int coach_id The id of the coach */ function getStudentsFromCoursesFromSessionsCoach($i_coach_id, $a_students){ $tbl_session_course_user = Database :: get_main_table(MAIN_SESSION_COURSE_USER_TABLE); $tbl_course_user = Database :: get_main_table(MAIN_COURSE_USER_TABLE); $tbl_user = Database :: get_main_table(TABLE_MAIN_USER); $tbl_session_course = Database :: get_main_table(MAIN_SESSION_COURSE_TABLE); $sql_select_courses="SELECT course_code, id_session FROM $tbl_session_course as session_rel_course WHERE session_rel_course.id_coach='$i_coach_id'"; $result_courses=api_sql_query($sql_select_courses); while($a_courses=mysql_fetch_array($result_courses)){ $s_course_code=$a_courses["course_code"]; $i_id_session=$a_courses["id_session"]; $sqlStudents="SELECT user.user_id,lastname,firstname,email FROM $tbl_session_course_user as srcru, $tbl_user as user WHERE srcru.course_code='$s_course_code' AND srcru.id_session='$i_id_session' AND srcru.id_user=user.user_id "; $result_students=api_sql_query($sqlStudents); if(mysql_num_rows($result_students)>0){ while($a_students_temp=mysql_fetch_array($result_students)){ $a_current_student=array(); //If the user has already been added to the table if(!array_key_exists($a_students,$a_students_temp["user_id"])){ $a_current_student[]=$a_students_temp["user_id"]; $a_current_student[]=$a_students_temp["lastname"]; $a_current_student[]=$a_students_temp["firstname"]; $a_current_student[]=$a_students_temp["email"]; $a_students[$a_students_temp["user_id"]]=$a_current_student; $a_students[$a_students_temp["user_id"]]["teacher"]=false; } } } } return $a_students; } function mysort($a , $b){ if($a[1]>$b[1]){ return 1; } else if($b[1]>$a[1]){ return -1; } else { return 0; } } /* =============================================================================== MAIN CODE =============================================================================== */ $a_students=array(); //La personne est admin if(api_is_platform_admin()){ $sqlStudent = " SELECT user_id,lastname,firstname,email FROM $tbl_user WHERE status = '5' ORDER BY lastname ASC "; $resultStudent = api_sql_query($sqlStudent); while($a_students_temp=mysql_fetch_array($resultStudent)){ $a_current_student=array(); //If the user has already been added to the table $a_current_student[]=$a_students_temp["user_id"]; $a_current_student[]=$a_students_temp["lastname"]; $a_current_student[]=$a_students_temp["firstname"]; $a_current_student[]=$a_students_temp["email"]; $a_students[$a_students_temp["user_id"]]=$a_current_student; $a_students[$a_students_temp["user_id"]]["teacher"]=true; } } else{ $a_students=getStudentsFromCoursesNoSession($_user['user_id'], $a_students); $a_students=getStudentsFromCoursesFromSessions($_user['user_id'], $a_students); $a_students=getStudentsFromCoursesFromSessionsCoach($_user['user_id'], $a_students); } usort($a_students,"mysort"); $a_header[]=get_lang('Lastname'); $a_header[]=get_lang('Firstname'); $a_header[]=get_lang('Email'); $a_data=array(); if(count($a_students)>0) { echo ' '; foreach($a_students as $a_current_student) { if($i%2==0){ $s_css_class="row_odd"; if($i%20==0 && $i!=0){ /*echo ' ';*/ echo ' '; } } else{ $s_css_class="row_even"; } $i++; echo ''; if($a_current_student["teacher"]==true){ echo ''; } echo ''; $a_data[$a_student['user_id']]["lastname"]=$a_student['lastname']; $a_data[$a_student['user_id']]["firstname"]=$a_student['firstname']; $a_data[$a_student['user_id']]["email"]=$a_student['email']; } echo '
'.get_lang('Lastname').' '.get_lang('Firstname').' '.get_lang('Email').' '.get_lang('Tracking').'
'.get_lang('Lastname').' '.get_lang('Firstname').' '.get_lang('Email').' '.get_lang('Tutor').' '.get_lang('Courses').' '.get_lang('TakenSessions').'
'.get_lang('Lastname').' '.get_lang('Firstname').' '.get_lang('Email').' '.get_lang('Tracking').'
'; echo "".$a_current_student[1].""; echo ' '.$a_current_student[2].' '; if(!empty($a_current_student[3])) { echo ''.$a_current_student[3].''; } else { //echo get_lang('NoEmail'); } echo ' '.get_lang( '.get_lang( '.get_lang('; } else{ echo '
'; } else { echo get_lang('NoStudent'); } if(isset($_POST['export'])){ exportCsv($a_header,$a_data); } echo "

"; echo "
"; if(!empty($_GET['student'])) { $sqlSessionSuivie = " SELECT session.name FROM $tbl_session as session INNER JOIN $tbl_session_rel_user as relUser ON session.id = relUser.id_session AND relUser.id_user = ".$_GET['student'] ; $resultSessionSuivie = api_sql_query($sqlSessionSuivie); echo "

"; echo ""; if(mysql_num_rows($resultSessionSuivie)>0) { echo " "; while($a_sessionSuivie = mysql_fetch_array($resultSessionSuivie)) { echo " "; } echo "
".get_lang('TakenSessions')."
".get_lang('Session')." ".get_lang('FollowUp')."
".$a_sessionSuivie['name']." ->
"; } else { echo "

".get_lang('TakenSessions')."


"; echo get_lang('NoSession'); } } /* ============================================================================== FOOTER ============================================================================== */ Display :: display_footer(); ?>