diff --git a/public/main/announcements/announcements.php b/public/main/announcements/announcements.php index 231513a546..2fa8355d61 100644 --- a/public/main/announcements/announcements.php +++ b/public/main/announcements/announcements.php @@ -4,6 +4,7 @@ use Chamilo\CoreBundle\Framework\Container; use Chamilo\CourseBundle\Entity\CAnnouncement; +use Chamilo\CourseBundle\Entity\CGroup; /** * @author Frederik Vermeire , UGent Internship @@ -49,6 +50,7 @@ $tbl_item_property = Database::get_course_table(TABLE_ITEM_PROPERTY); $isTutor = false; if (!empty($group_id)) { + $groupEntity = api_get_group_entity($group_id); $groupProperties = GroupManager::get_group_properties($group_id); $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'group/group.php?'.api_get_cidreq(), @@ -61,7 +63,7 @@ if (!empty($group_id)) { if (false === $allowToEdit) { // Check if user is tutor group - $isTutor = GroupManager::is_tutor_of_group(api_get_user_id(), $groupProperties, $courseId); + $isTutor = $groupEntity->userIsTutor(api_get_user_entity()); if ($isTutor) { $allowToEdit = true; } diff --git a/public/main/calendar/agenda_js.php b/public/main/calendar/agenda_js.php index be578b60b6..4e2b74d2fd 100644 --- a/public/main/calendar/agenda_js.php +++ b/public/main/calendar/agenda_js.php @@ -40,18 +40,12 @@ api_protect_course_group(GroupManager::GROUP_TOOL_CALENDAR); $agenda = new Agenda($type); -$is_group_tutor = false; $session_id = api_get_session_id(); $group_id = api_get_group_id(); $courseId = api_get_course_int_id(); if (!empty($group_id)) { $group_properties = GroupManager::get_group_properties($group_id); - $is_group_tutor = GroupManager::is_tutor_of_group( - api_get_user_id(), - $group_properties, - $courseId - ); $interbreadcrumb[] = [ "url" => api_get_path(WEB_CODE_PATH)."group/group.php?".api_get_cidreq(), "name" => get_lang('Groups'), @@ -108,7 +102,7 @@ switch ($type) { $tpl->assign('js_format_date', 'll'); $region_value = api_get_language_isocode(); -if ('en' == $region_value) { +if ('en' === $region_value) { $region_value = 'en-GB'; } $tpl->assign('region_value', $region_value); diff --git a/public/main/cron/import_csv.php b/public/main/cron/import_csv.php index 9a3e5fafd7..2a6dec365b 100644 --- a/public/main/cron/import_csv.php +++ b/public/main/cron/import_csv.php @@ -1805,7 +1805,7 @@ class ImportCsv ) { foreach ($groupBackup['tutor'][$teacherId][$courseInfo['code']] as $data) { $groupInfo = GroupManager::get_group_properties($data['group_id']); - GroupManager::subscribe_tutors( + GroupManager::subscribeTutors( [$teacherId], $groupInfo, $data['c_id'] @@ -1818,10 +1818,9 @@ class ImportCsv !empty($groupBackup['user'][$teacherId][$courseInfo['code']]) ) { foreach ($groupBackup['user'][$teacherId][$courseInfo['code']] as $data) { - $groupInfo = GroupManager::get_group_properties($data['group_id']); - GroupManager::subscribe_users( + GroupManager::subscribeUsers( [$teacherId], - $groupInfo, + api_get_group_entity($data['group_id']), $data['c_id'] ); } diff --git a/public/main/forum/editpost.php b/public/main/forum/editpost.php index 9ea009819c..08270a4fc4 100644 --- a/public/main/forum/editpost.php +++ b/public/main/forum/editpost.php @@ -90,9 +90,11 @@ if (api_is_in_gradebook()) { 'name' => get_lang('Assessments'), ]; } +$group_id = api_get_group_id(); +$groupEntity = null; +if ('group' === $origin && $group_id) { + $groupEntity = api_get_group_entity($group_id); -$group_properties = GroupManager::get_group_properties(api_get_group_id()); -if ('group' === $origin) { $_clean['toolgroup'] = api_get_group_id(); $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'group/group.php?'.api_get_cidreq(), @@ -100,7 +102,7 @@ if ('group' === $origin) { ]; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'group/group_space.php?'.api_get_cidreq(), - 'name' => get_lang('Group area').' '.$group_properties['name'], + 'name' => get_lang('Group area').' '.$groupEntity->getName(), ]; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'forum/viewforum.php?'.api_get_cidreq().'&forum='.$forumId, @@ -181,7 +183,7 @@ $group_id = api_get_group_id(); if (!api_is_allowed_to_edit(null, true) && 0 == $forum->getAllowEdit() && - !GroupManager::is_tutor_of_group(api_get_user_id(), $group_properties) + !GroupManager::isTutorOfGroup(api_get_user_id(), $groupEntity) ) { api_not_allowed(true); } diff --git a/public/main/forum/forumfunction.inc.php b/public/main/forum/forumfunction.inc.php index cab1fd3bc1..b014481ae8 100644 --- a/public/main/forum/forumfunction.inc.php +++ b/public/main/forum/forumfunction.inc.php @@ -12,6 +12,7 @@ use Chamilo\CourseBundle\Entity\CForumNotification; use Chamilo\CourseBundle\Entity\CForumPost; use Chamilo\CourseBundle\Entity\CForumThread; use Chamilo\CoreBundle\Entity\Course; +use Chamilo\CourseBundle\Entity\CGroup; use ChamiloSession as Session; use Doctrine\Common\Collections\Criteria; use Symfony\Component\HttpFoundation\File\UploadedFile; @@ -1883,7 +1884,6 @@ function getPosts( ; $groupId = api_get_group_id(); - $groupInfo = GroupManager::get_group_properties($groupId); $filterModerated = true; if (empty($groupId)) { @@ -1891,7 +1891,8 @@ function getPosts( $filterModerated = false; } } else { - if (GroupManager::is_tutor_of_group(api_get_user_id(), $groupInfo) || + $groupEntity = api_get_group_entity($groupId); + if (GroupManager::isTutorOfGroup(api_get_user_id(), $groupEntity) || api_is_allowed_to_edit(false, true) ) { $filterModerated = false; @@ -3831,13 +3832,11 @@ function displayUserLink(User $user) function displayUserImage(User $user) { - $url = Container::getIllustrationRepository()->getIllustrationUrl($user, null, ICON_SIZE_BIG); + $url = Container::getIllustrationRepository()->getIllustrationUrl($user, '', ICON_SIZE_BIG); return '
'; } - - /** * The thread view counter gets increased every time someone looks at the thread. * @@ -5059,16 +5058,11 @@ function delete_attachment($postId, $attachmentId) * * @todo this is basically the same code as the get_forums function. Consider merging the two. */ -function get_forums_of_group($groupInfo) +function get_forums_of_group(CGroup $group) { - $groupId = (int) $groupInfo['id']; - - $group = api_get_group_entity($groupId); $course = api_get_course_entity(); $session = api_get_session_entity(); - $repo = Container::getForumRepository(); - $qb = $repo->getResourcesByCourse($course, $session, $group); return $qb->getQuery()->getResult(); diff --git a/public/main/forum/viewforum.php b/public/main/forum/viewforum.php index 92f23f515c..b10a8fa890 100644 --- a/public/main/forum/viewforum.php +++ b/public/main/forum/viewforum.php @@ -22,8 +22,8 @@ $userId = api_get_user_id(); $sessionId = api_get_session_id(); $groupId = api_get_group_id(); $courseId = api_get_course_int_id(); -$groupInfo = GroupManager::get_group_properties($groupId); -$isTutor = GroupManager::is_tutor_of_group($userId, $groupInfo, $courseId); +//$groupInfo = GroupManager::get_group_properties($groupId); +//$isTutor = GroupManager::is_tutor_of_group($userId, $groupInfo, $courseId); $isAllowedToEdit = api_is_allowed_to_edit(false, true) && api_is_allowed_to_session_edit(false, true); $repo = Container::getForumRepository(); @@ -46,11 +46,10 @@ $category = $forumEntity->getForumCategory(); $is_group_tutor = false; if (!empty($groupId)) { - //Group info & group category info - $group_properties = GroupManager::get_group_properties($groupId); - $is_group_tutor = GroupManager::is_tutor_of_group( + $groupEntity = api_get_group_entity($groupId); + $is_group_tutor = GroupManager::isTutorOfGroup( api_get_user_id(), - $group_properties + $groupEntity ); // Course @@ -102,7 +101,7 @@ if (!empty($groupId)) { ]; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'group/group_space.php?'.api_get_cidreq(), - 'name' => get_lang('Group area').' '.$group_properties['name'], + 'name' => get_lang('Group area').' '.$groupEntity->getName(), ]; $interbreadcrumb[] = [ 'url' => '#', diff --git a/public/main/forum/viewthread.php b/public/main/forum/viewthread.php index da03748dad..9502168afe 100644 --- a/public/main/forum/viewthread.php +++ b/public/main/forum/viewthread.php @@ -62,7 +62,11 @@ if (api_is_in_gradebook()) { } $groupId = api_get_group_id(); -$group_properties = GroupManager::get_group_properties($groupId); +$groupEntity = null; +if (!empty($groupId)) { + $groupEntity = api_get_group_entity($groupId); +} + $sessionId = api_get_session_id(); $ajaxURL = api_get_path(WEB_AJAX_PATH).'forum.ajax.php?'.api_get_cidreq().'&a=change_post_status'; @@ -109,7 +113,7 @@ switch ($my_action) { isset($_GET['content']) && isset($_GET['id']) && (api_is_allowed_to_edit(false, true) || - (isset($group_properties['iid']) && GroupManager::is_tutor_of_group(api_get_user_id(), $group_properties))) + ($groupEntity && GroupManager::isTutorOfGroup(api_get_user_id(), $groupEntity))) ) { /** @var CForumPost $postEntity */ $postEntity = $repoPost->find($_GET['id']); @@ -123,7 +127,7 @@ switch ($my_action) { case 'visible': if (isset($_GET['id']) && (api_is_allowed_to_edit(false, true) || - (isset($group_properties['iid']) && GroupManager::is_tutor_of_group(api_get_user_id(), $group_properties))) + ($groupEntity && GroupManager::isTutorOfGroup(api_get_user_id(), $groupEntity))) ) { /** @var CForumPost $postEntity */ $postEntity = $repoPost->find($_GET['id']); @@ -179,7 +183,7 @@ if (!empty($groupId)) { ]; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'group/group_space.php?'.api_get_cidreq(), - 'name' => get_lang('Group area').' '.$group_properties['name'], + 'name' => get_lang('Group area').' '.$groupEntity->getName(), ]; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_CODE_PATH).'forum/viewforum.php?forum='.$forumId.'&'.api_get_cidreq().'&search='.Security::remove_XSS(urlencode($my_search)), @@ -312,14 +316,18 @@ $group_id = api_get_group_id(); $locked = api_resource_is_locked_by_gradebook($threadId, LINK_FORUM_THREAD); $sessionId = api_get_session_id(); $userId = api_get_user_id(); -$groupInfo = GroupManager::get_group_properties($group_id); $postCount = 1; $allowUserImageForum = api_get_course_setting('allow_user_image_forum'); +$tutorGroup = false; +$groupEntity = null; +if (!empty($group_id)) { + $groupEntity = api_get_group_entity($group_id); + // The user who posted it can edit his thread only if the course admin allowed this in the properties + // of the forum + // The course admin him/herself can do this off course always + $tutorGroup = GroupManager::isTutorOfGroup(api_get_user_id(), $groupEntity); +} -// The user who posted it can edit his thread only if the course admin allowed this in the properties -// of the forum -// The course admin him/herself can do this off course always -$tutorGroup = GroupManager::is_tutor_of_group(api_get_user_id(), $groupInfo); $postList = []; foreach ($posts as $post) { @@ -393,7 +401,7 @@ foreach ($posts as $post) { $editButton = ''; $askForRevision = ''; - if ((isset($groupInfo['iid']) && $tutorGroup) || + if (($groupEntity && $tutorGroup) || (1 == $forumEntity->getAllowEdit() && $posterId == $userId) || (api_is_allowed_to_edit(false, true) && !(api_is_session_general_coach() && $forumEntity->getSessionId() != $sessionId)) @@ -414,7 +422,7 @@ foreach ($posts as $post) { } } - if ((isset($groupInfo['iid']) && $tutorGroup) || + if (($groupEntity && $tutorGroup) || api_is_allowed_to_edit(false, true) && !(api_is_session_general_coach() && $forumEntity->getSessionId() != $sessionId) ) { diff --git a/public/main/group/group.php b/public/main/group/group.php index db3eb707df..3981a379f7 100644 --- a/public/main/group/group.php +++ b/public/main/group/group.php @@ -81,8 +81,8 @@ if (isset($_GET['action']) && $is_allowed_in_course) { break; case 'self_reg': - if (GroupManager::is_self_registration_allowed($userId, $groupInfo)) { - GroupManager::subscribe_users($userId, $groupInfo); + if (GroupManager::is_self_registration_allowed($userId, $groupEntity)) { + GroupManager::subscribeUsers($userId, $groupEntity); Display::addFlash(Display::return_message(get_lang('You are now a member of this group.'))); header("Location: $currentUrl"); exit; @@ -94,8 +94,8 @@ if (isset($_GET['action']) && $is_allowed_in_course) { break; case 'self_unreg': - if (GroupManager::is_self_unregistration_allowed($userId, $groupInfo)) { - GroupManager::unsubscribe_users($userId, $groupInfo); + if (GroupManager::is_self_unregistration_allowed($userId, $groupEntity)) { + GroupManager::subscribeUsers($userId, $groupEntity); Display::addFlash(Display::return_message(get_lang('You\'re now unsubscribed.'))); header("Location: $currentUrl"); exit; @@ -128,7 +128,7 @@ if (api_is_allowed_to_edit(false, true)) { case 'empty_selected': if (is_array($_POST['group'])) { foreach ($_POST['group'] as $myGroupId) { - GroupManager::unsubscribe_all_users($myGroupId); + GroupManager::unsubscribeAllUsers($myGroupId); } Display::addFlash(Display::return_message(get_lang('All selected groups are now empty'))); @@ -241,18 +241,24 @@ if ('true' === api_get_setting('allow_group_categories')) { foreach ($categories as $index => $category) { $categoryId = $category['iid']; - $group_list = GroupManager::get_group_list($categoryId); - $groupToShow = GroupManager::process_groups($group_list, $categoryId); + $groupList = GroupManager::get_group_list($categoryId, [], + null, + null, + false, + null, + true + ); + $groupToShow = GroupManager::processGroups($groupList, $categoryId); if (empty($groupToShow)) { continue; } - if (empty($categoryId) && empty($group_list)) { + if (empty($categoryId) && empty($groupList)) { continue; } - $label = Display::label(count($group_list).' '.get_lang('Groups'), 'info'); + $label = Display::label(count($groupList).' '.get_lang('Groups'), 'info'); $actions = null; if (api_is_allowed_to_edit(false, true) && !empty($categoryId) && empty($sessionId)) { // Edit @@ -292,7 +298,17 @@ if ('true' === api_get_setting('allow_group_categories')) { echo $groupToShow; } } else { - echo GroupManager::process_groups(GroupManager::get_group_list()); + echo GroupManager::processGroups( + GroupManager::get_group_list( + null, + null, + null, + null, + false, + null, + true + ) + ); } if (!isset($_GET['origin']) || 'learnpath' !== $_GET['origin']) { diff --git a/public/main/group/group_space.php b/public/main/group/group_space.php index a4bbd5aec3..dce65440d2 100644 --- a/public/main/group/group_space.php +++ b/public/main/group/group_space.php @@ -21,9 +21,13 @@ require_once api_get_path(SYS_CODE_PATH).'forum/forumfunction.inc.php'; $group_id = api_get_group_id(); $user_id = api_get_user_id(); -$current_group = GroupManager::get_group_properties($group_id); -$group_id = $current_group['iid']; -if (empty($current_group)) { +$groupEntity = null; +if (!empty($group_id)) { + $groupEntity = api_get_group_entity($group_id); +} + +$group_id = $groupEntity->getIid(); +if (empty($groupEntity)) { api_not_allowed(true); } @@ -35,8 +39,8 @@ $interbreadcrumb[] = [ ]; /* Ensure all private groups // Juan Carlos RaƱa Trabado */ -$forums = get_forums_of_group($current_group); -if (!GroupManager::userHasAccessToBrowse($user_id, $current_group, api_get_session_id())) { +$forums = get_forums_of_group($groupEntity); +if (!GroupManager::userHasAccessToBrowse($user_id, $groupEntity, api_get_session_id())) { api_not_allowed(true); } @@ -44,9 +48,9 @@ if (!GroupManager::userHasAccessToBrowse($user_id, $current_group, api_get_sessi * User wants to register in this group */ if (!empty($_GET['selfReg']) && - GroupManager::is_self_registration_allowed($user_id, $current_group) + GroupManager::is_self_registration_allowed($user_id, $groupEntity) ) { - GroupManager::subscribe_users($user_id, $current_group); + GroupManager::subscribeUsers($user_id, $groupEntity); Display::addFlash(Display::return_message(get_lang('You are now a member of this group.'))); } @@ -54,16 +58,16 @@ if (!empty($_GET['selfReg']) && * User wants to unregister from this group */ if (!empty($_GET['selfUnReg']) && - GroupManager::is_self_unregistration_allowed($user_id, $current_group) + GroupManager::is_self_unregistration_allowed($user_id, $groupEntity) ) { - GroupManager::unsubscribe_users($user_id, $current_group); + GroupManager::unsubscribeUsers($user_id, $groupEntity); Display::addFlash( Display::return_message(get_lang('You\'re now unsubscribed.'), 'normal') ); } Display::display_header( - $nameTools.' '.Security::remove_XSS($current_group['name']), + $nameTools.' '.Security::remove_XSS($groupEntity->getName()), 'Group' ); @@ -84,10 +88,10 @@ $confirmationMessage = addslashes(api_htmlentities(get_lang('Please confirm your // Register to group. $subscribe_group = ''; -if (GroupManager::is_self_registration_allowed($user_id, $current_group)) { +if (GroupManager::is_self_registration_allowed($user_id, $groupEntity)) { $subscribe_group = ''. get_lang('Add me to this group'). ''; @@ -95,7 +99,7 @@ if (GroupManager::is_self_registration_allowed($user_id, $current_group)) { // Unregister from group. $unsubscribe_group = ''; -if (GroupManager :: is_self_unregistration_allowed($user_id, $current_group)) { +if (GroupManager::is_self_unregistration_allowed($user_id, $groupEntity)) { $unsubscribe_group = ''. @@ -105,7 +109,7 @@ echo ' '; $edit_url = ''; if (api_is_allowed_to_edit(false, true) || - GroupManager::is_tutor_of_group($user_id, $current_group) + GroupManager::isTutorOfGroup($user_id, $groupEntity) ) { $edit_url = ''. @@ -114,20 +118,19 @@ if (api_is_allowed_to_edit(false, true) || } echo Display::page_header( - Security::remove_XSS($current_group['name']).' '.$edit_url.' '.$subscribe_group.' '.$unsubscribe_group + Security::remove_XSS($groupEntity->getName()).' '.$edit_url.' '.$subscribe_group.' '.$unsubscribe_group ); -if (!empty($current_group['description'])) { - echo '

'.Security::remove_XSS($current_group['description']).'

'; +if (!empty($groupEntity->getDescription())) { + echo '

'.Security::remove_XSS($groupEntity->getDescription()).'

'; } -//if (GroupManager::userHasAccessToBrowse($user_id, $this_group, $session_id)) { if (api_is_allowed_to_edit(false, true) || - GroupManager::userHasAccessToBrowse($user_id, $current_group, api_get_session_id()) + GroupManager::userHasAccessToBrowse($user_id, $groupEntity, api_get_session_id()) ) { $actions_array = []; if (is_array($forums)) { - if (GroupManager::TOOL_NOT_AVAILABLE != $current_group['forum_state']) { + if (GroupManager::TOOL_NOT_AVAILABLE != $groupEntity->getForumState()) { foreach ($forums as $forum) { if ('public' === $forum->getForumGroupPublicPrivate() || ('private' === $forum->getForumGroupPublicPrivate()) || @@ -149,7 +152,7 @@ if (api_is_allowed_to_edit(false, true) || } } - if (GroupManager::TOOL_NOT_AVAILABLE != $current_group['doc_state']) { + if (GroupManager::TOOL_NOT_AVAILABLE != $groupEntity->getDocState()) { // Link to the documents area of this group $actions_array[] = [ 'url' => api_get_path(WEB_CODE_PATH).'document/document.php?'.api_get_cidreq(), @@ -157,7 +160,7 @@ if (api_is_allowed_to_edit(false, true) || ]; } - if (GroupManager::TOOL_NOT_AVAILABLE != $current_group['calendar_state']) { + if (GroupManager::TOOL_NOT_AVAILABLE != $groupEntity->getCalendarState()) { $groupFilter = ''; if (!empty($group_id)) { $groupFilter = "&type=course&user_id=GROUP:$group_id"; @@ -169,14 +172,14 @@ if (api_is_allowed_to_edit(false, true) || ]; } - if (GroupManager::TOOL_NOT_AVAILABLE != $current_group['work_state']) { + if (GroupManager::TOOL_NOT_AVAILABLE != $groupEntity->getWorkState()) { // Link to the works area of this group $actions_array[] = [ 'url' => api_get_path(WEB_CODE_PATH).'work/work.php?'.api_get_cidreq(), 'content' => Display::return_icon('work.png', get_lang('Assignments'), [], 32), ]; } - if (GroupManager::TOOL_NOT_AVAILABLE != $current_group['announcements_state']) { + if (GroupManager::TOOL_NOT_AVAILABLE != $groupEntity->getAnnouncementsState()) { // Link to a group-specific part of announcements $actions_array[] = [ 'url' => api_get_path(WEB_CODE_PATH).'announcements/announcements.php?'.api_get_cidreq(), @@ -184,28 +187,28 @@ if (api_is_allowed_to_edit(false, true) || ]; } - if (GroupManager::TOOL_NOT_AVAILABLE != $current_group['wiki_state']) { + if (GroupManager::TOOL_NOT_AVAILABLE != $groupEntity->getWikiState()) { // Link to the wiki area of this group $actions_array[] = [ 'url' => api_get_path(WEB_CODE_PATH). - 'wiki/index.php?'.api_get_cidreq().'&action=show&title=index&sid='.api_get_session_id().'&group_id='.$current_group['id'], + 'wiki/index.php?'.api_get_cidreq().'&action=show&title=index&sid='.api_get_session_id().'&group_id='.$groupEntity->getIid(), 'content' => Display::return_icon('wiki.png', get_lang('Wiki'), [], 32), ]; } - if (GroupManager::TOOL_NOT_AVAILABLE != $current_group['chat_state']) { + if (GroupManager::TOOL_NOT_AVAILABLE != $groupEntity->getChatState()) { // Link to the chat area of this group if (api_get_course_setting('allow_open_chat_window')) { $actions_array[] = [ 'url' => 'javascript: void(0);', 'content' => Display::return_icon('chat.png', get_lang('Chat'), [], 32), 'url_attributes' => [ - 'onclick' => " window.open('../chat/chat.php?".api_get_cidreq().'&toolgroup='.$current_group['id']."','window_chat_group_".api_get_course_id().'_'.api_get_group_id()."','height=380, width=625, left=2, top=2, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no')", + 'onclick' => " window.open('../chat/chat.php?".api_get_cidreq().'&toolgroup='.$groupEntity->getIid()."','window_chat_group_".api_get_course_id().'_'.api_get_group_id()."','height=380, width=625, left=2, top=2, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no')", ], ]; } else { $actions_array[] = [ - 'url' => api_get_path(WEB_CODE_PATH).'chat/chat.php?'.api_get_cidreq().'&gid='.$current_group['id'], + 'url' => api_get_path(WEB_CODE_PATH).'chat/chat.php?'.api_get_cidreq().'&gid='.$groupEntity->getIid(), 'content' => Display::return_icon('chat.png', get_lang('Chat'), [], 32), ]; } @@ -236,12 +239,13 @@ if (api_is_allowed_to_edit(false, true) || } else { $actions_array = []; if (is_array($forums)) { - if (GroupManager::TOOL_PUBLIC == $current_group['forum_state']) { + if (GroupManager::TOOL_PUBLIC == $groupEntity->getForumState()) { foreach ($forums as $forum) { if ('public' === $forum->getForumGroupPublicPrivate()) { $actions_array[] = [ 'url' => api_get_path(WEB_CODE_PATH). - 'forum/viewforum.php?cid='.api_get_course_int_id().'&forum='.$forum->getIid().'&gid='.$current_group['id'].'&origin=group', + 'forum/viewforum.php?cid='.api_get_course_int_id(). + '&forum='.$forum->getIid().'&gid='.$groupEntity->getIid().'&origin=group', 'content' => Display::return_icon( 'forum.png', get_lang('Group Forum'), @@ -254,7 +258,7 @@ if (api_is_allowed_to_edit(false, true) || } } - if (GroupManager::TOOL_PUBLIC == $current_group['doc_state']) { + if (GroupManager::TOOL_PUBLIC == $groupEntity->getDocState()) { // Link to the documents area of this group $actions_array[] = [ 'url' => api_get_path(WEB_CODE_PATH).'document/document.php?'.api_get_cidreq(), @@ -262,7 +266,7 @@ if (api_is_allowed_to_edit(false, true) || ]; } - if (GroupManager::TOOL_PUBLIC == $current_group['calendar_state']) { + if (GroupManager::TOOL_PUBLIC == $groupEntity->getCalendarState()) { $groupFilter = ''; if (!empty($group_id)) { $groupFilter = "&type=course&user_id=GROUP:$group_id"; @@ -274,7 +278,7 @@ if (api_is_allowed_to_edit(false, true) || ]; } - if (GroupManager::TOOL_PUBLIC == $current_group['work_state']) { + if (GroupManager::TOOL_PUBLIC == $groupEntity->getWorkState()) { // Link to the works area of this group $actions_array[] = [ 'url' => api_get_path(WEB_CODE_PATH).'work/work.php?'.api_get_cidreq(), @@ -282,7 +286,7 @@ if (api_is_allowed_to_edit(false, true) || ]; } - if (GroupManager::TOOL_PUBLIC == $current_group['announcements_state']) { + if (GroupManager::TOOL_PUBLIC == $groupEntity->getAnnouncementsState()) { // Link to a group-specific part of announcements $actions_array[] = [ 'url' => api_get_path(WEB_CODE_PATH).'announcements/announcements.php?'.api_get_cidreq(), @@ -290,24 +294,25 @@ if (api_is_allowed_to_edit(false, true) || ]; } - if (GroupManager::TOOL_PUBLIC == $current_group['wiki_state']) { + if (GroupManager::TOOL_PUBLIC == $groupEntity->getWikiState()) { // Link to the wiki area of this group $actions_array[] = [ - 'url' => api_get_path(WEB_CODE_PATH).'wiki/index.php?'.api_get_cidreq().'&action=show&title=index&sid='.api_get_session_id().'&gid='.$current_group['id'], + 'url' => api_get_path(WEB_CODE_PATH).'wiki/index.php?'. + api_get_cidreq().'&action=show&title=index&sid='.api_get_session_id().'&gid='.$group_id, 'content' => Display::return_icon('wiki.png', get_lang('Wiki'), [], 32), ]; } - if (GroupManager::TOOL_PUBLIC == $current_group['chat_state']) { + if (GroupManager::TOOL_PUBLIC == $groupEntity->getChatState()) { // Link to the chat area of this group if (api_get_course_setting('allow_open_chat_window')) { $actions_array[] = [ - 'url' => "javascript: void(0);\" onclick=\"window.open('../chat/chat.php?".api_get_cidreq().'&toolgroup='.$current_group['id']."','window_chat_group_".api_get_course_id().'_'.api_get_group_id()."','height=380, width=625, left=2, top=2, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no') \"", + 'url' => "javascript: void(0);\" onclick=\"window.open('../chat/chat.php?".api_get_cidreq().'&toolgroup='.$group_id."','window_chat_group_".api_get_course_id().'_'.api_get_group_id()."','height=380, width=625, left=2, top=2, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no') \"", 'content' => Display::return_icon('chat.png', get_lang('Chat'), [], 32), ]; } else { $actions_array[] = [ - 'url' => api_get_path(WEB_CODE_PATH).'chat/chat.php?'.api_get_cidreq().'&toolgroup='.$current_group['id'], + 'url' => api_get_path(WEB_CODE_PATH).'chat/chat.php?'.api_get_cidreq().'&toolgroup='.$group_id, 'content' => Display::return_icon('chat.png', get_lang('Chat'), [], 32), ]; } @@ -321,16 +326,15 @@ if (api_is_allowed_to_edit(false, true) || /* * List all the tutors of the current group */ -$tutors = GroupManager::get_subscribed_tutors($current_group); +$tutors = $groupEntity->getTutors(); $userRepo = Container::getUserRepository(); $tutor_info = ''; if (0 == count($tutors)) { $tutor_info = get_lang('(none)'); } else { $tutor_info .= '