diff --git a/main/admin/user_list.php b/main/admin/user_list.php index d094dde794..4b3726953c 100644 --- a/main/admin/user_list.php +++ b/main/admin/user_list.php @@ -1,6 +1,6 @@ Login successful. Go to $target_url"; diff --git a/main/inc/local.inc.php b/main/inc/local.inc.php index e9e2d3e405..cdb50c2134 100644 --- a/main/inc/local.inc.php +++ b/main/inc/local.inc.php @@ -507,14 +507,18 @@ if (isset($cidReset) && $cidReset) // course session data refresh requested or e api_session_register('_cid'); api_session_register('_course'); - - //We add a new record in the course tracking table - $course_tracking_table = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS); - - $sql="INSERT INTO $course_tracking_table(course_code, user_id, login_course_date, logout_course_date, counter)" . - "VALUES('".$_course['official_code']."', '".$_user['user_id']."', NOW(), NOW(), '1')"; - - api_sql_query($sql,__FILE__,__LINE__); + + if($_configuration['tracking_enabled'] && !isset($_SESSION['login_as'])) + { + //We add a new record in the course tracking table + $course_tracking_table = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS); + + $sql="INSERT INTO $course_tracking_table(course_code, user_id, login_course_date, logout_course_date, counter)" . + "VALUES('".$_course['official_code']."', '".$_user['user_id']."', NOW(), NOW(), '1')"; + + api_sql_query($sql,__FILE__,__LINE__); + } + // if a session id has been given in url, we store the session @@ -567,7 +571,7 @@ else // continue with the previous values $_course = $_SESSION['_course']; - if($_configuration['tracking_enabled']) + if($_configuration['tracking_enabled'] && !isset($_SESSION['login_as'])) { $course_tracking_table = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS); diff --git a/main/inc/update_course_tracking.php b/main/inc/update_course_tracking.php index df922c46be..2c224097b7 100644 --- a/main/inc/update_course_tracking.php +++ b/main/inc/update_course_tracking.php @@ -5,23 +5,27 @@ require('common_course_tracking.ajax.php'); function updateCourseTracking($i_user_id){ + global $_configuration; $objResponse = new xajaxResponse(); + if($_configuration['tracking_enabled'] && !isset($_SESSION['login_as'])) + { + $course_tracking_table = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS); + + //We select the last record for the current course in the course tracking table + $sql="SELECT course_access_id FROM $course_tracking_table WHERE user_id='$i_user_id' ORDER BY login_course_date DESC LIMIT 0,1"; + $result=api_sql_query($sql,__FILE__,__LINE__); + $i_course_access_id = mysql_result($result,0,0); + + //We update the course tracking table + $sql="UPDATE $course_tracking_table " . + "SET logout_course_date = NOW() " . + "WHERE course_access_id='$i_course_access_id'"; - $course_tracking_table = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS); + api_sql_query($sql,__FILE__,__LINE__); + } - //We select the last record for the current course in the course tracking table - $sql="SELECT course_access_id FROM $course_tracking_table WHERE user_id='$i_user_id' ORDER BY login_course_date DESC LIMIT 0,1"; - $result=api_sql_query($sql,__FILE__,__LINE__); - $i_course_access_id = mysql_result($result,0,0); - - //We update the course tracking table - $sql="UPDATE $course_tracking_table " . - "SET logout_course_date = NOW() " . - "WHERE course_access_id='$i_course_access_id'"; - - api_sql_query($sql,__FILE__,__LINE__); return $objResponse;