From: Sam Marshall Date: Mon, 30 Nov 2009 17:12:48 +0000 (+0000) Subject: MDL-21009 Group selector must use absolute links in order to work with javascript off X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=f1035deb97d62e584098c06a1826719a9c368c17;p=moodle.git MDL-21009 Group selector must use absolute links in order to work with javascript off --- diff --git a/lib/grouplib.php b/lib/grouplib.php index 3ac97fef8d..07fe867776 100644 --- a/lib/grouplib.php +++ b/lib/grouplib.php @@ -500,7 +500,7 @@ function groups_print_course_menu($course, $urlroot, $return=false) { * @global object * @param object $cm course module object * @param string $urlroot return address that users get to if they choose an option; - * should include any parameters needed, e.g. 'view.php?id=34' + * should include any parameters needed, e.g. "$CFG->wwwroot/mod/forum/view.php?id=34" * @param boolean $return return as string instead of printing * @param boolean $hideallparticipants If true, this prevents the 'All participants' * option from appearing in cases where it normally would. This is intended for @@ -513,6 +513,15 @@ function groups_print_course_menu($course, $urlroot, $return=false) { function groups_print_activity_menu($cm, $urlroot, $return=false, $hideallparticipants=false) { global $CFG, $USER, $SESSION, $OUTPUT; + // Display error if urlroot is not absolute (this causes the non-JS version + // to break) + if (strpos($urlroot, 'http') !== 0) { // Will also work for https + debugging('groups_print_activity_menu requires absolute URL for ' . + '$urlroot, not ' . s($urlroot) . '. Example: ' . + 'groups_print_activity_menu($cm, $CFG->wwwroot . \'/mod/mymodule/view.php?id=13\');', + DEBUG_DEVELOPER); + } + // groupings are ignored when not enabled if (empty($CFG->enablegroupings)) { $cm->groupingid = 0; diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php index 864756a90d..a7e3c28d23 100644 --- a/mod/assignment/lib.php +++ b/mod/assignment/lib.php @@ -192,7 +192,7 @@ class assignment_base { echo $OUTPUT->header(); - groups_print_activity_menu($this->cm, 'view.php?id=' . $this->cm->id); + groups_print_activity_menu($this->cm, $CFG->wwwroot . '/mod/assignment/view.php?id=' . $this->cm->id); echo ''; echo '
'; @@ -1148,7 +1148,7 @@ class assignment_base { /// find out current groups mode $groupmode = groups_get_activity_groupmode($cm); $currentgroup = groups_get_activity_group($cm, true); - groups_print_activity_menu($cm, 'submissions.php?id=' . $this->cm->id); + groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/assignment/submissions.php?id=' . $this->cm->id); /// Get all ppl that are allowed to submit assignments if ($users = get_users_by_capability($context, 'mod/assignment:submit', 'u.id', '', '', '', $currentgroup, '', false)) { diff --git a/mod/chat/report.php b/mod/chat/report.php index cd3081d26f..85337c76a8 100644 --- a/mod/chat/report.php +++ b/mod/chat/report.php @@ -61,7 +61,7 @@ /// Check to see if groups are being used here $groupmode = groups_get_activity_groupmode($cm); $currentgroup = groups_get_activity_group($cm, true); - groups_print_activity_menu($cm, "report.php?id=$cm->id"); + groups_print_activity_menu($cm, $CFG->wwwroot . "/mod/chat/report.php?id=$cm->id"); $params = array('currentgroup'=>$currentgroup, 'chatid'=>$chat->id, 'start'=>$start, 'end'=>$end); @@ -128,7 +128,7 @@ /// Check to see if groups are being used here if ($groupmode = groups_get_activity_groupmode($cm)) { // Groups are being used $currentgroup = groups_get_activity_group($cm, true); - groups_print_activity_menu($cm, "report.php?id=$cm->id"); + groups_print_activity_menu($cm, $CFG->wwwroot . "/mod/chat/report.php?id=$cm->id"); } else { $currentgroup = false; } diff --git a/mod/chat/view.php b/mod/chat/view.php index 4888de15ac..2219811c9f 100644 --- a/mod/chat/view.php +++ b/mod/chat/view.php @@ -89,7 +89,7 @@ /// Check to see if groups are being used here $groupmode = groups_get_activity_groupmode($cm); $currentgroup = groups_get_activity_group($cm, true); - groups_print_activity_menu($cm, "view.php?id=$cm->id"); + groups_print_activity_menu($cm, $CFG->wwwroot . "/mod/chat/view.php?id=$cm->id"); if ($currentgroup) { $groupselect = " AND groupid = '$currentgroup'"; diff --git a/mod/choice/report.php b/mod/choice/report.php index 3d0cefc12f..7812ea3667 100644 --- a/mod/choice/report.php +++ b/mod/choice/report.php @@ -59,7 +59,7 @@ $groupmode = groups_get_activity_groupmode($cm); if ($groupmode) { groups_get_activity_group($cm, true); - groups_print_activity_menu($cm, 'report.php?id='.$id); + groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/choice/report.php?id='.$id); } } else { $groupmode = groups_get_activity_groupmode($cm); diff --git a/mod/choice/view.php b/mod/choice/view.php index 9c37459dca..c8ebe40b46 100644 --- a/mod/choice/view.php +++ b/mod/choice/view.php @@ -74,7 +74,7 @@ if ($groupmode) { groups_get_activity_group($cm, true); - groups_print_activity_menu($cm, 'view.php?id='.$id); + groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/choice/view.php?id='.$id); } $allresponses = choice_get_response_data($choice, $cm, $groupmode); // Big function, approx 6 SQL calls per user diff --git a/mod/data/edit.php b/mod/data/edit.php index 8e1a5cf4f7..ffafe10ee9 100755 --- a/mod/data/edit.php +++ b/mod/data/edit.php @@ -135,7 +135,7 @@ $PAGE->set_button($OUTPUT->update_module_button($cm->id, 'data')); echo $OUTPUT->header(); /// Check to see if groups are being used here -groups_print_activity_menu($cm, 'edit.php?d='.$data->id); +groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/data/edit.php?d='.$data->id); $currentgroup = groups_get_activity_group($cm); $groupmode = groups_get_activity_groupmode($cm); diff --git a/mod/data/view.php b/mod/data/view.php index 7970172417..d52b72d607 100755 --- a/mod/data/view.php +++ b/mod/data/view.php @@ -301,7 +301,7 @@ echo $OUTPUT->header(); /// Check to see if groups are being used here - $returnurl = 'view.php?d='.$data->id.'&search='.s($search).'&sort='.s($sort).'&order='.s($order).'&'; + $returnurl = $CFG->wwwroot . '/mod/data/view.php?d='.$data->id.'&search='.s($search).'&sort='.s($sort).'&order='.s($order).'&'; groups_print_activity_menu($cm, $returnurl); $currentgroup = groups_get_activity_group($cm); $groupmode = groups_get_activity_groupmode($cm); diff --git a/mod/feedback/analysis.php b/mod/feedback/analysis.php index 10141718db..46ccb98554 100644 --- a/mod/feedback/analysis.php +++ b/mod/feedback/analysis.php @@ -76,7 +76,7 @@ include('tabs.php'); echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide'); //get the groupid -$groupselect = groups_print_activity_menu($cm, 'analysis.php?id=' . $cm->id.'&do_show=analysis', true); +$groupselect = groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/feedback/analysis.php?id=' . $cm->id.'&do_show=analysis', true); $mygroupid = groups_get_activity_group($cm); if( $capabilities->viewreports ) { diff --git a/mod/feedback/show_entries.php b/mod/feedback/show_entries.php index b5d5cc84f4..074db2878c 100644 --- a/mod/feedback/show_entries.php +++ b/mod/feedback/show_entries.php @@ -94,7 +94,7 @@ if($do_show == 'showentries'){ $groupmode = $course->groupmode; } - $groupselect = groups_print_activity_menu($cm, 'show_entries.php?id=' . $cm->id.'&do_show=showentries', true); + $groupselect = groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/feedback/show_entries.php?id=' . $cm->id.'&do_show=showentries', true); $mygroupid = groups_get_activity_group($cm); //get students in conjunction with groupmode diff --git a/mod/forum/subscribers.php b/mod/forum/subscribers.php index ddf802b02f..f3e50e72a6 100644 --- a/mod/forum/subscribers.php +++ b/mod/forum/subscribers.php @@ -58,7 +58,7 @@ if (has_capability('mod/forum:managesubscriptions', $context)) { echo $OUTPUT->header(); /// Check to see if groups are being used in this forum -groups_print_activity_menu($cm, "subscribers.php?id=$forum->id"); +groups_print_activity_menu($cm, $CFG->wwwroot . "/mod/forum/subscribers.php?id=$forum->id"); $currentgroup = groups_get_activity_group($cm); $groupmode = groups_get_activity_groupmode($cm); diff --git a/mod/forum/view.php b/mod/forum/view.php index 050993160c..c0bf599376 100644 --- a/mod/forum/view.php +++ b/mod/forum/view.php @@ -92,7 +92,7 @@ } /// find out current groups mode - groups_print_activity_menu($cm, 'view.php?id=' . $cm->id); + groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/forum/view.php?id=' . $cm->id); $currentgroup = groups_get_activity_group($cm); $groupmode = groups_get_activity_groupmode($cm); diff --git a/mod/survey/report.php b/mod/survey/report.php index 7de4822d3b..8763493b4e 100644 --- a/mod/survey/report.php +++ b/mod/survey/report.php @@ -126,7 +126,7 @@ if ($groupmode = groups_get_activity_groupmode($cm)) { // Groups are being used $menuaction = $action == "student" ? "students" : $action; $currentgroup = groups_get_activity_group($cm, true); - groups_print_activity_menu($cm, "report.php?id=$cm->id&action=$menuaction&qid=$qid"); + groups_print_activity_menu($cm, $CFG->wwwroot . "/mod/survey/report.php?id=$cm->id&action=$menuaction&qid=$qid"); } else { $currentgroup = 0; }