/** * Returns general link or file embedding html. * * @param string $fullurl * @param string $clicktoopen * @param string $mimetype * @return string html */ function equella_select_dialog($args) { global $CFG, $PAGE; $equrl = equella_build_integration_url($args); if ($CFG->equella_enable_lti) { $args->action = 'select'; $launchurl = new moodle_url('/mod/equella/ltilaunch.php', (array) $args); $objecturl = $launchurl->out(false); } else { if ($CFG->equella_action == EQUELLA_ACTION_STRUCTURED) { $redirecturl = new moodle_url('/mod/equella/redirectselection.php', array('equellaurl' => $equrl->out(false), 'courseid' => $args->course, 'sectionid' => $args->section)); $objecturl = $redirecturl->out(false); } else { $objecturl = $equrl->out(false); } } $equellatitle = get_string('chooseeqeullaresources', 'mod_equella'); $equellacontainer = 'equellacontainer'; $cancel = get_string('cancel'); $cancelurl = new moodle_url('/course/view.php', array('id' => $args->course)); $link = html_writer::link($cancelurl, $cancel); $html = <<<EOF <div> <button id="openequellachooser">{$equellatitle}</button> {$link} </div> EOF; $PAGE->requires->js_init_call('M.mod_equella.display_equella', array($equellacontainer, 880, 600, $equellatitle, $objecturl), true); return $html; }
} // Update 'viewed' state if required by completion system $completion = new completion_info($course); $completion->set_module_viewed($cm); echo '<html><body>'; echo equella_lti_launch_form($equella->url, $params); echo '</body></html>'; } elseif ($action == 'select') { $args = new stdClass(); $args->course = required_param('course', PARAM_INT); $args->section = required_param('section', PARAM_INT); $course = $DB->get_record('course', array('id' => $args->course), '*', MUST_EXIST); $context = context_course::instance($args->course); $PAGE->set_context($context); require_capability('moodle/course:manageactivities', $context); $url = equella_build_integration_url($args, false); $extraparams = $url->params(); if ($CFG->equella_action == EQUELLA_ACTION_STRUCTURED) { $contents = equella_get_course_contents($course->id, $args->section); $json = json_encode($contents); $extraparams['structure'] = $json; } $equella = new stdClass(); $equella->id = 0; $equella->course = $args->course; $equella->url = $CFG->equella_url; $params = equella_lti_params($equella, $course, $extraparams); echo '<html><body>'; echo equella_lti_launch_form($equella->url, $params); echo '</body></html>'; }