/** * 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 $id Scorm instance id * @return boolean */ function scorm_delete_instance($id) { global $CFG; if (!($scorm = get_record('scorm', 'id', $id))) { return false; } $result = true; $scorm->dir = $CFG->dataroot . '/' . $scorm->course . '/moddata/scorm'; if (is_dir($scorm->dir . '/' . $scorm->id)) { // Delete any dependent files require_once 'locallib.php'; scorm_delete_files($scorm->dir . '/' . $scorm->id); } // Delete any dependent records if (!delete_records('scorm_scoes_track', 'scormid', $scorm->id)) { $result = false; } if ($scoes = get_records('scorm_scoes', 'scorm', $scorm->id)) { foreach ($scoes as $sco) { if (!delete_records('scorm_scoes_data', 'scoid', $sco->id)) { $result = false; } } delete_records('scorm_scoes', 'scorm', $scorm->id); } else { $result = false; } if (!delete_records('scorm', 'id', $scorm->id)) { $result = false; } /*if (! delete_records('scorm_sequencing_controlmode', 'scormid', $scorm->id)) { $result = false; } if (! delete_records('scorm_sequencing_rolluprules', 'scormid', $scorm->id)) { $result = false; } if (! delete_records('scorm_sequencing_rolluprule', 'scormid', $scorm->id)) { $result = false; } if (! delete_records('scorm_sequencing_rollupruleconditions', 'scormid', $scorm->id)) { $result = false; } if (! delete_records('scorm_sequencing_rolluprulecondition', 'scormid', $scorm->id)) { $result = false; } if (! delete_records('scorm_sequencing_rulecondition', 'scormid', $scorm->id)) { $result = false; } if (! delete_records('scorm_sequencing_ruleconditions', 'scormid', $scorm->id)) { $result = false; }*/ scorm_grade_item_delete(stripslashes_recursive($scorm)); 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. * * @global stdClass * @global object * @param int $id Scorm instance id * @return boolean */ function scorm_delete_instance($id) { global $CFG, $DB; if (! $scorm = $DB->get_record('scorm', array('id' => $id))) { return false; } $result = true; // Delete any dependent records. if (! $DB->delete_records('scorm_scoes_track', array('scormid' => $scorm->id))) { $result = false; } if ($scoes = $DB->get_records('scorm_scoes', array('scorm' => $scorm->id))) { foreach ($scoes as $sco) { if (! $DB->delete_records('scorm_scoes_data', array('scoid' => $sco->id))) { $result = false; } } $DB->delete_records('scorm_scoes', array('scorm' => $scorm->id)); } if (! $DB->delete_records('scorm', array('id' => $scorm->id))) { $result = false; } /*if (! $DB->delete_records('scorm_sequencing_controlmode', array('scormid'=>$scorm->id))) { $result = false; } if (! $DB->delete_records('scorm_sequencing_rolluprules', array('scormid'=>$scorm->id))) { $result = false; } if (! $DB->delete_records('scorm_sequencing_rolluprule', array('scormid'=>$scorm->id))) { $result = false; } if (! $DB->delete_records('scorm_sequencing_rollupruleconditions', array('scormid'=>$scorm->id))) { $result = false; } if (! $DB->delete_records('scorm_sequencing_rolluprulecondition', array('scormid'=>$scorm->id))) { $result = false; } if (! $DB->delete_records('scorm_sequencing_rulecondition', array('scormid'=>$scorm->id))) { $result = false; } if (! $DB->delete_records('scorm_sequencing_ruleconditions', array('scormid'=>$scorm->id))) { $result = false; }*/ scorm_grade_item_delete($scorm); return $result; }