diff --git a/main/inc/lib/tracking.lib.php b/main/inc/lib/tracking.lib.php index 5189038b2b..629b0ff562 100644 --- a/main/inc/lib/tracking.lib.php +++ b/main/inc/lib/tracking.lib.php @@ -99,6 +99,20 @@ class Tracking { return $nb_seconds; } + + function get_first_connection_date($student_id) { + $tbl_track_login = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_LOGIN); + $sql = 'SELECT login_date FROM ' . $tbl_track_login . ' + WHERE login_user_id = ' . intval($student_id) . ' + ORDER BY login_date ASC LIMIT 0,1'; + + $rs = api_sql_query($sql); + if ($first_login_date = mysql_result($rs, 0, 0)) { + return format_locale_date(get_lang('DateFormatLongWithoutDay'), strtotime($first_login_date)); + } else { + return false; + } + } function get_last_connection_date($student_id, $warning_message = false) { $tbl_track_login = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_LOGIN); diff --git a/main/mySpace/myStudents.php b/main/mySpace/myStudents.php index 6e23e2b1c8..cef5e1927f 100644 --- a/main/mySpace/myStudents.php +++ b/main/mySpace/myStudents.php @@ -229,10 +229,17 @@ if(!empty($_GET['student'])) } $avg_student_progress = round($avg_student_progress / $nb_courses,2); $avg_student_score = round($avg_student_score / $nb_courses,2); + + $first_connection_date = Tracking::get_first_connection_date($a_infosUser['user_id']); + if($first_connection_date==''){ + $first_connection_date=get_lang('NoConnexion'); + } + $last_connection_date = Tracking::get_last_connection_date($a_infosUser['user_id'],true); if($last_connection_date==''){ $last_connection_date=get_lang('NoConnexion'); } + $time_spent_on_the_platform = api_time_to_hms(Tracking::get_time_spent_on_the_platform($a_infosUser['user_id'])); // cvs informations @@ -244,8 +251,8 @@ if(!empty($_GET['student'])) // 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(strip_tags($last_connection_date), $time_spent_on_the_platform , $avg_student_progress.' %',$avg_student_score.' %'); + $csv_content[] = array(get_lang('FirstLogin'),get_lang('LatestLogin'), get_lang('TimeSpentOnThePlatform'), get_lang('Progress'), get_lang('Score')); + $csv_content[] = array(strip_tags($first_connection_date),strip_tags($last_connection_date), $time_spent_on_the_platform , $avg_student_progress.' %',$avg_student_score.' %'); ?> @@ -339,6 +346,14 @@ if(!empty($_GET['student']))
| + + | ++ + | +
| diff --git a/main/mySpace/student.php b/main/mySpace/student.php index 44bea89969..968f0f52df 100644 --- a/main/mySpace/student.php +++ b/main/mySpace/student.php @@ -123,8 +123,9 @@ if($isCoach || api_is_platform_admin()) $table -> set_header(4, get_lang('Score'),false); $table -> set_header(5, get_lang('Student_publication'),false); $table -> set_header(6, get_lang('Messages'),false); - $table -> set_header(7, get_lang('LatestLogin'), false); - $table -> set_header(8, get_lang('Details'),false); + $table -> set_header(7, get_lang('FirstLogin'), false); + $table -> set_header(8, get_lang('LatestLogin'), false); + $table -> set_header(9, get_lang('Details'),false); if($export_csv) { @@ -136,6 +137,7 @@ if($isCoach || api_is_platform_admin()) get_lang('Score'), get_lang('Student_publication'), get_lang('Messages'), + get_lang('FirstLogin'), get_lang('LatestLogin') ); } @@ -176,7 +178,8 @@ if($isCoach || api_is_platform_admin()) $row[] = $total_messages; $string_date=Tracking :: get_last_connection_date($student_id,true); - + $first_date=Tracking :: get_first_connection_date($student_id); + $row[] = $first_date; $row[] = $string_date; @@ -212,7 +215,8 @@ if($isCoach || api_is_platform_admin()) $table -> updateColAttributes(0,array('align'=>'left')); $table -> updateColAttributes(1,array('align'=>'left')); $table -> updateColAttributes(7,array('align'=>'left')); - $table -> setColAttributes(8,array('align'=>'center')); + $table -> updateColAttributes(8,array('align'=>'left')); + $table -> setColAttributes(9,array('align'=>'center')); $table -> display(); } |