|
@@ -8,6 +8,7 @@
|
|
|
*/
|
|
|
|
|
|
require_once 'model.lib.php';
|
|
|
+require_once api_get_path(LIBRARY_PATH).'sessionmanager.lib.php';
|
|
|
|
|
|
class UserGroup extends Model {
|
|
|
|
|
@@ -125,13 +126,16 @@ class UserGroup extends Model {
|
|
|
//Deleting items
|
|
|
if (!empty($delete_items)) {
|
|
|
foreach($delete_items as $session_id) {
|
|
|
- foreach($user_list as $user_id) {
|
|
|
- SessionManager::unsubscribe_user_from_session($session_id, $user_id);
|
|
|
- /*foreach ($course_list as $course_data) {
|
|
|
- foreach($user_list as $user_id) {
|
|
|
- CourseManager::subscribe_user($user_id, $course_data['code'], $session_id);
|
|
|
- }
|
|
|
- }*/
|
|
|
+ if (!empty($user_list)) {
|
|
|
+ foreach($user_list as $user_id) {
|
|
|
+
|
|
|
+ SessionManager::unsubscribe_user_from_session($session_id, $user_id);
|
|
|
+ /*foreach ($course_list as $course_data) {
|
|
|
+ foreach($user_list as $user_id) {
|
|
|
+ CourseManager::subscribe_user($user_id, $course_data['code'], $session_id);
|
|
|
+ }
|
|
|
+ }*/
|
|
|
+ }
|
|
|
}
|
|
|
Database::delete($this->usergroup_rel_session_table, array('usergroup_id = ? AND session_id = ?'=>array($usergroup_id, $session_id)));
|
|
|
}
|
|
@@ -139,10 +143,13 @@ class UserGroup extends Model {
|
|
|
|
|
|
//Addding new relationships
|
|
|
if (!empty($new_items)) {
|
|
|
- foreach($new_items as $id) {
|
|
|
- $params = array('session_id'=>$id, 'usergroup_id'=>$usergroup_id);
|
|
|
- Database::insert($this->usergroup_rel_session_table, $params);
|
|
|
- SessionManager::suscribe_users_to_session($session_id, $user_list);
|
|
|
+ foreach($new_items as $session_id) {
|
|
|
+ $params = array('session_id'=>$session_id, 'usergroup_id'=>$usergroup_id);
|
|
|
+ Database::insert($this->usergroup_rel_session_table, $params);
|
|
|
+
|
|
|
+ if (!empty($user_list)) {
|
|
|
+ SessionManager::suscribe_users_to_session($session_id, $user_list);
|
|
|
+ }
|
|
|
/*
|
|
|
$course_list = SessionManager::get_course_list_by_session_id($id);
|
|
|
foreach ($course_list as $course_data) {
|
|
@@ -185,8 +192,10 @@ class UserGroup extends Model {
|
|
|
if (!empty($delete_items)) {
|
|
|
foreach($delete_items as $course_id) {
|
|
|
$course_info = api_get_course_info_by_id($course_id);
|
|
|
- foreach($user_list as $user_id) {
|
|
|
- CourseManager::unsubscribe_user($user_id, $course_info['code']);
|
|
|
+ if (!empty($user_list)) {
|
|
|
+ foreach($user_list as $user_id) {
|
|
|
+ CourseManager::unsubscribe_user($user_id, $course_info['code']);
|
|
|
+ }
|
|
|
}
|
|
|
Database::delete($this->usergroup_rel_course_table, array('usergroup_id = ? AND course_id = ?'=>array($usergroup_id, $course_id)));
|
|
|
}
|
|
@@ -196,12 +205,13 @@ class UserGroup extends Model {
|
|
|
if (!empty($new_items)) {
|
|
|
foreach($new_items as $course_id) {
|
|
|
$course_info = api_get_course_info_by_id($course_id);
|
|
|
-
|
|
|
- foreach($user_list as $user_id) {
|
|
|
- CourseManager::subscribe_user($user_id, $course_info['code']);
|
|
|
+ if (!empty($user_list)) {
|
|
|
+ foreach($user_list as $user_id) {
|
|
|
+ CourseManager::subscribe_user($user_id, $course_info['code']);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- $params = array('course_id'=>$id, 'usergroup_id'=>$usergroup_id);
|
|
|
+ $params = array('course_id'=>$course_id, 'usergroup_id'=>$usergroup_id);
|
|
|
Database::insert($this->usergroup_rel_course_table, $params);
|
|
|
}
|
|
|
}
|
|
@@ -213,15 +223,65 @@ class UserGroup extends Model {
|
|
|
* @param array list of user ids
|
|
|
*/
|
|
|
function subscribe_users_to_usergroup($usergroup_id, $list) {
|
|
|
- $user_list = self::get_users_by_usergroup($usergroup_id);
|
|
|
+ $current_list = self::get_users_by_usergroup($usergroup_id);
|
|
|
+ $course_list = self::get_courses_by_usergroup($usergroup_id);
|
|
|
+ $session_list = self::get_sessions_by_usergroup($usergroup_id);
|
|
|
+
|
|
|
+ $delete_items = $new_items = array();
|
|
|
+ if (!empty($list)) {
|
|
|
+ foreach ($list as $user_id) {
|
|
|
+ if (!in_array($user_id, $current_list)) {
|
|
|
+ $new_items[] = $user_id;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!empty($current_list)) {
|
|
|
+ foreach($current_list as $user_id) {
|
|
|
+ if (!in_array($user_id, $list)) {
|
|
|
+ $delete_items[] = $user_id;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //Deleting items
|
|
|
+ if (!empty($delete_items)) {
|
|
|
+
|
|
|
+ foreach($delete_items as $user_id) {
|
|
|
+ //Removing courses
|
|
|
+ if (!empty($course_list)) {
|
|
|
+ foreach($course_list as $course_id) {
|
|
|
+ $course_info = api_get_course_info_by_id($course_id);
|
|
|
+ CourseManager::unsubscribe_user($user_id, $course_info['code']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //Removing sessions
|
|
|
+ if (!empty($session_list)) {
|
|
|
+ foreach($session_list as $session_id) {
|
|
|
+ SessionManager::unsubscribe_user_from_session($session_id, $user_id);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- //Deleting relationships
|
|
|
- Database::delete($this->usergroup_rel_user_table, array('usergroup_id = ?'=>$usergroup_id));
|
|
|
+ Database::delete($this->usergroup_rel_user_table, array('usergroup_id = ? AND user_id = ?'=>array($usergroup_id, $user_id)));
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- //Adding new relationships
|
|
|
- if (!empty($list)) {
|
|
|
- foreach($list as $id) {
|
|
|
- $params = array('user_id'=>$id, 'usergroup_id'=>$usergroup_id);
|
|
|
+ //Addding new relationships
|
|
|
+ if (!empty($new_items)) {
|
|
|
+ //Adding sessions
|
|
|
+ if (!empty($session_list)) {
|
|
|
+ foreach($session_list as $session_id) {
|
|
|
+ SessionManager::suscribe_users_to_session($session_id, $new_items);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ foreach($new_items as $user_id) {
|
|
|
+ //Adding courses
|
|
|
+ if (!empty($course_list)) {
|
|
|
+ foreach($course_list as $course_id) {
|
|
|
+ $course_info = api_get_course_info_by_id($course_id);
|
|
|
+ CourseManager::subscribe_user($user_id, $course_info['code']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $params = array('user_id'=>$user_id, 'usergroup_id'=>$usergroup_id);
|
|
|
Database::insert($this->usergroup_rel_user_table, $params);
|
|
|
}
|
|
|
}
|