/** * Given an ID of an instance of this module, * this function will permanently delete the instance * and any data that depends on it. * * @global object * @param int $id forum instance id * @return bool success */ function forum_delete_instance($id) { global $DB; if (!$forum = $DB->get_record('forum', array('id'=>$id))) { return false; } if (!$cm = get_coursemodule_from_instance('forum', $forum->id)) { return false; } if (!$course = $DB->get_record('course', array('id'=>$cm->course))) { return false; } $context = context_module::instance($cm->id); // now get rid of all files $fs = get_file_storage(); $fs->delete_area_files($context->id); $result = true; if ($discussions = $DB->get_records('forum_discussions', array('forum'=>$forum->id))) { foreach ($discussions as $discussion) { if (!forum_delete_discussion($discussion, true, $course, $cm, $forum)) { $result = false; } } } if (!$DB->delete_records('forum_subscriptions', array('forum'=>$forum->id))) { $result = false; } forum_tp_delete_read_records(-1, -1, -1, $forum->id); if (!$DB->delete_records('forum', array('id'=>$forum->id))) { $result = false; } forum_grade_item_delete($forum); return $result; }
/** * Given an ID of an instance of this module, * this function will permanently delete the instance * and any data that depends on it. * @param int forum instance id * @return bool success */ function forum_delete_instance($id) { if (!($forum = get_record('forum', 'id', $id))) { return false; } $result = true; if ($discussions = get_records('forum_discussions', 'forum', $forum->id)) { foreach ($discussions as $discussion) { if (!forum_delete_discussion($discussion, true)) { $result = false; } } } if (!delete_records('forum_subscriptions', 'forum', $forum->id)) { $result = false; } forum_tp_delete_read_records(-1, -1, -1, $forum->id); if (!delete_records('forum', 'id', $forum->id)) { $result = false; } forum_grade_item_delete($forum); return $result; }