Add session id parameter in function get_group_list

Fix group/session events see BT#11972
pull/2487/head
jmontoyaa 9 years ago
parent dfc990884e
commit 02518b9e3f
  1. 4
      main/dropbox/dropbox_functions.inc.php
  2. 9
      main/inc/lib/agenda.lib.php
  3. 2
      main/inc/lib/exercise.lib.php
  4. 21
      main/inc/lib/groupmanager.lib.php

@ -649,7 +649,7 @@ function display_add_form($viewReceivedCategory, $viewSentCategory, $view, $id =
if (($dropbox_person->isCourseTutor || $dropbox_person->isCourseAdmin) if (($dropbox_person->isCourseTutor || $dropbox_person->isCourseAdmin)
&& $allowGroups == 'true' || $allowStudentToStudent == 'true' && $allowGroups == 'true' || $allowStudentToStudent == 'true'
) { ) {
$complete_group_list_for_dropbox = GroupManager::get_group_list(null, $course_info['code']); $complete_group_list_for_dropbox = GroupManager::get_group_list(null, $course_info);
if (count($complete_group_list_for_dropbox) > 0) { if (count($complete_group_list_for_dropbox) > 0) {
foreach ($complete_group_list_for_dropbox as $current_group) { foreach ($complete_group_list_for_dropbox as $current_group) {
@ -1443,4 +1443,4 @@ function get_mail_id_base()
// allowing enough space for pseudo_ids as uploader_id, dest_user_id, user_id: // allowing enough space for pseudo_ids as uploader_id, dest_user_id, user_id:
// mailing pseudo_id = dropbox_cnf('mailingIdBase') + mailing id // mailing pseudo_id = dropbox_cnf('mailingIdBase') + mailing id
return 10000000; return 10000000;
} }

@ -1657,7 +1657,14 @@ class Agenda
$session_id = intval($session_id); $session_id = intval($session_id);
$user_id = intval($user_id); $user_id = intval($user_id);
$groupList = GroupManager::get_group_list(null, $courseInfo['code']);
$groupList = GroupManager::get_group_list(
null,
$courseInfo,
null,
$session_id
);
$groupNameList = array(); $groupNameList = array();
if (!empty($groupList)) { if (!empty($groupList)) {
foreach ($groupList as $group) { foreach ($groupList as $group) {

@ -1923,7 +1923,7 @@ HOTSPOT;
$results[] = $rowx; $results[] = $rowx;
} }
$group_list = GroupManager::get_group_list(null, $courseCode); $group_list = GroupManager::get_group_list(null, $courseInfo);
$clean_group_list = array(); $clean_group_list = array();
if (!empty($group_list)) { if (!empty($group_list)) {

@ -77,17 +77,22 @@ class GroupManager
* Get list of groups for current course. * Get list of groups for current course.
* @param int $categoryId The id of the category from which the groups are * @param int $categoryId The id of the category from which the groups are
* requested * requested
* @param string $course_code Default is current course * @param array $course_info Default is current course
* @param int $status
* @param int $sessionId
* @return array An array with all information about the groups. * @return array An array with all information about the groups.
*/ */
public static function get_group_list($categoryId = null, $course_code = null, $status = null) public static function get_group_list(
{ $categoryId = null,
$course_info = api_get_course_info($course_code); $course_info = [],
$status = null,
$sessionId = 0
) {
$course_info = empty($course_info) ? api_get_course_info() : $course_info;
if (empty($course_info)) { if (empty($course_info)) {
return []; return [];
} }
$session_id = api_get_session_id(); $sessionId = empty($sessionId) ? api_get_session_id() : (int) $sessionId;
$course_id = $course_info['real_id']; $course_id = $course_info['real_id'];
$table_group = Database::get_course_table(TABLE_GROUP); $table_group = Database::get_course_table(TABLE_GROUP);
@ -108,12 +113,12 @@ class GroupManager
if (!is_null($categoryId)) { if (!is_null($categoryId)) {
$sql .= " AND g.category_id = '".intval($categoryId)."' "; $sql .= " AND g.category_id = '".intval($categoryId)."' ";
$session_condition = api_get_session_condition($session_id); $session_condition = api_get_session_condition($sessionId);
if (!empty($session_condition)) { if (!empty($session_condition)) {
$sql .= $session_condition; $sql .= $session_condition;
} }
} else { } else {
$session_condition = api_get_session_condition($session_id, true); $session_condition = api_get_session_condition($sessionId, true);
} }
if (!is_null($status)) { if (!is_null($status)) {

Loading…
Cancel
Save