diff --git a/mod/forum/index.php b/mod/forum/index.php index a64567b0a8c..6eb49a092ff 100644 --- a/mod/forum/index.php +++ b/mod/forum/index.php @@ -201,7 +201,7 @@ if (!is_null($subscribe)) { } } } - $returnto = forum_go_back_to("index.php?id=$course->id"); + $returnto = forum_go_back_to(new moodle_url('/mod/forum/index.php', array('id' => $course->id))); $shortname = format_string($course->shortname, true, array('context' => context_course::instance($course->id))); if ($subscribe) { redirect($returnto, get_string('nowallsubscribed', 'forum', $shortname), 1); diff --git a/mod/forum/lib.php b/mod/forum/lib.php index 7259b435b01..42f6db39301 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -3992,7 +3992,7 @@ function forum_set_return() { /** * @global object - * @param string $default + * @param string|\moodle_url $default * @return string */ function forum_go_back_to($default) { diff --git a/mod/forum/markposts.php b/mod/forum/markposts.php index 1706c6a1585..382b41f1f83 100644 --- a/mod/forum/markposts.php +++ b/mod/forum/markposts.php @@ -57,9 +57,9 @@ $user = $USER; require_login($course, false, $cm); if ($returnpage == 'index.php') { - $returnto = forum_go_back_to($returnpage.'?id='.$course->id); + $returnto = forum_go_back_to(new moodle_url("/mod/forum/$returnpage", array('id' => $course->id))); } else { - $returnto = forum_go_back_to($returnpage.'?f='.$forum->id); + $returnto = forum_go_back_to(new moodle_url("/mod/forum/$returnpage", array('f' => $forum->id))); } if (isguestuser()) { // Guests can't change forum diff --git a/mod/forum/post.php b/mod/forum/post.php index 6e3f5e6517d..aa132bd345d 100644 --- a/mod/forum/post.php +++ b/mod/forum/post.php @@ -319,22 +319,22 @@ if (!empty($forum)) { // User is starting a new discussion in a forum $timepassed = time() - $post->created; if (($timepassed > $CFG->maxeditingtime) && !has_capability('mod/forum:deleteanypost', $modcontext)) { print_error("cannotdeletepost", "forum", - forum_go_back_to("discuss.php?d=$post->discussion")); + forum_go_back_to(new moodle_url("/mod/forum/discuss.php", array('d' => $post->discussion)))); } if ($post->totalscore) { notice(get_string('couldnotdeleteratings', 'rating'), - forum_go_back_to("discuss.php?d=$post->discussion")); + forum_go_back_to(new moodle_url("/mod/forum/discuss.php", array('d' => $post->discussion)))); } else if ($replycount && !has_capability('mod/forum:deleteanypost', $modcontext)) { print_error("couldnotdeletereplies", "forum", - forum_go_back_to("discuss.php?d=$post->discussion")); + forum_go_back_to(new moodle_url("/mod/forum/discuss.php", array('d' => $post->discussion)))); } else { if (! $post->parent) { // post is a discussion topic as well, so delete discussion if ($forum->type == 'single') { notice("Sorry, but you are not allowed to delete that discussion!", - forum_go_back_to("discuss.php?d=$post->discussion")); + forum_go_back_to(new moodle_url("/mod/forum/discuss.php", array('d' => $post->discussion)))); } forum_delete_discussion($discussion, false, $course, $cm, $forum); @@ -359,9 +359,9 @@ if (!empty($forum)) { // User is starting a new discussion in a forum // Single discussion forums are an exception. We show // the forum itself since it only has one discussion // thread. - $discussionurl = "view.php?f=$forum->id"; + $discussionurl = new moodle_url("/mod/forum/view.php", array('f' => $forum->id)); } else { - $discussionurl = "discuss.php?d=$post->discussion"; + $discussionurl = new moodle_url("/mod/forum/discuss.php", array('d' => $discussion->id)); } $params = array( @@ -399,7 +399,7 @@ if (!empty($forum)) { // User is starting a new discussion in a forum if ($replycount) { if (!has_capability('mod/forum:deleteanypost', $modcontext)) { print_error("couldnotdeletereplies", "forum", - forum_go_back_to("discuss.php?d=$post->discussion")); + forum_go_back_to(new moodle_url('/mod/forum/discuss.php', array('d' => $post->discussion), 'p'.$post->id))); } echo $OUTPUT->header(); echo $OUTPUT->heading(format_string($forum->name), 2); @@ -461,7 +461,7 @@ if (!empty($forum)) { // User is starting a new discussion in a forum if ($prunemform->is_cancelled()) { - redirect(forum_go_back_to("discuss.php?d=$post->discussion")); + redirect(forum_go_back_to(new moodle_url("/mod/forum/discuss.php", array('d' => $post->discussion)))); } else if ($fromform = $prunemform->get_data()) { // User submits the data. $newdiscussion = new stdClass(); @@ -525,7 +525,7 @@ if (!empty($forum)) { // User is starting a new discussion in a forum $event->add_record_snapshot('forum_discussions', $discussion); $event->trigger(); - redirect(forum_go_back_to("discuss.php?d=$newid")); + redirect(forum_go_back_to(new moodle_url("/mod/forum/discuss.php", array('d' => $newid)))); } else { // Display the prune form. @@ -764,9 +764,9 @@ if ($mform_post->is_cancelled()) { // Single discussion forums are an exception. We show // the forum itself since it only has one discussion // thread. - $discussionurl = "view.php?f=$forum->id"; + $discussionurl = new moodle_url("/mod/forum/view.php", array('f' => $forum->id)); } else { - $discussionurl = "discuss.php?d=$discussion->id#p$fromform->id"; + $discussionurl = new moodle_url("/mod/forum/discuss.php", array('d' => $discussion->id), 'p' . $fromform->id); } $params = array( @@ -787,7 +787,7 @@ if ($mform_post->is_cancelled()) { $event->add_record_snapshot('forum_discussions', $discussion); $event->trigger(); - redirect(forum_go_back_to("$discussionurl"), $message.$subscribemessage, $timemessage); + redirect(forum_go_back_to($discussionurl), $message.$subscribemessage, $timemessage); exit; @@ -822,9 +822,9 @@ if ($mform_post->is_cancelled()) { // Single discussion forums are an exception. We show // the forum itself since it only has one discussion // thread. - $discussionurl = "view.php?f=$forum->id"; + $discussionurl = new moodle_url("/mod/forum/view.php", array('f' => $forum->id), 'p'.$fromform->id); } else { - $discussionurl = "discuss.php?d=$discussion->id"; + $discussionurl = new moodle_url("/mod/forum/discuss.php", array('d' => $discussion->id), 'p'.$fromform->id); } $params = array( @@ -848,7 +848,7 @@ if ($mform_post->is_cancelled()) { $completion->update_state($cm,COMPLETION_COMPLETE); } - redirect(forum_go_back_to("$discussionurl#p$fromform->id"), $message.$subscribemessage, $timemessage); + redirect(forum_go_back_to($discussionurl), $message.$subscribemessage, $timemessage); } else { print_error("couldnotadd", "forum", $errordestination); diff --git a/mod/forum/settracking.php b/mod/forum/settracking.php index ee062bce160..7440a4a59c9 100644 --- a/mod/forum/settracking.php +++ b/mod/forum/settracking.php @@ -43,8 +43,8 @@ if (! $cm = get_coursemodule_from_instance("forum", $forum->id, $course->id)) { print_error('invalidcoursemodule'); } require_login($course, false, $cm); - -$returnto = forum_go_back_to($returnpage.'?id='.$course->id.'&f='.$forum->id); +$returnpageurl = new moodle_url('/mod/forum/' . $returnpage, array('id' => $course->id, 'f' => $forum->id)); +$returnto = forum_go_back_to($returnpageurl); if (!forum_tp_can_track_forums($forum)) { redirect($returnto); @@ -77,6 +77,4 @@ if (forum_tp_is_tracked($forum) ) { } else { print_error('cannottrack', '', get_local_referer(false)); } -} - - +} \ No newline at end of file