/** * Delete a tool type. * * @param int $id The id of the tool type to be deleted * @return array deleted tool type * @since Moodle 3.1 * @throws moodle_exception */ public static function delete_tool_type($id) { $params = self::validate_parameters(self::delete_tool_type_parameters(), array('id' => $id)); $id = $params['id']; $context = context_system::instance(); self::validate_context($context); require_capability('moodle/site:config', $context); $type = lti_get_type($id); if (!empty($type)) { lti_delete_type($id); // If this is the last type for this proxy then remove the proxy // as well so that it isn't orphaned. $types = lti_get_lti_types_from_proxy_id($type->toolproxyid); if (empty($types)) { lti_delete_tool_proxy($type->toolproxyid); } } return array('id' => $id); }
$isupdate = !empty($id); $pageurl = new moodle_url('/mod/lti/registersettings.php'); if ($isupdate) { $pageurl->param('id', $id); } $PAGE->set_url($pageurl); admin_externalpage_setup('ltitoolproxies'); $redirect = new moodle_url('/mod/lti/toolproxies.php', array('tab' => $tab)); $redirect = $redirect->out(); require_sesskey(); if ($action == 'delete') { lti_delete_tool_proxy($id); redirect($redirect); } $data = array(); if ($isupdate) { $data['isupdate'] = true; } $form = new mod_lti_register_types_form($pageurl, (object)$data); if ($form->is_cancelled()) { redirect($redirect); } else if ($data = $form->get_data()) { $id = lti_add_tool_proxy($data); redirect($redirect);