/**
  * Update group category
  *
  * @param int $id
  * @param string $title
  * @param string $description
  * @param $doc_state
  * @param $work_state
  * @param $calendar_state
  * @param $announcements_state
  * @param $forum_state
  * @param $wiki_state
  * @param $chat_state
  * @param $self_registration_allowed
  * @param $self_unregistration_allowed
  * @param $maximum_number_of_students
  * @param $groups_per_user
  */
 public static function update_category($id, $title, $description, $doc_state, $work_state, $calendar_state, $announcements_state, $forum_state, $wiki_state, $chat_state, $self_registration_allowed, $self_unregistration_allowed, $maximum_number_of_students, $groups_per_user)
 {
     $table_group_category = Database::get_course_table(TABLE_GROUP_CATEGORY);
     $id = Database::escape_string($id);
     $course_id = api_get_course_int_id();
     $sql = "UPDATE " . $table_group_category . "SET\n                    title='" . Database::escape_string($title) . "',\n                    description='" . Database::escape_string($description) . "',\n                    doc_state = '" . Database::escape_string($doc_state) . "',\n                    work_state = '" . Database::escape_string($work_state) . "',\n                    calendar_state = '" . Database::escape_string($calendar_state) . "',\n                    announcements_state = '" . Database::escape_string($announcements_state) . "',\n                    forum_state = '" . Database::escape_string($forum_state) . "',\n                    wiki_state = '" . Database::escape_string($wiki_state) . "',\n                    chat_state = '" . Database::escape_string($chat_state) . "',\n                    groups_per_user   = '******',\n                    self_reg_allowed = '" . Database::escape_string($self_registration_allowed) . "',\n                    self_unreg_allowed = '" . Database::escape_string($self_unregistration_allowed) . "',\n                    max_student = " . Database::escape_string($maximum_number_of_students) . "\n                WHERE c_id = {$course_id} AND id = {$id}";
     Database::query($sql);
     // Updating all groups inside this category
     $groups = self::get_group_list($id);
     if (!empty($groups)) {
         foreach ($groups as $group) {
             GroupManager::set_group_properties($group['id'], $group['name'], $group['description'], $maximum_number_of_students, $doc_state, $work_state, $calendar_state, $announcements_state, $forum_state, $wiki_state, $chat_state, $self_registration_allowed, $self_unregistration_allowed, $id);
         }
     }
 }
Exemple #2
0
$form->addGroup($group, '', Display::return_icon('wiki.png', get_lang('GroupWiki'), array(), ICON_SIZE_SMALL) . ' ' . get_lang('GroupWiki'), '', false);
// Chat settings
$group = array($form->createElement('radio', 'chat_state', get_lang('Chat'), get_lang('NotAvailable'), GroupManager::TOOL_NOT_AVAILABLE), $form->createElement('radio', 'chat_state', null, get_lang('Public'), GroupManager::TOOL_PUBLIC), $form->createElement('radio', 'chat_state', null, get_lang('Private'), GroupManager::TOOL_PRIVATE));
$form->addGroup($group, '', Display::return_icon('chat.png', get_lang('Chat'), array(), ICON_SIZE_SMALL) . ' ' . get_lang('Chat'), '', false);
// submit button
$form->addButtonSave(get_lang('SaveSettings'), 'submit');
if ($form->validate()) {
    $values = $form->exportValues();
    if ($values['max_member_no_limit'] == GroupManager::MEMBER_PER_GROUP_NO_LIMIT) {
        $max_member = GroupManager::MEMBER_PER_GROUP_NO_LIMIT;
    } else {
        $max_member = $values['max_member'];
    }
    $self_registration_allowed = isset($values['self_registration_allowed']) ? 1 : 0;
    $self_unregistration_allowed = isset($values['self_unregistration_allowed']) ? 1 : 0;
    GroupManager::set_group_properties($current_group['id'], $values['name'], $values['description'], $max_member, $values['doc_state'], $values['work_state'], $values['calendar_state'], $values['announcements_state'], $values['forum_state'], $values['wiki_state'], $values['chat_state'], $self_registration_allowed, $self_unregistration_allowed);
    // Storing the tutors (we first remove all the tutors and then add only those who were selected)
    GroupManager::unsubscribe_all_tutors($current_group['id']);
    if (isset($_POST['group_tutors']) && count($_POST['group_tutors']) > 0) {
        GroupManager::subscribe_tutors($values['group_tutors'], $current_group['id']);
    }
    // Storing the users (we first remove all users and then add only those who were selected)
    GroupManager::unsubscribe_all_users($current_group['id']);
    if (isset($_POST['group_members']) && count($_POST['group_members']) > 0) {
        GroupManager::subscribe_users($values['group_members'], $current_group['id']);
    }
    // Returning to the group area (note: this is inconsistent with the rest of chamilo)
    $cat = GroupManager::get_category_from_group($current_group['id']);
    if (isset($_POST['group_members']) && count($_POST['group_members']) > $max_member && $max_member != GroupManager::MEMBER_PER_GROUP_NO_LIMIT) {
        Display::addFlash(Display::return_message(get_lang('GroupTooMuchMembers'), 'warning'));
        header('Location: group.php?' . api_get_cidreq(true, false));