group MDL-19798 Updated print_header and build_navigation to OUTPUT and PAGE equivalents
[moodle.git] / group / delete.php
1 <?php
2 /**
3  * Delete group
4  *
5  * @copyright &copy; 2008 The Open University
6  * @author s.marshall AT open.ac.uk
7  * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
8  * @package groups
9  */
11 require_once('../config.php');
12 require_once('lib.php');
14 // Get and check parameters
15 $courseid = required_param('courseid', PARAM_INT);
16 $groupids = required_param('groups', PARAM_SEQUENCE);
17 $confirm = optional_param('confirm', 0, PARAM_BOOL);
19 // Make sure course is OK and user has access to manage groups
20 if (!$course = $DB->get_record('course', array('id' => $courseid))) {
21     print_error('invalidcourseid');
22 }
23 require_login($course);
24 $context = get_context_instance(CONTEXT_COURSE, $course->id);
25 require_capability('moodle/course:managegroups', $context);
27 // Make sure all groups are OK and belong to course
28 $groupidarray = explode(',',$groupids);
29 $groupnames = array();
30 foreach($groupidarray as $groupid) {
31     if (!$group = $DB->get_record('groups', array('id' => $groupid))) {
32         print_error('invalidgroupid');
33     }
34     if ($courseid != $group->courseid) {
35         print_error('groupunknown', '', '', $group->courseid);
36     }
37     $groupnames[] = format_string($group->name);
38 }
40 $returnurl='index.php?id='.$course->id;
42 if(count($groupidarray)==0) {
43     print_error('errorselectsome','group',$returnurl);
44 }
46 if ($confirm && data_submitted()) {
47     if (!confirm_sesskey() ) {
48         print_error('confirmsesskeybad','error',$returnurl);
49     }
50     $DB->begin_sql();
51     foreach($groupidarray as $groupid) {
52         groups_delete_group($groupid);
53     }
54     $DB->commit_sql();
55     redirect($returnurl);
56 } else {
57     $PAGE->set_title(get_string('deleteselectedgroup', 'group'));
58     $PAGE->set_heading(get_string('deleteselectedgroup', 'group'));
59     echo $OUTPUT->header();
60     $optionsyes = array('courseid'=>$courseid, 'groups'=>$groupids, 'sesskey'=>sesskey(), 'confirm'=>1);
61     $optionsno = array('id'=>$courseid);
62     if(count($groupnames)==1) {
63         $message=get_string('deletegroupconfirm', 'group', $groupnames[0]);
64     } else {
65         $message=get_string('deletegroupsconfirm', 'group').'<ul>';
66         foreach($groupnames as $groupname) {
67             $message.='<li>'.$groupname.'</li>';
68         }
69         $message.='</ul>';
70     }
71     $formcontinue = html_form::make_button('delete.php', $optionsyes, get_string('yes'), 'post');
72     $formcancel = html_form::make_button('index.php', $optionsno, get_string('no'), 'get');
73     echo $OUTPUT->confirm($message, $formcontinue, $formcancel);
74     echo $OUTPUT->footer();
75 }
76 ?>