Adding course_id, format code.

1.10.x
Julio 10 years ago
parent b0aa901042
commit 8ec76947f7
  1. 81
      main/inc/lib/groupmanager.lib.php

@ -517,7 +517,8 @@ class GroupManager
$name = Database::escape_string($name);
$table_group = Database::get_course_table(TABLE_GROUP);
$sql = "SELECT * FROM $table_group
WHERE c_id = $course_id AND name = '$name' LIMIT 1";
WHERE c_id = $course_id AND name = '$name'
LIMIT 1";
$res = Database::query($sql);
$group = array();
if (Database::num_rows($res)) {
@ -593,7 +594,6 @@ class GroupManager
$table_group = Database :: get_course_table(TABLE_GROUP);
$table_forum = Database :: get_course_table(TABLE_FORUM);
$categoryId = intval($categoryId);
$group_id = intval($group_id);
$course_id = api_get_course_int_id();
@ -686,6 +686,7 @@ class GroupManager
$sql = "SELECT * FROM $table_group_cat
WHERE c_id = $course_id AND id = $id LIMIT 1";
$res = Database::query($sql);
return Database::fetch_array($res);
}
@ -708,7 +709,8 @@ class GroupManager
$title = Database::escape_string($title);
$table_group_cat = Database::get_course_table(TABLE_GROUP_CATEGORY);
$sql = "SELECT * FROM $table_group_cat
WHERE c_id = $course_id AND title = '$title' LIMIT 1";
WHERE c_id = $course_id AND title = '$title'
LIMIT 1";
$res = Database::query($sql);
$category = array();
if (Database::num_rows($res)) {
@ -1049,6 +1051,7 @@ class GroupManager
$users[] = $obj->user_id;
}
}
return $users;
}
@ -1284,7 +1287,8 @@ class GroupManager
} else {
$course_id = intval($course_id);
}
$sql = "SELECT COUNT(*) AS number_of_students FROM $table_group_user
$sql = "SELECT COUNT(*) AS number_of_students
FROM $table_group_user
WHERE c_id = $course_id AND group_id = $group_id";
$db_result = Database::query($sql);
$db_object = Database::fetch_object($db_result);
@ -1316,10 +1320,10 @@ class GroupManager
*/
public static function user_in_number_of_groups($user_id, $cat_id = null)
{
$table_group_user = Database :: get_course_table(TABLE_GROUP_USER);
$table_group = Database :: get_course_table(TABLE_GROUP);
$user_id = intval($user_id);
$cat_id = intval($cat_id);
$table_group_user = Database:: get_course_table(TABLE_GROUP_USER);
$table_group = Database:: get_course_table(TABLE_GROUP);
$user_id = intval($user_id);
$cat_id = intval($cat_id);
$course_id = api_get_course_int_id();
$cat_condition = '';
@ -1336,6 +1340,7 @@ class GroupManager
g.id = gu.group_id $cat_condition";
$db_result = Database::query($sql);
$db_object = Database::fetch_object($db_result);
return $db_object->number_of_groups;
}
@ -1359,6 +1364,7 @@ class GroupManager
WHERE c_id = $course_id AND id = $group_id";
$db_result = Database::query($sql);
$db_object = Database::fetch_object($db_result);
return $db_object->self_registration_allowed == 1 && self :: can_user_subscribe($user_id, $group_id);
} else {
return false;
@ -1509,6 +1515,7 @@ class GroupManager
'username' => $user->username
);
}
return $users;
}
@ -1552,6 +1559,7 @@ class GroupManager
$users[] = $user->user_id;
}
}
return $users;
}
@ -1559,19 +1567,20 @@ class GroupManager
* Subscribe user(s) to a specified group in current course (as a student)
* @param mixed $user_ids Can be an array with user-id's or a single user-id
* @param int $group_id
* @param int $course_id
* @return bool TRUE if successful
*/
public static function subscribe_users($user_ids, $group_id)
public static function subscribe_users($user_ids, $group_id, $course_id = null)
{
$user_ids = is_array($user_ids) ? $user_ids : array($user_ids);
$result = true;
$course_id = api_get_course_int_id();
$course_id = isset($course_id) && !empty($course_id) ? intval($course_id) : api_get_course_int_id();
$group_id = intval($group_id);
$table_group_user = Database :: get_course_table(TABLE_GROUP_USER);
if (!empty($user_ids)) {
foreach ($user_ids as $user_id) {
if (self::can_user_subscribe($user_id, $group_id)) {
$user_id = intval($user_id);
$group_id = intval($group_id);
$sql = "INSERT INTO ".$table_group_user." (c_id, user_id, group_id)
VALUES ('$course_id', '".$user_id."', '".$group_id."')";
Database::query($sql);
@ -1586,20 +1595,22 @@ class GroupManager
* Subscribe tutor(s) to a specified group in current course
* @param mixed $user_ids Can be an array with user-id's or a single user-id
* @param int $group_id
* @param int $course_id
*
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
* @see subscribe_users. This function is almost an exact copy of that function.
* @return bool TRUE if successful
*/
public static function subscribe_tutors($user_ids, $group_id)
public static function subscribe_tutors($user_ids, $group_id, $course_id = null)
{
$user_ids = is_array($user_ids) ? $user_ids : array($user_ids);
$result = true;
$course_id = api_get_course_int_id();
$course_id = isset($course_id) && !empty($course_id) ? intval($course_id) : api_get_course_int_id();
$table_group_tutor = Database :: get_course_table(TABLE_GROUP_TUTOR);
$group_id = intval($group_id);
foreach ($user_ids as $user_id) {
$user_id = intval($user_id);
$group_id = intval($group_id);
if (self::can_user_subscribe($user_id, $group_id, false)) {
$sql = "INSERT INTO " . $table_group_tutor . " (c_id, user_id, group_id)
VALUES ('$course_id', '" . $user_id . "', '" . $group_id . "')";
@ -1623,7 +1634,11 @@ class GroupManager
$group_id = intval($group_id);
$course_id = api_get_course_int_id();
$sql = 'DELETE FROM '.$table_group_user.'
WHERE c_id = '.$course_id.' AND group_id = '.$group_id.' AND user_id IN ('.implode(',', $user_ids).')';
WHERE
c_id = '.$course_id.' AND
group_id = '.$group_id.' AND
user_id IN ('.implode(',', $user_ids).')
';
Database::query($sql);
}
@ -1651,7 +1666,8 @@ class GroupManager
}
}
$table_group_user = Database :: get_course_table(TABLE_GROUP_USER);
$sql = 'DELETE FROM '.$table_group_user.' WHERE group_id IN ('.implode(',', $group_ids).') AND c_id = '.$course_id;
$sql = 'DELETE FROM '.$table_group_user.'
WHERE group_id IN ('.implode(',', $group_ids).') AND c_id = '.$course_id;
$result = Database::query($sql);
return $result;
}
@ -1743,7 +1759,8 @@ class GroupManager
$user_id = intval($user_id);
$course_id = intval($course_id);
$sql = "SELECT group_id FROM $tbl_group WHERE c_id = $course_id AND user_id = '$user_id'";
$sql = "SELECT group_id FROM $tbl_group
WHERE c_id = $course_id AND user_id = '$user_id'";
$groupres = Database::query($sql);
if ($groupres) {
@ -1753,7 +1770,8 @@ class GroupManager
}
//Also loading if i'm the tutor
$sql = "SELECT group_id FROM $tbl_group_tutor WHERE c_id = $course_id AND user_id = '$user_id'";
$sql = "SELECT group_id FROM $tbl_group_tutor
WHERE c_id = $course_id AND user_id = '$user_id'";
$groupres = Database::query($sql);
if ($groupres) {
while ($myrow = Database::fetch_array($groupres)) {
@ -1787,13 +1805,11 @@ class GroupManager
public static function get_complete_list_of_users_that_can_be_added_to_group($course_code, $group_id)
{
$_course = api_get_course_info();
$_user = api_get_user_info();
$category = self :: get_category_from_group($group_id, $course_code);
$number_of_groups_limit = $category['groups_per_user'] == self::GROUP_PER_MEMBER_NO_LIMIT ? self::INFINITE : $category['groups_per_user'];
$real_course_code = $_course['sysCode'];
$real_course_info = api_get_course_info($real_course_code);
$real_course_user_list = CourseManager :: get_user_list_from_course_code($real_course_code);
// add real course to the list
$user_subscribed_course_list = array($real_course_info);
@ -1828,19 +1844,20 @@ class GroupManager
}
}
}
if (is_array($complete_user_list)) {
//sort once, on array field "full_name"
$complete_user_list = TableSort :: sort_table($complete_user_list, "full_name");
//filter out duplicates, based on field "user_id"
$complete_user_list = self :: filter_duplicates($complete_user_list, "user_id");
$complete_user_list = self :: filter_users_already_in_group($complete_user_list, $group_id);
}
return $complete_user_list;
}
/**
* Filter out duplicates in a multidimensional array
* by comparing field $compare_field.
* Filter out duplicates in a multidimensional array
* by comparing field $compare_field.
*
* @param $user_array_in list of users (must be sorted).
* @param string $compare_field, the field to be compared
@ -1859,7 +1876,7 @@ class GroupManager
return $user_array_out;
}
/**
* Filters from the array $user_array_in the users already in the group $group_id.
* Filters from the array $user_array_in the users already in the group $group_id.
*/
public static function filter_users_already_in_group($user_array_in, $group_id)
{
@ -1981,6 +1998,7 @@ class GroupManager
/**
* @param int $userId
* @param array $groupInfo
* @param int $sessionId
*
* @return bool
*/
@ -2172,6 +2190,7 @@ class GroupManager
//$complete_user_list = self :: filter_only_students($complete_user_list);
//now sort by # of group left
$complete_user_list = TableSort::sort_table($complete_user_list, 'number_groups_left', SORT_DESC);
return $complete_user_list;
}
@ -2545,6 +2564,7 @@ class GroupManager
}
}
}
return $result;
}
@ -2713,7 +2733,7 @@ class GroupManager
'.Display::return_icon('teacher.png').' '.get_lang('GroupTutors').'
</a>
</li>
</ul>';
</ul>';
}
/**
@ -2791,7 +2811,14 @@ class GroupManager
public static function getSearchForm()
{
$url = api_get_path(WEB_CODE_PATH).'group/group_overview.php?'.api_get_cidreq();
$form = new FormValidator('search_groups', 'get', $url, null, array('class' => 'form-search'), FormValidator::LAYOUT_INLINE);
$form = new FormValidator(
'search_groups',
'get',
$url,
null,
array('class' => 'form-search'),
FormValidator::LAYOUT_INLINE
);
$form->addElement('text', 'keyword');
$form->addButtonSearch();
return $form->toHtml();

Loading…
Cancel
Save