Browse Source

[svn r13754] some datas where not removed from db when we remove a user or a session

Eric Marguin 17 years ago
parent
commit
2eea39bab5
2 changed files with 13 additions and 0 deletions
  1. 3 0
      main/admin/session_list.php
  2. 10 0
      main/inc/lib/usermanager.lib.php

+ 3 - 0
main/admin/session_list.php

@@ -10,6 +10,7 @@ api_protect_admin_script();
 $tbl_session=Database::get_main_table(TABLE_MAIN_SESSION);
 $tbl_session_rel_course=Database::get_main_table(TABLE_MAIN_SESSION_COURSE);
 $tbl_session_rel_course_rel_user=Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
+$tbl_session_rel_user=Database::get_main_table(TABLE_MAIN_SESSION_USER);
 
 $page=intval($_GET['page']);
 $action=$_REQUEST['action'];
@@ -33,6 +34,8 @@ if($action == 'delete')
 	api_sql_query("DELETE FROM $tbl_session_rel_course WHERE id_session IN($idChecked)",__FILE__,__LINE__);
 
 	api_sql_query("DELETE FROM $tbl_session_rel_course_rel_user WHERE id_session IN($idChecked)",__FILE__,__LINE__);
+	
+	api_sql_query("DELETE FROM $tbl_session_rel_user WHERE id_session IN($idChecked)",__FILE__,__LINE__);
 
 	header('Location: '.api_get_self().'?sort='.$sort);
 	exit();

+ 10 - 0
main/inc/lib/usermanager.lib.php

@@ -144,6 +144,8 @@ class UserManager
 		$table_class_user = Database :: get_main_table(TABLE_MAIN_CLASS_USER);
 		$table_course = Database :: get_main_table(TABLE_MAIN_COURSE);
 		$table_admin = Database :: get_main_table(TABLE_MAIN_ADMIN);
+		$table_session_user = Database :: get_main_table(TABLE_MAIN_SESSION_USER);
+		$table_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
 
 		// Unsubscribe the user from all groups in all his courses
 		$sql = "SELECT * FROM $table_course c, $table_course_user cu WHERE cu.user_id = '".$user_id."' AND c.code = cu.course_code";
@@ -162,6 +164,14 @@ class UserManager
 		// Unsubscribe user from all courses
 		$sql = "DELETE FROM $table_course_user WHERE user_id = '".$user_id."'";
 		api_sql_query($sql,__FILE__,__LINE__);
+		
+		// Unsubscribe user from all courses in sessions
+		$sql = "DELETE FROM $table_session_course_user WHERE id_user = '".$user_id."'";
+		api_sql_query($sql,__FILE__,__LINE__);
+		
+		// Unsubscribe user from all sessions
+		$sql = "DELETE FROM $table_session_user WHERE id_user = '".$user_id."'";
+		api_sql_query($sql,__FILE__,__LINE__);
 
 		// Delete user picture
 		$user_info = api_get_user_info($user_id);