group MDL-19798 Updated print_header and build_navigation to OUTPUT and PAGE equivalents
[moodle.git] / group / group.php
1 <?php
2 /**
3  * Create group OR edit group settings.
4  *
5  * @copyright &copy; 2006 The Open University
6  * @author N.D.Freear AT open.ac.uk
7  * @author J.White AT open.ac.uk
8  * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
9  * @package groups
10  */
12 require_once('../config.php');
13 require_once('lib.php');
14 require_once('group_form.php');
16 /// get url variables
17 $courseid = optional_param('courseid', 0, PARAM_INT);
18 $id       = optional_param('id', 0, PARAM_INT);
19 $delete   = optional_param('delete', 0, PARAM_BOOL);
20 $confirm  = optional_param('confirm', 0, PARAM_BOOL);
22 // This script used to support group delete, but that has been moved. In case
23 // anyone still links to it, let's redirect to the new script.
24 if($delete) {
25     redirect('delete.php?courseid='.$courseid.'&groups='.$id);
26 }
28 if ($id) {
29     if (!$group = $DB->get_record('groups', array('id'=>$id))) {
30         print_error('invalidgroupid');
31     }
32     $group->description = clean_text($group->description);
33     if (empty($courseid)) {
34         $courseid = $group->courseid;
36     } else if ($courseid != $group->courseid) {
37         print_error('invalidcourseid');
38     }
40     if (!$course = $DB->get_record('course', array('id'=>$courseid))) {
41         print_error('invalidcourseid');
42     }
44 } else {
45     if (!$course = $DB->get_record('course', array('id'=>$courseid))) {
46         print_error('invalidcourseid');
47     }
48     $group = new object();
49     $group->courseid = $course->id;
50 }
52 require_login($course);
53 $context = get_context_instance(CONTEXT_COURSE, $course->id);
54 require_capability('moodle/course:managegroups', $context);
56 $returnurl = $CFG->wwwroot.'/group/index.php?id='.$course->id.'&amp;group='.$id;
58 if ($id and $delete) {
59     if (!$confirm) {
60         $PAGE->set_title(get_string('deleteselectedgroup', 'group'));
61         $PAGE->set_heading(get_string('deleteselectedgroup', 'group'));
62         echo $OUTPUT->header();
63         $optionsyes = array('id'=>$id, 'delete'=>1, 'courseid'=>$courseid, 'sesskey'=>sesskey(), 'confirm'=>1);
64         $optionsno  = array('id'=>$courseid);
65         $formcontinue = html_form::make_button('group.php', $optionsyes, get_string('yes'), 'get');
66         $formcancel = html_form::make_button($baseurl, $optionsno, get_string('no'), 'get');
67         echo $OUTPUT->confirm(get_string('deletegroupconfirm', 'group', $group->name), $formcontinue, $formcancel);
68         echo $OUTPUT->footer();
69         die;
71     } else if (confirm_sesskey()){
72         if (groups_delete_group($id)) {
73             redirect('index.php?id='.$course->id);
74         } else {
75             print_error('erroreditgroup', 'group', $returnurl);
76         }
77     }
78 }
80 /// First create the form
81 $editform = new group_form();
82 $editform->set_data($group);
84 if ($editform->is_cancelled()) {
85     redirect($returnurl);
87 } elseif ($data = $editform->get_data()) {
89     if ($data->id) {
90         groups_update_group($data, $editform);
91     } else {
92         $id = groups_create_group($data, $editform);
93         $returnurl = $CFG->wwwroot.'/group/index.php?id='.$course->id.'&amp;group='.$id;
94     }
96     redirect($returnurl);
97 }
99 $strgroups = get_string('groups');
100 $strparticipants = get_string('participants');
102 if ($id) {
103     $strheading = get_string('editgroupsettings', 'group');
104 } else {
105     $strheading = get_string('creategroup', 'group');
108 $PAGE->navbar->add($strparticipants, new moodle_url($CFG->wwwroot.'/user/index.php', array('id'=>$courseid)));
109 $PAGE->navbar->add($strgroups, new moodle_url($CFG->wwwroot.'/group/index.php', array('id'=>$courseid)));
110 $PAGE->navbar->add($strheading);
112 /// Print header
113 $PAGE->set_title($strgroups);
114 $PAGE->set_heading(': '.$strgroups);
115 echo $OUTPUT->header();
116 echo '<div id="grouppicture">';
117 if ($id) {
118     print_group_picture($group, $course->id);
120 echo '</div>';
121 $editform->display();
122 echo $OUTPUT->footer();
123 ?>