. /** * This file contains all necessary code to view a basiclti activity instance * * @package lti * @copyright 2009 Marc Alier, Jordi Piguillem, Nikolas Galanis * marc.alier@upc.edu * @copyright 2009 Universitat Politecnica de Catalunya http://www.upc.edu * * @author Marc Alier * @author Jordi Piguillem * @author Nikolas Galanis * * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once('../../config.php'); require_once($CFG->dirroot.'/mod/lti/lib.php'); require_once($CFG->dirroot.'/mod/lti/locallib.php'); $id = optional_param('id', 0, PARAM_INT); // Course Module ID, or $a = optional_param('a', 0, PARAM_INT); // lti ID if ($id) { if (! $cm = get_coursemodule_from_id("lti", $id)) { throw new moodle_exception('generalexceptionmessage', 'error', '', 'Course Module ID was incorrect'); } if (! $course = $DB->get_record("course", array("id" => $cm->course))) { throw new moodle_exception('generalexceptionmessage', 'error', '', 'Course is misconfigured'); } if (! $basiclti = $DB->get_record("lti", array("id" => $cm->instance))) { throw new moodle_exception('generalexceptionmessage', 'error', '', 'Course module is incorrect'); } } else { if (! $basiclti = $DB->get_record("lti", array("id" => $a))) { throw new moodle_exception('generalexceptionmessage', 'error', '', 'Course module is incorrect'); } if (! $course = $DB->get_record("course", array("id" => $basiclti->course))) { throw new moodle_exception('generalexceptionmessage', 'error', '', 'Course is misconfigured'); } if (! $cm = get_coursemodule_from_instance("lti", $basiclti->id, $course->id)) { throw new moodle_exception('generalexceptionmessage', 'error', '', 'Course Module ID was incorrect'); } } $tool = lti_get_tool_by_url_match($basiclti->toolurl); if($tool){ $toolconfig = lti_get_type_config($tool->id); } else { $toolconfig = array('launchcontainer' => LTI_LAUNCH_CONTAINER_EMBED_NO_BLOCKS); } $PAGE->set_cm($cm, $course); // set's up global $COURSE $context = get_context_instance(CONTEXT_MODULE, $cm->id); $PAGE->set_context($context); $url = new moodle_url('/mod/lti/view.php', array('id'=>$cm->id)); $PAGE->set_url($url); $launchcontainer = $basiclti->launchcontainer == LTI_LAUNCH_CONTAINER_DEFAULT ? $toolconfig['launchcontainer'] : $basiclti->launchcontainer; 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 { $PAGE->set_pagelayout('incourse'); } require_login($course); add_to_log($course->id, "lti", "view", "view.php?id=$cm->id", "$basiclti->id"); $pagetitle = strip_tags($course->shortname.': '.format_string($basiclti->name)); $PAGE->set_title($pagetitle); $PAGE->set_heading($course->fullname); /// Print the page header echo $OUTPUT->header(); if($basiclti->showtitle) { /// Print the main part of the page echo $OUTPUT->heading(format_string($basiclti->name)); } if($basiclti->showdescription && $basiclti->intro){ echo $OUTPUT->box($basiclti->intro, 'generalbox description', 'intro'); } if ($basiclti->instructorchoiceacceptgrades == 1) { echo '
".get_string("basiclti_in_new_window", "lti")."
\n"; } else { // Request the launch content with an object tag echo ''; //Output script to make the object tag be as large as possible $resize = <<<'SCRIPT' SCRIPT; echo $resize; } /// Finish the page echo $OUTPUT->footer();