diff --git a/mod/lti/lib.php b/mod/lti/lib.php index 895532acf81..3a68d674be6 100644 --- a/mod/lti/lib.php +++ b/mod/lti/lib.php @@ -96,6 +96,10 @@ function lti_add_instance($lti, $mform) { $lti->timemodified = $lti->timecreated; $lti->servicesalt = uniqid('', true); + if ($lti->typeid == 0 && isset($lti->urlmatchedtypeid)) { + $lti->typeid = $lti->urlmatchedtypeid; + } + if (!isset($lti->grade)) { $lti->grade = 100; // TODO: Why is this harcoded here and default @ DB } @@ -146,6 +150,10 @@ function lti_update_instance($lti, $mform) { lti_grade_item_delete($lti); } + if ($lti->typeid == 0 && isset($lti->urlmatchedtypeid)) { + $lti->typeid = $lti->urlmatchedtypeid; + } + return $DB->update_record('lti', $lti); } diff --git a/mod/lti/mod_form.js b/mod/lti/mod_form.js index ace191a459d..aabce00bc93 100644 --- a/mod/lti/mod_form.js +++ b/mod/lti/mod_form.js @@ -170,6 +170,8 @@ self.toolTypeCache[selectedToolType] = toolInfo; } + Y.one('#id_urlmatchedtypeid').set('value', toolInfo.toolid); + continuation(toolInfo); } }); diff --git a/mod/lti/mod_form.php b/mod/lti/mod_form.php index fe517aec804..4adc15d99fb 100644 --- a/mod/lti/mod_form.php +++ b/mod/lti/mod_form.php @@ -119,6 +119,9 @@ class mod_lti_mod_form extends moodleform_mod { $mform->setAdvanced('securetoolurl'); $mform->addHelpButton('securetoolurl', 'secure_launch_url', 'lti'); + $mform->addElement('hidden', 'urlmatchedtypeid', '', array( 'id' => 'id_urlmatchedtypeid' )); + $mform->setType('urlmatchedtypeid', PARAM_INT); + $launchoptions=array(); $launchoptions[LTI_LAUNCH_CONTAINER_DEFAULT] = get_string('default', 'lti'); $launchoptions[LTI_LAUNCH_CONTAINER_EMBED] = get_string('embed', 'lti');