|
@@ -228,7 +228,7 @@ else
|
|
|
// determine if the password needs to be encrypted before checking
|
|
|
// $userPasswordCrypted is set in an external configuration file
|
|
|
|
|
|
- if ($userPasswordCrypted)
|
|
|
+ if ($userPasswordCrypted)
|
|
|
{
|
|
|
$password = md5($password);
|
|
|
}
|
|
@@ -244,21 +244,21 @@ else
|
|
|
{
|
|
|
$_user['user_id'] = $uData['user_id'];
|
|
|
api_session_register('_uid');
|
|
|
-
|
|
|
+
|
|
|
if(!function_exists('event_login')){
|
|
|
include(api_get_path(LIBRARY_PATH)."events.lib.inc.php");
|
|
|
event_login();
|
|
|
}
|
|
|
}
|
|
|
- else
|
|
|
+ else
|
|
|
{
|
|
|
$loginFailed = true;
|
|
|
api_session_unregister('_uid');
|
|
|
header('Location: index.php?loginFailed=1&error=account_expired');
|
|
|
- exit;
|
|
|
+ exit;
|
|
|
}
|
|
|
}
|
|
|
- else
|
|
|
+ else
|
|
|
{
|
|
|
$loginFailed = true;
|
|
|
api_session_unregister('_uid');
|
|
@@ -412,7 +412,7 @@ $admin_table = Database::get_main_table(MAIN_ADMIN_TABLE);
|
|
|
$_user ['picture_uri'] = $uData ['picture_uri'];
|
|
|
$_user ['user_id'] = $uData ['user_id'];
|
|
|
$_user ['language'] = $uData ['language'];
|
|
|
-
|
|
|
+
|
|
|
$is_platformAdmin = (bool) (! is_null( $uData['is_admin']));
|
|
|
$is_allowedCreateCourse = (bool) ($uData ['status'] == 1);
|
|
|
|
|
@@ -450,7 +450,7 @@ if (isset($cidReset) && $cidReset) // course session data refresh requested or e
|
|
|
$course_table = Database::get_main_table(MAIN_COURSE_TABLE);
|
|
|
$course_cat_table = Database::get_main_table(MAIN_CATEGORY_TABLE);
|
|
|
$sql = "SELECT `course`.*, `course_category`.`code` `faCode`, `course_category`.`name` `faName`
|
|
|
- FROM $course_table
|
|
|
+ FROM $course_table
|
|
|
LEFT JOIN $course_cat_table
|
|
|
ON `course`.`category_code` = `course_category`.`code`
|
|
|
WHERE `course`.`code` = '$cidReq'";
|
|
@@ -462,7 +462,7 @@ if (isset($cidReset) && $cidReset) // course session data refresh requested or e
|
|
|
$cData = mysql_fetch_array($result);
|
|
|
|
|
|
$_cid = $cData['code' ];
|
|
|
-
|
|
|
+ $_course = array();
|
|
|
$_course['id' ] = $cData['code' ]; //auto-assigned integer
|
|
|
$_course['name' ] = $cData['title' ];
|
|
|
$_course['official_code'] = $cData['visual_code' ]; // use in echo
|
|
@@ -483,25 +483,25 @@ 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(STATISTIC_TRACK_E_COURSE_ACCESS_TABLE);
|
|
|
+ $course_tracking_table = Database :: get_statistic_table(STATISTIC_TRACK_E_COURSE_ACCESS_TABLE);
|
|
|
|
|
|
$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(api_get_setting("Ajax_course_tracking_refresh")!=0){
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
$i_milliseconds_for_refresh=intval(api_get_setting("Ajax_course_tracking_refresh"))*1000;
|
|
|
-
|
|
|
+
|
|
|
$htmlHeadXtra[] = $xajax->getJavascript(api_get_path(WEB_LIBRARY_PATH).'xajax/');
|
|
|
$htmlHeadXtra[] = "<script type=\"text/javascript\">var user_id=".$_user ['user_id'].";</script><script type=\"text/javascript\" src=\"".api_get_path(WEB_CODE_PATH)."inc/course_tracking.js\"></script><script type=\"text/javascript\">window.setInterval('update_course_tracking()',".$i_milliseconds_for_refresh.");</script>";
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -526,9 +526,9 @@ else // continue with the previous values
|
|
|
{
|
|
|
$_cid = $_SESSION['_cid' ];
|
|
|
$_course = $_SESSION['_course'];
|
|
|
-
|
|
|
+
|
|
|
$course_tracking_table = Database :: get_statistic_table(STATISTIC_TRACK_E_COURSE_ACCESS_TABLE);
|
|
|
-
|
|
|
+
|
|
|
//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='".$_user ['user_id']."' ORDER BY login_course_date DESC LIMIT 0,1";
|
|
|
$result=api_sql_query($sql,__FILE__,__LINE__);
|
|
@@ -541,17 +541,17 @@ else // continue with the previous values
|
|
|
"WHERE course_access_id='$i_course_access_id'";
|
|
|
|
|
|
api_sql_query($sql,__FILE__,__LINE__);
|
|
|
-
|
|
|
- if(api_get_setting("Ajax_course_tracking_refresh")!=0){
|
|
|
-
|
|
|
+
|
|
|
+ if(api_get_setting("Ajax_course_tracking_refresh")!=0){
|
|
|
+
|
|
|
$i_milliseconds_for_refresh=intval(api_get_setting("Ajax_course_tracking_refresh"))*1000;
|
|
|
-
|
|
|
+
|
|
|
$htmlHeadXtra[] = $xajax->getJavascript(api_get_path(WEB_LIBRARY_PATH).'xajax/');
|
|
|
$htmlHeadXtra[] = "<script type=\"text/javascript\">var user_id=".$_user ['user_id'].";</script><script type=\"text/javascript\" src=\"".api_get_path(WEB_CODE_PATH)."inc/course_tracking.js\"></script><script type=\"text/javascript\">setInterval('update_course_tracking()',".$i_milliseconds_for_refresh.");</script>";
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -563,25 +563,25 @@ if ((isset($uidReset) && $uidReset) || (isset($cidReset) && $cidReset)) // sessi
|
|
|
{
|
|
|
if (isset($_user['user_id']) && $_user['user_id'] && isset($_cid) && $_cid) // have keys to search data
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
if(api_get_setting('use_session_mode') != 'true')
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
$course_user_table = Database::get_main_table(MAIN_COURSE_USER_TABLE);
|
|
|
$sql = "SELECT * FROM $course_user_table
|
|
|
WHERE `user_id` = '".$_user['user_id']."'
|
|
|
AND `course_code` = '$cidReq'";
|
|
|
-
|
|
|
+
|
|
|
$result = api_sql_query($sql,__FILE__,__LINE__);
|
|
|
-
|
|
|
+
|
|
|
if (mysql_num_rows($result) > 0) // this user have a recorded state for this course
|
|
|
{
|
|
|
$cuData = mysql_fetch_array($result);
|
|
|
-
|
|
|
+
|
|
|
$is_courseMember = true;
|
|
|
$is_courseTutor = (bool) ($cuData['tutor_id' ] == 1 );
|
|
|
$is_courseAdmin = (bool) ($cuData['status'] == 1 );
|
|
|
-
|
|
|
+
|
|
|
api_session_register('_courseUser');
|
|
|
}
|
|
|
else // this user has no status related to this course
|
|
@@ -590,39 +590,39 @@ if ((isset($uidReset) && $uidReset) || (isset($cidReset) && $cidReset)) // sessi
|
|
|
$is_courseAdmin = false;
|
|
|
$is_courseTutor = false;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
$is_courseAdmin = (bool) ($is_courseAdmin || $is_platformAdmin);
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
- else
|
|
|
+
|
|
|
+ else
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
// is it the session coach ?
|
|
|
- $sql = "SELECT 1
|
|
|
+ $sql = "SELECT 1
|
|
|
FROM `".$mainDbName."`.`session`
|
|
|
INNER JOIN `".$mainDbName."`.`session_rel_course`
|
|
|
ON session_rel_course.id_session = session.id
|
|
|
AND session_rel_course.course_code='$_cid'
|
|
|
WHERE session.id_coach = '".$_user['user_id']."'";
|
|
|
-
|
|
|
+
|
|
|
$result = api_sql_query($sql,__FILE__,__LINE__);
|
|
|
if($row = mysql_fetch_array($result)){
|
|
|
$_courseUser['role'] = 'Professor';
|
|
|
$is_courseMember = true;
|
|
|
$is_courseTutor = true;
|
|
|
$is_courseAdmin = true;
|
|
|
-
|
|
|
+
|
|
|
api_session_register('_courseUser');
|
|
|
}
|
|
|
- else
|
|
|
+ else
|
|
|
{
|
|
|
// vérifier que c pas le coach du cours
|
|
|
- $sql = "SELECT 1
|
|
|
+ $sql = "SELECT 1
|
|
|
FROM `".$mainDbName."`.`session_rel_course`
|
|
|
WHERE session_rel_course.course_code='$_cid'
|
|
|
AND session_rel_course.id_coach = '".$_user['user_id']."'";
|
|
|
-
|
|
|
+
|
|
|
$result = api_sql_query($sql,__FILE__,__LINE__);
|
|
|
if($row = mysql_fetch_array($result))
|
|
|
{
|
|
@@ -630,46 +630,46 @@ if ((isset($uidReset) && $uidReset) || (isset($cidReset) && $cidReset)) // sessi
|
|
|
$is_courseMember = true;
|
|
|
$is_courseTutor = true;
|
|
|
$is_courseAdmin = true;
|
|
|
-
|
|
|
+
|
|
|
api_session_register('_courseUser');
|
|
|
}
|
|
|
- else
|
|
|
- {
|
|
|
- // vérifier que c pas un élève de la session
|
|
|
+ else
|
|
|
+ {
|
|
|
+ // vérifier que c pas un élève de la session
|
|
|
$sql = "SELECT * FROM `".$mainDbName."`.`session_rel_course_rel_user`
|
|
|
- WHERE `id_user` = '".$_user['user_id']."'
|
|
|
+ WHERE `id_user` = '".$_user['user_id']."'
|
|
|
AND `course_code` = '$cidReq'";
|
|
|
-
|
|
|
+
|
|
|
$result = api_sql_query($sql,__FILE__,__LINE__);
|
|
|
-
|
|
|
+
|
|
|
if (mysql_num_rows($result) > 0) // this user have a recorded state for this course
|
|
|
{
|
|
|
while($row = mysql_fetch_array($result)){
|
|
|
$is_courseMember = true;
|
|
|
$is_courseTutor = false;
|
|
|
$is_courseAdmin = false;
|
|
|
-
|
|
|
+
|
|
|
api_session_register('_courseUser');
|
|
|
}
|
|
|
-
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
$sql = "SELECT * FROM `".$mainDbName."`.`course_rel_user`
|
|
|
WHERE `user_id` = '".$_user['user_id']."'
|
|
|
AND `course_code` = '$cidReq'";
|
|
|
-
|
|
|
+
|
|
|
$result = api_sql_query($sql,__FILE__,__LINE__);
|
|
|
-
|
|
|
+
|
|
|
if (mysql_num_rows($result) > 0) // this user have a recorded state for this course
|
|
|
{
|
|
|
$cuData = mysql_fetch_array($result);
|
|
|
-
|
|
|
+
|
|
|
$_courseUser['role'] = $cuData['role' ];
|
|
|
$is_courseMember = true;
|
|
|
$is_courseTutor = (bool) ($cuData['tutor_id' ] == 1 );
|
|
|
$is_courseAdmin = (bool) ($cuData['status'] == 1 );
|
|
|
-
|
|
|
+
|
|
|
api_session_register('_courseUser');
|
|
|
}
|
|
|
else // this user has no status related to this course
|
|
@@ -678,7 +678,7 @@ if ((isset($uidReset) && $uidReset) || (isset($cidReset) && $cidReset)) // sessi
|
|
|
$is_courseAdmin = false;
|
|
|
$is_courseTutor = false;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -770,7 +770,7 @@ else
|
|
|
if(isset($_cid))
|
|
|
{
|
|
|
$tbl_course = Database::get_main_table(MAIN_COURSE_TABLE);
|
|
|
- $sql="UPDATE $tbl_course SET last_visit=NOW() WHERE code='$_cid'";
|
|
|
+ $sql="UPDATE $tbl_course SET last_visit=NOW() WHERE code='$_cid'";
|
|
|
api_sql_query($sql,__FILE__,__LINE__);
|
|
|
}
|
|
|
?>
|