本文整理汇总了PHP中lti_get_launch_container函数的典型用法代码示例。如果您正苦于以下问题:PHP lti_get_launch_container函数的具体用法?PHP lti_get_launch_container怎么用?PHP lti_get_launch_container使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了lti_get_launch_container函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: lti_get_coursemodule_info
/**
* Given a coursemodule object, this function returns the extra
* information needed to print this activity in various places.
* For this module we just need to support external urls as
* activity icons
*
* @param stdClass $coursemodule
* @return cached_cm_info info
*/
function lti_get_coursemodule_info($coursemodule)
{
global $DB, $CFG;
require_once $CFG->dirroot . '/mod/lti/locallib.php';
if (!($lti = $DB->get_record('lti', array('id' => $coursemodule->instance), 'icon, secureicon, intro, introformat, name, typeid, toolurl, launchcontainer'))) {
return null;
}
$info = new cached_cm_info();
if ($coursemodule->showdescription) {
// Convert intro to html. Do not filter cached version, filters run at display time.
$info->content = format_module_intro('lti', $lti, $coursemodule->id, false);
}
if (!empty($lti->typeid)) {
$toolconfig = lti_get_type_config($lti->typeid);
} else {
if ($tool = lti_get_tool_by_url_match($lti->toolurl)) {
$toolconfig = lti_get_type_config($tool->id);
} else {
$toolconfig = array();
}
}
// We want to use the right icon based on whether the
// current page is being requested over http or https.
if (lti_request_is_using_ssl() && (!empty($lti->secureicon) || isset($toolconfig['secureicon']) && !empty($toolconfig['secureicon']))) {
if (!empty($lti->secureicon)) {
$info->iconurl = new moodle_url($lti->secureicon);
} else {
$info->iconurl = new moodle_url($toolconfig['secureicon']);
}
} else {
if (!empty($lti->icon)) {
$info->iconurl = new moodle_url($lti->icon);
} else {
if (isset($toolconfig['icon']) && !empty($toolconfig['icon'])) {
$info->iconurl = new moodle_url($toolconfig['icon']);
}
}
}
// Does the link open in a new window?
$launchcontainer = lti_get_launch_container($lti, $toolconfig);
if ($launchcontainer == LTI_LAUNCH_CONTAINER_WINDOW) {
$launchurl = new moodle_url('/mod/lti/launch.php', array('id' => $coursemodule->id));
$info->onclick = "window.open('" . $launchurl->out(false) . "', 'lti'); return false;";
}
$info->name = $lti->name;
return $info;
}
示例2: lti_view
/**
* Prints a Basic LTI activity
*
* $param int $basicltiid Basic LTI activity id
*/
function lti_view($instance) {
global $PAGE, $CFG;
if (empty($instance->typeid)) {
$tool = lti_get_tool_by_url_match($instance->toolurl, $instance->course);
if ($tool) {
$typeid = $tool->id;
} else {
$typeid = null;
}
} else {
$typeid = $instance->typeid;
}
if ($typeid) {
$typeconfig = lti_get_type_config($typeid);
} else {
//There is no admin configuration for this tool. Use configuration in the lti instance record plus some defaults.
$typeconfig = (array)$instance;
$typeconfig['sendname'] = $instance->instructorchoicesendname;
$typeconfig['sendemailaddr'] = $instance->instructorchoicesendemailaddr;
$typeconfig['customparameters'] = $instance->instructorcustomparameters;
$typeconfig['acceptgrades'] = $instance->instructorchoiceacceptgrades;
$typeconfig['allowroster'] = $instance->instructorchoiceallowroster;
$typeconfig['forcessl'] = '0';
}
//Default the organizationid if not specified
if (empty($typeconfig['organizationid'])) {
$urlparts = parse_url($CFG->wwwroot);
$typeconfig['organizationid'] = $urlparts['host'];
}
if (!empty($instance->resourcekey)) {
$key = $instance->resourcekey;
} else if (!empty($typeconfig['resourcekey'])) {
$key = $typeconfig['resourcekey'];
} else {
$key = '';
}
if (!empty($instance->password)) {
$secret = $instance->password;
} else if (!empty($typeconfig['password'])) {
$secret = $typeconfig['password'];
} else {
$secret = '';
}
$endpoint = !empty($instance->toolurl) ? $instance->toolurl : $typeconfig['toolurl'];
$endpoint = trim($endpoint);
//If the current request is using SSL and a secure tool URL is specified, use it
if (lti_request_is_using_ssl() && !empty($instance->securetoolurl)) {
$endpoint = trim($instance->securetoolurl);
}
//If SSL is forced, use the secure tool url if specified. Otherwise, make sure https is on the normal launch URL.
if ($typeconfig['forcessl'] == '1') {
if (!empty($instance->securetoolurl)) {
$endpoint = trim($instance->securetoolurl);
}
$endpoint = lti_ensure_url_is_https($endpoint);
} else {
if (!strstr($endpoint, '://')) {
$endpoint = 'http://' . $endpoint;
}
}
$orgid = $typeconfig['organizationid'];
$course = $PAGE->course;
$requestparams = lti_build_request($instance, $typeconfig, $course);
$launchcontainer = lti_get_launch_container($instance, $typeconfig);
$returnurlparams = array('course' => $course->id, 'launch_container' => $launchcontainer, 'instanceid' => $instance->id);
if ( $orgid ) {
$requestparams["tool_consumer_instance_guid"] = $orgid;
}
if (empty($key) || empty($secret)) {
$returnurlparams['unsigned'] = '1';
//Add the return URL. We send the launch container along to help us avoid frames-within-frames when the user returns
$url = new moodle_url('/mod/lti/return.php', $returnurlparams);
$returnurl = $url->out(false);
if ($typeconfig['forcessl'] == '1') {
$returnurl = lti_ensure_url_is_https($returnurl);
}
//.........这里部分代码省略.........
示例3: array
$lti = $DB->get_record('lti', array('id' => $cm->instance), '*', MUST_EXIST);
}
$course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST);
$tool = lti_get_tool_by_url_match($lti->toolurl);
if ($tool) {
$toolconfig = lti_get_type_config($tool->id);
} else {
$toolconfig = array();
}
$PAGE->set_cm($cm, $course);
// set's up global $COURSE
$context = context_module::instance($cm->id);
$PAGE->set_context($context);
$url = new moodle_url('/mod/lti/view.php', array('id' => $cm->id));
$PAGE->set_url($url);
$launchcontainer = lti_get_launch_container($lti, $toolconfig);
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);
} else {
$PAGE->set_pagelayout('incourse');
}
}
require_login($course);
// Mark viewed by user (if required).
$completion = new completion_info($course);
示例4: lti_get_launch_data
/**
* Return the launch data required for opening the external tool.
*
* @param stdClass $instance the external tool activity settings
* @return array the endpoint URL and parameters (including the signature)
* @since Moodle 3.0
*/
function lti_get_launch_data($instance)
{
global $PAGE, $CFG;
if (empty($instance->typeid)) {
$tool = lti_get_tool_by_url_match($instance->toolurl, $instance->course);
if ($tool) {
$typeid = $tool->id;
} else {
$typeid = null;
}
} else {
$typeid = $instance->typeid;
$tool = lti_get_type($typeid);
}
if ($typeid) {
$typeconfig = lti_get_type_config($typeid);
} else {
// There is no admin configuration for this tool. Use configuration in the lti instance record plus some defaults.
$typeconfig = (array) $instance;
$typeconfig['sendname'] = $instance->instructorchoicesendname;
$typeconfig['sendemailaddr'] = $instance->instructorchoicesendemailaddr;
$typeconfig['customparameters'] = $instance->instructorcustomparameters;
$typeconfig['acceptgrades'] = $instance->instructorchoiceacceptgrades;
$typeconfig['allowroster'] = $instance->instructorchoiceallowroster;
$typeconfig['forcessl'] = '0';
}
// Default the organizationid if not specified.
if (empty($typeconfig['organizationid'])) {
$urlparts = parse_url($CFG->wwwroot);
$typeconfig['organizationid'] = $urlparts['host'];
}
if (isset($tool->toolproxyid)) {
$toolproxy = lti_get_tool_proxy($tool->toolproxyid);
$key = $toolproxy->guid;
$secret = $toolproxy->secret;
} else {
$toolproxy = null;
if (!empty($instance->resourcekey)) {
$key = $instance->resourcekey;
} else {
if (!empty($typeconfig['resourcekey'])) {
$key = $typeconfig['resourcekey'];
} else {
$key = '';
}
}
if (!empty($instance->password)) {
$secret = $instance->password;
} else {
if (!empty($typeconfig['password'])) {
$secret = $typeconfig['password'];
} else {
$secret = '';
}
}
}
$endpoint = !empty($instance->toolurl) ? $instance->toolurl : $typeconfig['toolurl'];
$endpoint = trim($endpoint);
// If the current request is using SSL and a secure tool URL is specified, use it.
if (lti_request_is_using_ssl() && !empty($instance->securetoolurl)) {
$endpoint = trim($instance->securetoolurl);
}
// If SSL is forced, use the secure tool url if specified. Otherwise, make sure https is on the normal launch URL.
if (isset($typeconfig['forcessl']) && $typeconfig['forcessl'] == '1') {
if (!empty($instance->securetoolurl)) {
$endpoint = trim($instance->securetoolurl);
}
$endpoint = lti_ensure_url_is_https($endpoint);
} else {
if (!strstr($endpoint, '://')) {
$endpoint = 'http://' . $endpoint;
}
}
$orgid = $typeconfig['organizationid'];
$course = $PAGE->course;
$islti2 = isset($tool->toolproxyid);
$allparams = lti_build_request($instance, $typeconfig, $course, $typeid, $islti2);
if ($islti2) {
$requestparams = lti_build_request_lti2($tool, $allparams);
} else {
$requestparams = $allparams;
}
$requestparams = array_merge($requestparams, lti_build_standard_request($instance, $orgid, $islti2));
$customstr = '';
if (isset($typeconfig['customparameters'])) {
$customstr = $typeconfig['customparameters'];
}
$requestparams = array_merge($requestparams, lti_build_custom_parameters($toolproxy, $tool, $instance, $allparams, $customstr, $instance->instructorcustomparameters, $islti2));
$launchcontainer = lti_get_launch_container($instance, $typeconfig);
$returnurlparams = array('course' => $course->id, 'launch_container' => $launchcontainer, 'instanceid' => $instance->id, 'sesskey' => sesskey());
// Add the return URL. We send the launch container along to help us avoid frames-within-frames when the user returns.
$url = new \moodle_url('/mod/lti/return.php', $returnurlparams);
$returnurl = $url->out(false);
//.........这里部分代码省略.........