/** * Delete a record entry. * * @param int $recordid The ID for the record to be deleted. * @param object $data The data object for this activity. * @param int $courseid ID for the current course (for logging). * @param int $cmid The course module ID. * @return bool True if the record deleted, false if not. */ function data_delete_record($recordid, $data, $courseid, $cmid) { global $DB, $CFG; if ($deleterecord = $DB->get_record('data_records', array('id' => $recordid))) { if ($deleterecord->dataid == $data->id) { if ($contents = $DB->get_records('data_content', array('recordid' => $deleterecord->id))) { foreach ($contents as $content) { if ($field = data_get_field_from_id($content->fieldid, $data)) { $field->delete_content($content->recordid); } } $DB->delete_records('data_content', array('recordid' => $deleterecord->id)); $DB->delete_records('data_records', array('id' => $deleterecord->id)); // Delete cached RSS feeds. if (!empty($CFG->enablerssfeeds)) { require_once $CFG->dirroot . '/mod/data/rsslib.php'; data_rss_delete_file($data); } // Trigger an event for deleting this record. $event = \mod_data\event\record_deleted::create(array('objectid' => $deleterecord->id, 'context' => context_module::instance($cmid), 'courseid' => $courseid, 'other' => array('dataid' => $deleterecord->dataid))); $event->add_record_snapshot('data_records', $deleterecord); $event->trigger(); return true; } } } return false; }
/** * Delete a record entry. * * @param int $recordid The ID for the record to be deleted. * @param object $data The data object for this activity. * @param int $courseid ID for the current course (for logging). * @param int $cmid The course module ID. * @return bool True if the record deleted, false if not. */ function data_delete_record($recordid, $data, $courseid, $cmid) { global $DB, $CFG; if ($deleterecord = $DB->get_record('data_records', array('id' => $recordid))) { if ($deleterecord->dataid == $data->id) { if ($contents = $DB->get_records('data_content', array('recordid' => $deleterecord->id))) { foreach ($contents as $content) { if ($field = data_get_field_from_id($content->fieldid, $data)) { $field->delete_content($content->recordid); } } $DB->delete_records('data_content', array('recordid' => $deleterecord->id)); $DB->delete_records('data_records', array('id' => $deleterecord->id)); add_to_log($courseid, 'data', 'record delete', "view.php?id={$cmid}", $data->id, $cmid); // Delete cached RSS feeds. if (!empty($CFG->enablerssfeeds)) { require_once $CFG->dirroot . '/mod/data/rsslib.php'; data_rss_delete_file($data); } return true; } } } return false; }