예제 #1
0
// Student group self-selection
if ($select and $canselect and isset($groups[$select]) and $isopen) {
    $grpname = format_string($groups[$select]->name, true, array('context' => $context));
    $usercount = isset($counts[$select]) ? $counts[$select]->usercount : 0;
    $data = array('id' => $id, 'select' => $select, 'group_password' => $password);
    $mform = new select_form(null, array($data, $groupselect, $grpname));
    if ($mform->is_cancelled()) {
        redirect($PAGE->url);
    }
    if (!$isopen) {
        $problems[] = get_string('cannotselectclosed', 'mod_groupselect');
    } else {
        if ($groupselect->maxmembers and $groupselect->maxmembers <= $usercount) {
            $problems[] = get_string('cannotselectmaxed', 'mod_groupselect', $grpname);
        } else {
            if ($return = $mform->get_data()) {
                groups_add_member($select, $USER->id);
                //add_to_log ( $course->id, 'groupselect', 'select', 'view.php?id=' . $cm->id, $groupselect->id, $cm->id );
                redirect($PAGE->url);
            } else {
                echo $OUTPUT->header();
                echo $OUTPUT->heading(get_string('select', 'mod_groupselect', $grpname));
                echo $OUTPUT->box_start('generalbox', 'notice');
                echo '<p>' . get_string('selectconfirm', 'mod_groupselect', $grpname) . '</p>';
                $mform->display();
                echo $OUTPUT->box_end();
                echo $OUTPUT->footer();
                die;
            }
        }
    }