/** * Given an object containing all the necessary data, * (defined by the form in mod.html) this function * will update an existing instance with new data. * * @param object $instance An object from the form in mod.html * @return boolean Success/Fail **/ function lti_update_instance($lti, $mform) { global $DB, $CFG; require_once $CFG->dirroot . '/mod/lti/locallib.php'; lti_load_tool_if_cartridge($lti); $lti->timemodified = time(); $lti->id = $lti->instance; if (!isset($lti->showtitlelaunch)) { $lti->showtitlelaunch = 0; } if (!isset($lti->showdescriptionlaunch)) { $lti->showdescriptionlaunch = 0; } lti_force_type_config_settings($lti, lti_get_type_config_by_instance($lti)); if (isset($lti->instructorchoiceacceptgrades) && $lti->instructorchoiceacceptgrades == LTI_SETTING_ALWAYS) { lti_grade_item_update($lti); } else { // Instance is no longer accepting grades from Provider, set grade to "No grade" value 0. $lti->grade = 0; $lti->instructorchoiceacceptgrades = 0; lti_grade_item_delete($lti); } if ($lti->typeid == 0 && isset($lti->urlmatchedtypeid)) { $lti->typeid = $lti->urlmatchedtypeid; } return $DB->update_record('lti', $lti); }
/** * Tests lti_load_tool_from_cartridge and lti_load_tool_if_cartridge */ public function test_lti_load_tool_from_cartridge() { $lti = new stdClass(); $lti->toolurl = $this->getExternalTestFileUrl('/ims_cartridge_basic_lti_link.xml'); lti_load_tool_if_cartridge($lti); $this->assertEquals('Example tool', $lti->name); $this->assertEquals('Example tool description', $lti->intro); $this->assertEquals('http://www.example.com/lti/provider.php', $lti->toolurl); $this->assertEquals('https://www.example.com/lti/provider.php', $lti->securetoolurl); $this->assertEquals('http://download.moodle.org/unittest/test.jpg', $lti->icon); $this->assertEquals('https://download.moodle.org/unittest/test.jpg', $lti->secureicon); }