From: mattc-catalyst <mattc-catalyst>
Date: Mon, 27 Aug 2007 03:56:39 +0000 (+0000)
Subject: MDL-10888: groupings - mod/quiz - add groupings support
X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=5ada3c8e3aa858d7e11ccf5e92cbad78f813d691;p=moodle.git

MDL-10888: groupings - mod/quiz - add groupings support
---

diff --git a/mod/quiz/locallib.php b/mod/quiz/locallib.php
index 69eabbae77..3c22841c0e 100644
--- a/mod/quiz/locallib.php
+++ b/mod/quiz/locallib.php
@@ -881,7 +881,7 @@ function quiz_send_notification_emails($course, $quiz, $attempt, $context, $cm)
     // check for notifications required
     $notifyfields = 'u.id, u.username, u.firstname, u.lastname, u.email, u.emailstop, u.lang, u.timezone, u.mailformat, u.maildisplay';
     $userstonotify = get_users_by_capability($context, 'mod/quiz:emailnotifysubmission',
-            $notifyfields, '', '', '', groups_get_all_groups($course->id, $USER->id),
+            $notifyfields, '', '', '', array_keys(groups_get_all_groups($course->id, $USER->id)),
             $notifyexcludeusers, false, false, true);
 
     // if something to send, then build $a
diff --git a/mod/quiz/mod_form.php b/mod/quiz/mod_form.php
index 7e00a757ff..f42170c2ac 100644
--- a/mod/quiz/mod_form.php
+++ b/mod/quiz/mod_form.php
@@ -211,7 +211,11 @@ class mod_quiz_mod_form extends moodleform_mod {
         $mform->setDefault('subnet', $CFG->quiz_subnet);
 
 //-------------------------------------------------------------------------------
-        $this->standard_coursemodule_elements();
+        $features = new stdClass;
+        $features->groups = true;
+        $features->groupings = true;
+        $features->groupmembersonly = true;
+        $this->standard_coursemodule_elements($features);
 //-------------------------------------------------------------------------------
         $mform->addElement('header', 'overallfeedbackhdr', get_string('overallfeedback', 'quiz'));
         $mform->setHelpButton('overallfeedbackhdr', array('overallfeedback', get_string('overallfeedback', 'quiz'), 'quiz'));
diff --git a/mod/quiz/report/analysis/report.php b/mod/quiz/report/analysis/report.php
index 6c74d9e8ef..0011c27a31 100644
--- a/mod/quiz/report/analysis/report.php
+++ b/mod/quiz/report/analysis/report.php
@@ -22,14 +22,12 @@ class quiz_report extends quiz_default_report {
         }
 
     /// Check to see if groups are being used in this quiz
-        if ($groupmode = groupmode($course, $cm)) {   // Groups are being used
+        $currentgroup = groups_get_activity_group($cm, true);
+        
+        if ($groupmode = groups_get_activity_groupmode($cm)) {   // Groups are being used
             if (!$download) {
-                $currentgroup = setup_and_print_groups($course, $groupmode, "report.php?id=$cm->id&amp;mode=analysis");
-            } else {
-                $currentgroup = get_and_set_current_group($course, $groupmode);
+                groups_print_activity_menu($cm, "report.php?id=$cm->id&amp;mode=analysis");
             }
-        } else {
-            $currentgroup = get_and_set_current_group($course, $groupmode);
         }
 
         // set Table and Analysis stats options
diff --git a/mod/quiz/report/overview/report.php b/mod/quiz/report/overview/report.php
index 039bc20ac5..e8181e4180 100644
--- a/mod/quiz/report/overview/report.php
+++ b/mod/quiz/report/overview/report.php
@@ -67,14 +67,12 @@ class quiz_report extends quiz_default_report {
         }
 
         /// find out current groups mode
-        if ($groupmode = groupmode($course, $cm)) { // Groups are being used
+        $currentgroup = groups_get_activity_group($cm, true);
+        
+        if ($groupmode = groups_get_activity_groupmode($cm)) {   // Groups are being used
             if (!$download) {
-                $currentgroup = setup_and_print_groups($course, $groupmode, $reporturlwithoptions);
-            } else {
-                $currentgroup = get_and_set_current_group($course, $groupmode);
+                groups_print_activity_menu($cm, $reporturlwithoptions);
             }
-        } else {
-            $currentgroup = get_and_set_current_group($course, $groupmode);
         }
 
         $hasfeedback = quiz_has_feedback($quiz->id) && $quiz->grade > 1.e-7 && $quiz->sumgrades > 1.e-7;