From 6d29cccf04583f696a7cc2fe0becfb53be976bb7 Mon Sep 17 00:00:00 2001 From: Mark Nelson Date: Thu, 3 Aug 2017 13:48:59 +0800 Subject: [PATCH] MDL-59668 mod_lti: use 'forceview' param to keep nav flow consistent Part of MDL-59313. --- mod/lti/view.php | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/mod/lti/view.php b/mod/lti/view.php index 3b90377fdd1..224b219c6bf 100644 --- a/mod/lti/view.php +++ b/mod/lti/view.php @@ -53,6 +53,7 @@ require_once($CFG->dirroot.'/mod/lti/locallib.php'); $id = optional_param('id', 0, PARAM_INT); // Course Module ID, or $l = optional_param('l', 0, PARAM_INT); // lti ID. +$forceview = optional_param('forceview', 0, PARAM_BOOL); if ($l) { // Two ways to specify the module. $lti = $DB->get_record('lti', array('id' => $l), '*', MUST_EXIST); @@ -89,7 +90,10 @@ if ($launchcontainer == LTI_LAUNCH_CONTAINER_EMBED_NO_BLOCKS) { $PAGE->set_pagelayout('frametop'); // Most frametops don't include footer, and pre-post blocks. $PAGE->blocks->show_only_fake_blocks(); // Disable blocks for layouts which do include pre-post blocks. } else if ($launchcontainer == LTI_LAUNCH_CONTAINER_REPLACE_MOODLE_WINDOW) { - redirect('launch.php?id=' . $cm->id); + if (!$forceview) { + $url = new moodle_url('/mod/lti/launch.php', array('id' => $cm->id)); + redirect($url); + } } else { $PAGE->set_pagelayout('incourse'); } @@ -113,11 +117,13 @@ if ($lti->showdescriptionlaunch && $lti->intro) { } if ( $launchcontainer == LTI_LAUNCH_CONTAINER_WINDOW ) { - echo "\n"; - echo "

".get_string("basiclti_in_new_window", "lti")."

\n"; + if (!$forceview) { + echo "\n"; + echo "

".get_string("basiclti_in_new_window", "lti")."

\n"; + } $url = new moodle_url('/mod/lti/launch.php', array('id' => $cm->id)); echo html_writer::start_tag('p'); echo html_writer::link($url, get_string("basiclti_in_new_window_open", "lti"), array('target' => '_blank'));