Add DISTINCT query modifier to avoid double entries when assigning courses to HRD/DRH when they are already registered to these courses as teachers or students. Maybe this could be avoided by only having one entry by user-course relation in course_rel_user
Database::query("DELETE FROM ".Database::get_course_table(TABLE_BLOGS_TASKS_REL_USER, $course->db_name)."
WHERE user_id IN (".$user_ids.")");
//Deleting users in forum_notification and mailqueue course tables
$sql_delete_forum_notification = "DELETE FROM ".Database::get_course_table(TABLE_FORUM_NOTIFICATION, $course->db_name)." WHERE user_id IN (".$user_ids.")";
//Deleting users in forum_notification and mailqueue course tables
$sql_delete_forum_notification = "DELETE FROM ".Database::get_course_table(TABLE_FORUM_NOTIFICATION, $course->db_name)." WHERE user_id IN (".$user_ids.")";
Database::query($sql_delete_forum_notification);
$sql_delete_mail_queue = "DELETE FROM ".Database::get_course_table(TABLE_FORUM_MAIL_QUEUE, $course->db_name)." WHERE user_id IN (".$user_ids.")";
Database::query($sql_delete_mail_queue);
@ -310,8 +310,8 @@ class CourseManager {
$count = $row[0]; // number of users by session
$result = Database::query("UPDATE ".Database::get_main_table(TABLE_MAIN_SESSION)." SET nbr_users = '$count'
WHERE id = '".$my_session_id."'");
// Update the table session_rel_course
// Update the table session_rel_course
$row = Database::fetch_array(@Database::query("SELECT COUNT(*) FROM ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER)." WHERE id_session = '$my_session_id' AND course_code = '$course_code' AND status<>2" ));
$count = $row[0]; // number of users by session and course
$result = @Database::query("UPDATE ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE)." SET nbr_users = '$count' WHERE id_session = '$my_session_id' AND course_code = '$course_code' ");
@ -402,12 +402,12 @@ class CourseManager {
$row = Database::fetch_array(@Database::query("SELECT COUNT(*) FROM ".Database::get_main_table(TABLE_MAIN_SESSION_USER)." WHERE id_session = '".$_SESSION['id_session']."' AND relation_type<>".SESSION_RELATION_TYPE_RRHH.""));
$count = $row[0]; // number of users by session
$result = @Database::query("UPDATE ".Database::get_main_table(TABLE_MAIN_SESSION)." SET nbr_users = '$count' WHERE id = '".$_SESSION['id_session']."'");
// Update the table session_rel_course
// Update the table session_rel_course
$row = Database::fetch_array(@Database::query("SELECT COUNT(*) FROM ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER)." WHERE id_session = '".$_SESSION['id_session']."' AND course_code = '$course_code' AND status<>2" ));
$count = $row[0]; // number of users by session
$result = @Database::query("UPDATE ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE)." SET nbr_users = '$count' WHERE id_session = '".$_SESSION['id_session']."' AND course_code = '$course_code' ");
} else {
@ -426,10 +426,10 @@ class CourseManager {
return (bool)$result;
}
/**
* Get the course id based on the original id and field name in the extra fields. Returns 0 if course was not found
*
*
* @param string Original course id
* @param string Original field name
* @return int Course id
@ -446,10 +446,10 @@ class CourseManager {
return 0;
}
}
/**
* Gets the course code from the course id. Returns null if course id was not found
*
*
* @param int Course id
* @return string Course code
*/
@ -575,7 +575,7 @@ class CourseManager {
/**
* Returns an array with the course info of the real courses of which
* the current user is course admin
* @return array A list of courses details for courses to which the user is subscribed as course admin (status = 1)
* @return array A list of courses details for courses to which the user is subscribed as course admin (status = 1)
*/
public static function get_real_course_list_of_user_as_course_admin($user_id) {
$result_array = array();
@ -602,17 +602,17 @@ class CourseManager {
*/
public static function get_course_list_of_user_as_course_admin($user_id) {
FROM ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER)." s, ".Database::get_main_table(TABLE_MAIN_COURSE)." c
WHERE id_user = $user_id AND s.course_code=c.code");
while ($row = Database::fetch_array($r, 'ASSOC')) {
@ -1989,10 +1991,10 @@ class CourseManager {
return Database::insert_id();
}
/**
* Updates course attribute. Note that you need to check that your attribute is valid before you use this function
*
*
* @param int Course id
* @param string Attribute name
* @param string Attribute value
@ -2004,10 +2006,10 @@ class CourseManager {
$sql = "UPDATE $table SET $name = '".Database::escape_string($value)."' WHERE id = '$id';";
return Database::query($sql);
}
/**
* Update course attributes. Will only update attributes with a non-empty value. Note that you NEED to check that your attributes are valid before using this function
*
*
* @param int Course id
* @param array Associative array with field names as keys and field values as values
* @return bool True if update was successful, false otherwise
@ -2029,7 +2031,7 @@ class CourseManager {
$sql .= " WHERE id = '$id';";
return Database::query($sql);
}
/**
* Update an extra field value for a given course
@ -2147,10 +2149,10 @@ class CourseManager {
}
return $extra_fields;
}
/**
* Gets the value of a course extra field. Returns null if it was not found